class BetfairApiNgRails::Api::Hashalator
Attributes
for_param[R]
hashable[R]
Public Class Methods
new(object, for_param = false)
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 8 def initialize(object, for_param = false) @hashable = object @for_param = for_param end
Public Instance Methods
to_hash()
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 13 def to_hash hashable.inject({}) do |h, (k, v)| value = hash_value(v) h[hash_key(k)] = value if !value.nil? && value != "" h end end
Private Instance Methods
hash_key(key)
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 35 def hash_key(key) for_param ? key : key.to_s.camelize(:lower) end
hash_value(val)
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 23 def hash_value(val) need_to_hash?(val) ? hashing_val(val) : val end
hashing_val(val)
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 27 def hashing_val(val) val.is_a?(Array) ? val.map { |e| hash_value(e) } : val.to_hash end
need_to_hash?(val)
click to toggle source
# File lib/betfair_api_ng_rails/api/hashalator.rb, line 31 def need_to_hash?(val) !ATTRS_AS_IS.include?(val.class) end