Module: Endymion

Defined in:
lib/endymion.rb,
lib/endymion/api.rb,
lib/endymion/key.rb,
lib/endymion/sort.rb,
lib/endymion/util.rb,
lib/endymion/query.rb,
lib/endymion/types.rb,
lib/endymion/filter.rb,
lib/endymion/format.rb,
lib/endymion/memory.rb,
lib/endymion/fake_ds.rb,
lib/endymion/kind_spec.rb,
lib/endymion/field_spec.rb,
lib/endymion/memory/helper.rb

Defined Under Namespace

Classes: API, FakeDs, FieldSpec, Filter, Format, Key, KindSpec, Memory, Query, Sort, Types, Util

Class Method Summary collapse

Class Method Details

.new(datastore_name, datastore_opts = {}) ⇒ Object


4
5
6
# File 'lib/endymion.rb', line 4

def self.new(datastore_name, datastore_opts={})
  Endymion::API.new(new_datastore(datastore_name, datastore_opts))
end

.new?(record) ⇒ Boolean

Returns:

  • (Boolean)

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

def self.new?(record)
  !record.has_key?(:key)
end

.new_datastore(name, opts = {}) ⇒ Object


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

def self.new_datastore(name, opts={})
  begin
    require "endymion/#{name}"
  rescue LoadError
    raise "Can't find datastore implementation: #{name}"
  end
  ds_klass = Endymion.const_get(Util.class_name(name.to_s))
  ds_klass.new(opts)
end