)\r
$.ajaxSetup({async: true})\r
loaded_manifest.init()\r
- t = new ManifestBase.Base('manifest', 'name', 'json', 'module_name')\r
- t.set_default()\r
+ loaded_manifest\r
class Pettanr extends Backbone.View \r
el: '#pettanr'\r
initialize: ->\r
class Manifest.Controller extends ManifestBase.Base\r
- _item_name = null\r
- _actions = null\r
- \r
- item_name: () ->\r
- _item_name\r
- \r
- actions: () ->\r
- _actions\r
\r
set_default: () ->\r
super()\r
- @json['item_name'] ||= Manifest.singularize(@name )\r
- @json['actions'] ||= {}\r
+ @json\r
+ @json.actions ||= {}\r
+ @json.item_name = Manifest.singularize(@name)\r
\r
init: () ->\r
super()\r
- _item_name = @json['item_name']\r
- _actions = ManifestBase.load_type_name_args this, @json, 'actions', Manifest.ControllerModule.ActionFactory\r
+ @item_name = @json.item_name\r
+ @actions = ManifestBase.load_type_name_args this, @json, 'actions', Manifest.ControllerModule.ActionFactory\r
\r
+ constructor: (manifest, name, json, module_name) ->\r
+ super(manifest, name, json, module_name)\r
+ \r
class Manifest.ControllerModule\r
\r
set_default: () ->\r
super()\r
- @args['item_name'] ||= @parent.item_name # not parent.name. follow singularized name\r
+ @args.item_name ||= @parent.item_name # not parent.name. follow singularized name\r
\r
init: () ->\r
super()\r
- @item_name = @args['item_name']\r
+ @item_name = @args.item_name\r
\r
\r
\r
set_default: () ->\r
super()\r
- @args['list_name'] ||= @name().replace(/^count_/, '')\r
+ @args.list_name ||= @name.replace(/^count_/, '')\r
\r
init: () ->\r
super()\r
- @list_name = @args['list_name']\r
+ @list_name = @args.list_name\r
\r
\r
set_default: () ->\r
super()\r
- @args['list_name'] ||= @name\r
+ @args.list_name ||= @name\r
\r
init: () ->\r
super()\r
- @list_name = @args['list_name']\r
+ @list_name = @args.list_name\r
\r
class Manifest\r
- _system_resources = null\r
- _magic_numbers = null\r
- _items = null\r
- _controllers = null\r
- _models = null\r
_module_names = null\r
\r
- system_resources: () ->\r
- _system_resources\r
- \r
- magic_numbers: () ->\r
- _magic_numbers\r
- \r
- items: () ->\r
- _items\r
- \r
- controllers: () ->\r
- _controllers\r
- \r
- models: () ->\r
- _models\r
- \r
module_names: () ->\r
_module_names\r
\r
- constructor: (global_json) ->\r
- _module_names = []\r
- @global_json = global_json || {}\r
- _system_resources = new Manifest.SystemResource(\r
- this, Manifest.SystemResource.set_default(@global_json['system_resources'])\r
- )\r
- _magic_numbers = @global_json['magic_numbers']\r
- \r
init: () ->\r
# managers can't initialize before load application.rb\r
- _items = ManifestBase.load_type_name_args(this, @global_json, 'items', Manifest.ItemFactory)\r
- _controllers = Manifest.Controller.load(this, @global_json, 'controllers', Manifest.Controller)\r
- _models = Manifest.Model.load(this, @global_json, 'models', Manifest.Model)\r
+ @items = ManifestBase.load_type_name_args(this, @global_json, 'items', Manifest.ItemFactory)\r
+ @controllers = Manifest.Controller.load(this, @global_json, 'controllers', Manifest.Controller)\r
+ @models = Manifest.Model.load(this, @global_json, 'models', Manifest.Model)\r
true\r
\r
@singularize: (name) ->\r
@pluralize: (name) ->\r
name.pluralize\r
\r
+ constructor: (global_json) ->\r
+ _module_names = []\r
+ @global_json = global_json || {}\r
+ @system_resources = new Manifest.SystemResource(\r
+ this, Manifest.SystemResource.set_default(@global_json['system_resources'])\r
+ )\r
+ @magic_numbers = @global_json['magic_numbers']\r
+ @items = {}\r
+ @controllers = {}\r
+ @models = {}\r
+ \r
@Manifest = Manifest\r
class Manifest.Model extends ManifestBase.Base\r
- _attributes = null\r
- _associations = null\r
- _list = null\r
- \r
- attributes: () ->\r
- _attributes\r
- \r
- associations: () ->\r
- _associations\r
- \r
- list: () ->\r
- _list\r
\r
set_default: () ->\r
super\r
- @json['attributes'] ||= {}\r
- @json['associations'] ||= {}\r
- @json['list'] ||= {}\r
- @json['attributes']['id'] = {\r
+ @json.attributes ||= {}\r
+ @json.associations ||= {}\r
+ @json.list ||= {}\r
+ @json.attributes.id = {\r
'type': 'number',\r
'primary_key': 1,\r
'rules': {\r
'number': true\r
}\r
}\r
- @json['attributes']['created_at'] = {\r
+ @json.attributes.created_at = {\r
'type': 'datetime',\r
}\r
- @json['attributes']['updated_at'] = {\r
+ @json.attributes.updated_at = {\r
'type': 'datetime',\r
}\r
\r
init: () ->\r
super\r
- _attributes = ManifestBase.load_name_values this, @json, 'attributes', Manifest.ModelModule.Attribute\r
- _associations = ManifestBase.load_value this, @json, 'associations', Manifest.ModelModule.Association\r
- _list = ManifestBase.load_value this, @json, 'list', Manifest.ModelModule.List\r
+ @attributes = ManifestBase.load_name_values this, @json, 'attributes', Manifest.ModelModule.Attribute\r
+ @associations = ManifestBase.load_value this, @json, 'associations', Manifest.ModelModule.Association\r
+ @list = ManifestBase.load_value this, @json, 'list', Manifest.ModelModule.List\r
\r
model_name: () ->\r
- _name\r
+ @name\r
\r
classify: () ->\r
- Manifest.item_name_to_model _name\r
+ Manifest.item_name_to_model @name\r
\r
table_name: () ->\r
@classify.table_name\r
r\r
\r
owner_type: () ->\r
- return 'author' if @attributes['author_id']\r
- return 'artist' if @attributes['artist_id']\r
+ return 'author' if @attributes.author_id\r
+ return 'artist' if @attributes.artist_id\r
false\r
\r
content_model: () ->\r
\r
child_element_names: () ->\r
_.map @child_models, (child_model) ->\r
- _associations.child_element_name(child_model)\r
+ @associations.child_element_name(child_model)\r
\r
child_element_name: (item_name) ->\r
- _associations.child_element_name(child_model_manifest)\r
+ @associations.child_element_name(child_model_manifest)\r
\r
class Manifest.ModelModule\r
class Manifest.ModelModule.Association extends ManifestBase.Values\r
- _belongs_to = null\r
- _has_many = null\r
- _has_one = null\r
- \r
- belongs_to: () ->\r
- _belongs_to\r
- \r
- has_many: () ->\r
- _has_many\r
- \r
- has_one: () ->\r
- _has_one\r
\r
set_default: () ->\r
super()\r
\r
init: () ->\r
super()\r
- _belongs_to = ManifestBase.load_name_values this, @values, 'belongs_to', Manifest.ModelModule.AssociationModule.BelongsTo\r
- _has_many = ManifestBase.load_name_values this, @values, 'has_many', Manifest.ModelModule.AssociationModule.HasMany\r
- _has_one = ManifestBase.load_name_values this, @values, 'has_one', Manifest.ModelModule.AssociationModule.HasOne\r
+ @belongs_to = ManifestBase.load_name_values this, @values, 'belongs_to', Manifest.ModelModule.AssociationModule.BelongsTo\r
+ @has_many = ManifestBase.load_name_values this, @values, 'has_many', Manifest.ModelModule.AssociationModule.HasMany\r
+ @has_one = ManifestBase.load_name_values this, @values, 'has_one', Manifest.ModelModule.AssociationModule.HasOne\r
\r
model_name: () ->\r
- _parent.name\r
+ @parent.name\r
\r
each_parent_model: () ->\r
_.each _belongs_to, (belongs_to_manifest, name) ->\r
child_model.table_name\r
\r
is_has_one: (child_model) ->\r
- if _has_one[child_model.item_name]\r
+ if @has_one[child_model.item_name]\r
true\r
else\r
false\r
class Manifest.ModelModule.Attribute extends ManifestBase.NameValues\r
- _type = null\r
- _primary_key = null\r
- _rules = null\r
- _source = null\r
- \r
- type: () ->\r
- _type\r
- \r
- primary_key: () ->\r
- _primary_key\r
- \r
- rules: () ->\r
- _rules\r
- \r
- source: () ->\r
- _source\r
\r
set_default: () ->\r
super()\r
\r
init: () ->\r
super()\r
- _type = @values['type'] # do not remove\r
- _primary_key = @values['primary_key']\r
- _rules = @values['rules']\r
+ @type = @values['type'] # do not remove\r
+ @primary_key = @values['primary_key']\r
+ @rules = @values['rules']\r
if @values['source']\r
- _source = ManifestBase.load_type_args this, @values, 'source', Manifest.ModelModule.AttributeModule.SourceFactory\r
+ @source = ManifestBase.load_type_args this, @values, 'source', Manifest.ModelModule.AttributeModule.SourceFactory\r
\r
model_name: () ->\r
@parent.name\r
class Manifest.SystemResource\r
- _templates = null\r
- _select_items = null\r
- \r
- templates: () ->\r
- _templates\r
- \r
- select_items: () ->\r
- _select_items\r
\r
@set_default: (system_resource_manifest) ->\r
system_resource_manifest['templates'] ||= {}\r
# puts 'skip store select_items:' + resource_model_name + '.' + resource_list_name\r
#end\r
\r
- constructor: (manifest, system_resource_manifest) ->\r
- @manifest = manifest\r
- @system_resource_manifest = system_resource_manifest\r
- _templates = Manifest.SystemResource.Template.manager(this, @system_resource_manifest['templates'])\r
- _select_items = system_resource_manifest['select_items']\r
+ constructor: (@manifest, @system_resource_manifest) ->\r
+ @templates = Manifest.SystemResource.Template.manager(this, @system_resource_manifest['templates'])\r
+ @select_items = system_resource_manifest['select_items']\r
\r
\r
@manager: (system_resource, my_manifests) ->\r
templates = {}\r
- _.each my_manifests, (template_name, my_manifest) ->\r
+ _.each my_manifests, (my_manifest, template_name) ->\r
templates[template_name] = new Manifest.SystemResource.Template(system_resource, template_name, my_manifest)\r
templates\r
\r
is_add_route: () ->\r
@has_route > 0\r
\r
- constructor: (system_resource, template_name, my_manifest) ->\r
- @system_resource = system_resource\r
- @template_name = template_name\r
- @my_manifest = my_manifest\r
+ constructor: (@system_resource, @template_name, @my_manifest) ->\r
@set_default()\r
@init()\r
\r
class ManifestBase.Base
- _manifest = null
- _name = null
- _json = null
- _module_name = null
-
- manifest: () ->
- _manifest
-
- name: () ->
- _name
-
- json: () ->
- _json
-
- module_name: () ->
- _module_name
@load: (manifest, jsons, module_name, klass) ->
r = {}
init: () ->
module_names: () ->
- _manifest.module_names().concat([@module_name, @name])
+ @manifest.module_names().concat([@module_name, @name])
module_message: () ->
ManifestBase.module_message(@module_names)
- constructor: (manifest, name, json, module_name) ->
- _manifest = manifest
- @name = name
- @json = json
- _module_name = module_name
+ constructor: (@manifest, @name, @json, @module_name) ->
@set_default()
@init()
class ManifestBase.TypeNameArgs\r
- _parent = null\r
- _name = null\r
- _json = null\r
_module_name = null\r
- _type = null\r
- \r
- parent: () ->\r
- _parent\r
- \r
- name: () ->\r
- _name\r
- \r
- json: () ->\r
- _json\r
\r
module_name: () ->\r
_module_name\r
\r
- type: () ->\r
- _type\r
- \r
set_default: () ->\r
- _json['args'] ||= {}\r
- _type = _json['type']\r
- @args = _json['args']\r
+ @json['args'] ||= {}\r
+ @type = @json.type\r
+ @args = @json.args\r
\r
init: () ->\r
\r
module_message: () ->\r
ManifestBase.module_message(@module_names)\r
\r
- parent_name: () ->\r
- _parent.name\r
- \r
- parent_json: () ->\r
- _parent.json\r
- \r
- constructor: (parent, name, json, module_name) ->\r
- _parent = parent\r
- _name = name\r
- _json = json\r
+ constructor: (@parent, @name, @json, module_name) ->\r
_module_name = module_name\r
@set_default()\r
@init()\r
class ManifestBase.Values\r
- _parent = null\r
- _json = null\r
- _module_name = null\r
- \r
- parent: () ->\r
- _parent\r
- \r
- json: () ->\r
- _json\r
- \r
- module_name: () ->\r
- _module_name\r
\r
set_default: () ->\r
- @values = _json\r
+ @values = @json\r
\r
init: () ->\r
\r
module_names: () ->\r
- _parent.module_names + [_module_name]\r
+ @parent.module_names + [@module_name]\r
\r
module_message: () ->\r
ManifestBase.module_message(@module_names)\r
\r
parent_name: () ->\r
- _parent.name\r
+ @parent.name\r
\r
parent_json: () ->\r
- _parent.json\r
+ @parent.json\r
\r
- constructor: (parent, json, module_name) ->\r
- _parent = parent\r
- _json = json\r
- _module_name = module_name\r
+ constructor: (@parent, @json, @module_name) ->\r
@set_default()\r
@init()\r
\r