OSDN Git Service

rename model name
[pettanr/pettanr.git] / lib / manifest / model / attribute.rb
1 ManifestBase.require_modules "manifest/model/attribute/", 
2   %w|source|
3
4 module Manifest
5   module ModelModule
6     class Attribute < ManifestBase::NameValues
7       include AttributeModule
8       
9       attr :type, :primary_key, :rules, :source
10       
11       def set_default
12         super
13         ManifestBase.alert_undefined_message 'type',  self.module_message unless @values['type']
14         @values['primary_key'] ||= 0
15         @values['rules'] ||= {}
16       end
17       
18       def init
19         super
20         @type = @values['type']  # do not remove
21         @primary_key = @values['primary_key']
22         @rules = @values['rules']
23         if @values['source']
24           @source = ManifestBase.load_type_args self, @values, 'source', SourceFactory
25         end
26       end
27       
28       def item_name
29         @parent.item_name
30       end
31       
32     end
33     
34   end
35 end