- Timestamp:
- 09/29/08 12:10:18 (2 months ago)
- Location:
- lang/ruby/ymldot
- Files:
-
- 2 modified
-
lib/ymldot.rb (modified) (5 diffs)
-
spec/ymldot_spec.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/ymldot/lib/ymldot.rb
r19232 r20180 1 1 require 'yaml' 2 2 require 'pp' 3 require 'util' 3 4 4 5 class Entity … … 144 145 def eval_relation_has_many(keys, tname) 145 146 keys.each do |rel| 146 @entity_dict[rel].foreignkeys << "#{ tname}ID(FK)"147 @entity_dict[rel].foreignkeys << "#{singularize(tname)}ID(FK)" 147 148 @many_relations << {:self => @entity_dict[tname], :have => @entity_dict[rel]} 148 149 end … … 151 152 def eval_relation_has_one(keys, tname) 152 153 keys.each do |rel| 153 @entity_dict[rel].foreignkeys << "#{ tname}ID(FK)"154 @entity_dict[rel].foreignkeys << "#{singularize(tname)}ID(FK)" 154 155 @one_relations << {:self => @entity_dict[tname], :have => @entity_dict[rel]} 155 156 end … … 162 163 join_tname = "#{tname}_#{rel}" 163 164 @entity_dict[join_tname] ||= Entity.new(join_tname, true) 164 @entity_dict[join_tname].foreignkeys << "#{ tname}ID(FK)"165 @entity_dict[join_tname].foreignkeys << "#{ rel}ID(FK)"165 @entity_dict[join_tname].foreignkeys << "#{singularize(tname)}ID(FK)" 166 @entity_dict[join_tname].foreignkeys << "#{singularize(rel)}ID(FK)" 166 167 167 168 # make new category … … 178 179 def eval_relation_polymorphic(keys, tname) 179 180 keys.each do |rel| 180 @entity_dict[tname].foreignkeys << "#{ rel["name"]}ID(FK)" if key = rel["name"]181 @entity_dict[tname].columns.unshift "#{ rel["type"]}(type)" if key = rel["type"]181 @entity_dict[tname].foreignkeys << "#{singularize(rel["name"])}ID(FK)" if key = rel["name"] 182 @entity_dict[tname].columns.unshift "#{singularize(rel["type"])}(type)" if key = rel["type"] 182 183 rel["tables"].each do |t| 183 184 @one_relations << {:self => @entity_dict[t], :have => @entity_dict[tname] } -
lang/ruby/ymldot/spec/ymldot_spec.rb
r19163 r20180 253 253 "bar" [shape=record, label="{bar|fuge\l}"] 254 254 "baz" [shape=record, label="{baz|gage\l}"] 255 "foo" [shape=record, label="{foo|entityID(FK)\l hoge\lentity_type(type)\l}"]255 "foo" [shape=record, label="{foo|entityID(FK)\lentity_type(type)\lhoge\l}"] 256 256 257 257 "baf" -> "foo" [arrowtail=none arrowhead=dot headlabel="1" taillabel="1"]
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)