OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / lib / manifest / model / attribute.rb
1 module Manifest
2   module ModelModule
3     class Attribute
4       attr :model, :attribute_name, :attribute_manifest, 
5         :primary_key, :rules
6       def initialize model, attribute_name, attribute_manifest
7         @model = model
8         @attribute_name = attribute_name
9         @attribute_manifest = attribute_manifest
10         self.set_default
11         self.init
12       end
13       
14       def set_default
15         raise "undefined type for models > #{self.model_name} > attributes > #{@attribute_name}\n" unless @attribute_manifest['type']
16         @attribute_manifest['primary_key'] ||= 0
17         @attribute_manifest['rules'] ||= {}
18       end
19       
20       def init
21         @primary_key = @attribute_manifest['primary_key']
22         @rules = @attribute_manifest['rules']
23       end
24       
25       def model_name
26         @model.model_name
27       end
28       
29       def model_manifest
30         @model.model_manifest
31       end
32       
33     end
34     
35   end
36 end