Class: Pickle::Adapter::Machinist

Inherits:
Pickle::Adapter show all
Defined in:
lib/pickle/adapter.rb

Overview

machinist adapter

Instance Attribute Summary

Attributes inherited from Pickle::Adapter

#klass, #name

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Pickle::Adapter

model_classes

Constructor Details

#initialize(klass, blueprint) ⇒ Machinist

Returns a new instance of Machinist.



47
48
49
50
51
# File 'lib/pickle/adapter.rb', line 47

def initialize(klass, blueprint)
  @klass, @blueprint = klass, blueprint
  @name = @klass.name.underscore.gsub('/','_')
  @name = "#{@blueprint}_#{@name}" unless @blueprint == :master
end

Class Method Details

.factoriesObject



37
38
39
40
41
42
43
44
45
# File 'lib/pickle/adapter.rb', line 37

def self.factories
  factories = []
  model_classes.each do |klass|
    if blueprints = klass.instance_variable_get('@blueprints')
      blueprints.keys.each {|blueprint| factories << new(klass, blueprint)}
    end
  end
  factories
end

Instance Method Details

#create(attrs = {}) ⇒ Object



53
54
55
# File 'lib/pickle/adapter.rb', line 53

def create(attrs = {})
  @klass.send(:make, @blueprint, attrs)
end