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