Class: ATSD::BaseModel Abstract

Inherits:
Hash
  • Object
show all
Includes:
Utils::UnderscoreKeys, Hashie::Extensions::Coercion, Hashie::Extensions::MergeInitializer, Hashie::Extensions::MethodAccess
Defined in:
lib/atsd/models/base_model.rb

Overview

This class is abstract.

Base class for all models

Instance Method Summary collapse

Methods included from Utils::UnderscoreKeys

included

Methods included from Utils::CamelizeKeys

#camelize_keys, #camelize_keys!

Methods included from Utils::CamelizeKeys::ClassMethods

#camelize_keys, #camelize_keys!

Instance Method Details

#[]=(key, value) ⇒ Object

Converts time and value keys as t and v respectively for the rest operates as a superclass method



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/atsd/models/base_model.rb', line 26

def []=(key,value)
  if key.to_s == 'time'
    key = :t
    case value
      when Time
        value = value.to_i * 1_000
      else
        value = value.to_i
    end
  end
  key = :v if key.to_s == 'value'
  super(key, value)
end

#to_request_hashHash

Converts model to hash usable for API

Returns:



14
15
16
17
18
19
20
21
22
# File 'lib/atsd/models/base_model.rb', line 14

def to_request_hash
  hash = {}
  keys.each do |k|
    new_key = k.to_s.camelize(:lower)
    new_key = new_key.to_sym if k.is_a? Symbol
    hash[new_key] = self[k]
  end
  hash
end