module Gorillib::FancyBuilder::ClassMethods
Public Instance Methods
belongs_to(field_name, type, options={})
click to toggle source
# File lib/gorillib/builder.rb, line 168 def belongs_to(field_name, type, options={}) field = member(field_name, type) define_meta_module_method "#{field.name}_name" do val = getset_member(field) or return nil val.name end field end
collects(type, clxn_name)
click to toggle source
# File lib/gorillib/builder.rb, line 182 def collects(type, clxn_name) type_handle = type.handle define_meta_module_method type_handle do |item_name, attrs={}, options={}, &block| send(clxn_name, item_name, attrs, options.merge(:factory => type), &block) end end
option(field_name, options={})
click to toggle source
# File lib/gorillib/builder.rb, line 177 def option(field_name, options={}) type = options.delete(:type){ Whatever } magic(field_name, type) end