class Makers::Maker
Attributes
assignments[R]
associations[R]
disabled_association[RW]
model[R]
name[R]
options[R]
sequences[R]
Public Class Methods
new(name, model, assignments, associations, sequences, options)
click to toggle source
# File lib/makers/maker.rb, line 7 def initialize(name, model, assignments, associations, sequences, options) @name = name @model = model @assignments = assignments @associations = associations @sequences = sequences @options = options end
Public Instance Methods
attributes()
click to toggle source
# File lib/makers/maker.rb, line 32 def attributes all = assignments.dup if options.has_key?(:parent) all.reverse_merge! Makers.definitions.find(options[:parent]).assignments end if disabled_association associations.each do |name, class_name| if disabled_association == class_name all[name] = -> { nil } end end end object = Object.new all.each do |name, block| object.define_singleton_method name, &block end hash = {} all.keys.each do |name| hash[name] = object.send(name) end hash end
Private Instance Methods
build_one(overrides={})
click to toggle source
# File lib/makers/maker.rb, line 57 def build_one(overrides={}) instance = model.new attributes.merge(overrides).each do |name, value| instance.send "#{name}=", value end instance end
create_one(overrides={})
click to toggle source
# File lib/makers/maker.rb, line 65 def create_one(overrides={}) instance = build_one(overrides) instance.save! instance end