Class: Miasma::Types::Data

Inherits:
Object
  • Object
show all
Includes:
Utils::Lazy
Defined in:
lib/miasma/types/data.rb

Overview

Base data container

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ self

Build new data instance



16
17
18
19
# File 'lib/miasma/types/data.rb', line 16

def initialize(args = {})
  load_data(args)
  valid_state
end

Class Method Details

.from_json(json) ⇒ Data

Build new instance from JSON string



44
45
46
# File 'lib/miasma/types/data.rb', line 44

def from_json(json)
  self.new(MultiJson.load(json).to_smash)
end

Instance Method Details

#from_json(json) ⇒ self

Load model using JSON string



32
33
34
35
36
# File 'lib/miasma/types/data.rb', line 32

def from_json(json)
  load_data(
    MultiJson.load(json).to_smash
  ).valid_state
end

#to_json(*_) ⇒ String

Convert model to JSON string



24
25
26
# File 'lib/miasma/types/data.rb', line 24

def to_json(*_)
  MultiJson.dump(attributes)
end