Module: Cursed

Defined in:
lib/cursed/page.rb,
lib/cursed/cursor.rb,
lib/cursed/version.rb,
lib/cursed/collection.rb,
lib/cursed/adapter/base.rb,
lib/cursed/adapter/array.rb,
lib/cursed/adapter/sequel.rb,
lib/cursed/adapter/active_record.rb

Defined Under Namespace

Modules: Adapter Classes: Collection, Cursor, Page

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.Adapter(value) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/cursed/adapter/base.rb', line 34

def Adapter(value)
  case value
  when -> (x) { x.is_a?(Class) && x.ancestors.include?(Adapter::Base) } then value
  when Sequel::Dataset then Adapter::Sequel
  when ActiveRecord::Base, ActiveRecord::Relation then Adapter::ActiveRecord
  else raise ArgumentError, "unable to cast #{value.inspect} to Adapter"
  end
end