Module: Machinist

Defined in:
lib/machinist.rb,
lib/machinist/adapters/poro.rb,
lib/machinist/adapters/abstract.rb,
lib/machinist/adapters/datamapper.rb,
lib/machinist/adapters/active_record.rb

Defined Under Namespace

Modules: Extensions Classes: AbstractAdapter, ActiveRecordAdapter, DataMapperAdapter, Lathe

Class Method Summary collapse

Class Method Details

.adapter_for(klass) ⇒ Object

:api: private



23
24
25
# File 'lib/machinist.rb', line 23

def self.adapter_for(klass)
  adapters.detect{|a| a.use_for_class?(klass)} || raise("No Adapter found for #{klass}")
end

.adaptersObject

:api: private



7
8
9
10
11
12
13
14
15
# File 'lib/machinist.rb', line 7

def self.adapters
  @adapters ||= []
  @_adapter_size ||= @adapters.size
  unless @adapters.size == @_adapter_size
    @adapters = @adapters.uniq.sort_by{|a| a.priority}.reverse
    @_adapter_size = @adapters.size
  end
  @adapters
end

.add_adapter(adapter) ⇒ Object

:api: private



18
19
20
# File 'lib/machinist.rb', line 18

def self.add_adapter(adapter)
  adapters << adapter
end