Module: DeepStore::Model::DSL

Defined in:
lib/deep_store/model/dsl.rb

Instance Method Summary collapse

Instance Method Details

#attribute(name, options = {}) ⇒ Object



4
5
6
7
# File 'lib/deep_store/model/dsl.rb', line 4

def attribute(name, options = {})
  attr_accessor name
  schema[name] = options
end

#bucket(name) ⇒ Object



13
14
15
# File 'lib/deep_store/model/dsl.rb', line 13

def bucket(name)
  settings[:bucket] = name
end

#codec(codec_id, options = {}) ⇒ Object



9
10
11
# File 'lib/deep_store/model/dsl.rb', line 9

def codec(codec_id, options = {})
  settings[:codec] = CodecFactory.call(codec_id, options: options)
end

#key(pattern) ⇒ Object



17
18
19
# File 'lib/deep_store/model/dsl.rb', line 17

def key(pattern)
  settings[:key] = pattern
end

#schemaObject



21
22
23
# File 'lib/deep_store/model/dsl.rb', line 21

def schema
  settings[:schema] ||= {}
end

#settingsObject



25
26
27
# File 'lib/deep_store/model/dsl.rb', line 25

def settings
  @settings ||= { codec: CodecFactory.call(id: :null, options: {}) }
end