module ModelModule
module AttributeModule
module SourceModule
- class ModelSource
- attr :attribute, :source_manifest, :type,
- :resource_model_name, :resource_list_name, :select_item_name, :caption_name
-
- def initialize attribute, source_manifest
- @attribute = attribute
- @source_manifest = source_manifest
- self.set_default
- self.init
- end
+ class ModelSource < Base
+ attr :resource_model_name, :resource_list_name,
+ :select_item_name, :caption_name
def set_default
- @source_manifest['args'] ||= {}
- @source_manifest['args']['resource_model_name'] ||= (@attribute.name.gsub('_id', ''))
- @source_manifest['args']['resource_list_name'] ||= 'select_items'
- @source_manifest['args']['select_item_name'] ||= self.model_name + '_' + @attribute.name.gsub('_id', '') + '_items'
- @source_manifest['args']['caption_name'] ||= 'caption'
+ super
+ @args['resource_model_name'] ||= (@parent.name.gsub('_id', ''))
+ @args['resource_list_name'] ||= 'select_items'
+ @args['select_item_name'] ||= self.model_name + '_' + @parent.name.gsub('_id', '') + '_items'
+ @args['caption_name'] ||= 'caption'
end
def init
- @args = @source_manifest['args']
- @type = @source_manifest['type']
+ super
@resource_model_name = @args['resource_model_name']
@resource_list_name = @args['resource_list_name']
@select_item_name = @args['select_item_name']
@caption_name = @args['caption_name']
end
- def model_name
- @attribute.parent_name
- end
-
- def attribute_name
- @attribute.name
- end
-
end
end