Class: Ampt::Song

Inherits:
Object
  • Object
show all
Defined in:
lib/ampt_api/acoustics.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(h) ⇒ Song

Takes a hash to set up the object



162
163
164
165
166
167
168
169
# File 'lib/ampt_api/acoustics.rb', line 162

def initialize h
    h.each do |k,v|
        (class << self; self; end).instance_eval do
            attr_reader k
        end
        instance_variable_set '@'+k, v
    end
end

Class Method Details

.json_create(o) ⇒ Object

Create from json



147
148
149
# File 'lib/ampt_api/acoustics.rb', line 147

def self.json_create o
    new o['data'] if o['data']
end

Instance Method Details

#to_json(*a) ⇒ Object

Serialize to json



151
152
153
154
155
156
157
158
159
# File 'lib/ampt_api/acoustics.rb', line 151

def to_json(*a)
    {
        'json_class' => self.class.name,
        'data' => [self.instance_variables.reduce({}) do |d,v|
            d[v[1..-1]] = self.instance_variable_get v
            d
        end]
    }.to_json(*a)
end