class Kybus::Storage::Datasource::Model

Wraps an object inside a model, this will allow to validate that values are inside the restrictions. It dependes on a repository for storing values.

Attributes

data[RW]
repository[W]

Public Class Methods

new(data) click to toggle source
# File lib/kybus/storage/datasource/model.rb, line 40
def initialize(data)
  @data = data
end

Public Instance Methods

[](key) click to toggle source
# File lib/kybus/storage/datasource/model.rb, line 26
def [](key)
  @data[key]
end
[]=(key, val) click to toggle source

:nocov: #

# File lib/kybus/storage/datasource/model.rb, line 22
def []=(key, val)
  @data[key] = val
end
create() click to toggle source
# File lib/kybus/storage/datasource/model.rb, line 35
def create
  run_validations!
  @repository.create(@data)
end
run_validations!() click to toggle source

:nocov: #

# File lib/kybus/storage/datasource/model.rb, line 17
def run_validations!
  puts 'WARN: model with no validations'
end
store() click to toggle source
# File lib/kybus/storage/datasource/model.rb, line 30
def store
  run_validations!
  @repository.store(@data)
end
to_json(options = nil) click to toggle source
# File lib/kybus/storage/datasource/model.rb, line 46
def to_json(options = nil)
  @data.to_json(options)
end