module Access class Geolocation def self.search(options = {}) Access::Api.new.geolocation_search options end def self.find(options = {}) Access::Api.new.geolocation_find options end def self.process_batch(chunk) chunk.map { |location| new(location) } end def initialize(values) self.class.class_eval {attr_reader *values.keys } values.each do |attribute_name, attribute_value| self.instance_variable_set("@#{attribute_name}", attribute_value) end @geolocation = Geolocation.new(@geolocation) if @geolocation end end end