class SbrfMerchant::Api::Response::BodyDecorator

Attributes

hash[R]

Public Class Methods

new(hash) click to toggle source
# File lib/sbrf_merchant/api/response/body_decorator.rb, line 11
def initialize(hash)
  @hash = hash
end

Public Instance Methods

method_missing(meth, *args) click to toggle source
Calls superclass method
# File lib/sbrf_merchant/api/response/body_decorator.rb, line 15
def method_missing(meth, *args)
  # Если ключ отсутствует то поведение по умолчанию
  return super unless hash.key?(meth)

  value = hash[meth]
  # Если значение - хэш то возвращаем его, предварительно обернув в декоратор
  return self.class.new(value) if value.is_a?(Hash)

  # В остальных случаях возвращаем самое значение
  value
end
respond_to?(meth) click to toggle source
# File lib/sbrf_merchant/api/response/body_decorator.rb, line 27
def respond_to?(meth)
  hash.key?(meth)
end
respond_to_missing?(meth) click to toggle source
# File lib/sbrf_merchant/api/response/body_decorator.rb, line 31
def respond_to_missing?(meth)
  hash.key?(meth)
end