module Vatlayer::Response
Public Class Methods
new(attributes)
click to toggle source
# File lib/vatlayer/response/data.rb, line 8 def initialize(attributes) attributes.each do |(key, value)| cleaned_key = key.gsub(/[^0-9A-Za-z_]/, '') self.class.class_eval { attr_accessor :"#{cleaned_key}" } generate_methods(cleaned_key, value) end end
Public Instance Methods
generate_methods(key, value)
click to toggle source
# File lib/vatlayer/response/data.rb, line 16 def generate_methods(key, value) if value.is_a?(Hash) Vatlayer::Response.const_set(key.capitalize, Vatlayer::Response.instance_variable_get(:@response_class)) public_send("#{key}=", Object.const_get("Vatlayer::Response::#{key.capitalize}").new(value)) else public_send("#{key}=", value) end end