Sha256: 665776f436f5758158f6062196511fc8a78d2a4c6e5d08f7ced7a0a8ec0e58a3

Contents?: true

Size: 871 Bytes

Versions: 46

Compression:

Stored size: 871 Bytes

Contents

module Access
  class Store

    def self.search(options = {})
      Access::Api.new.search_stores options
    end

    def self.find(store_key, options = {})
      Access::Api.new.find_store store_key, options
    end

    def self.national(options = {})
      Access::Api.new.national_stores options
    end

    def self.process_batch(chunk)
      chunk.map { |store| new(store) }
    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
      @links = Access::Link.new(@links) if @links
      @store_categories = Access::Category.process_batch(@store_categories) if @store_categories
      @physical_location = Access::Location.new(@physical_location) if @physical_location
    end

  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
access-2.0.5 lib/access/store.rb
access-2.0.4 lib/access/store.rb
access-2.0.3 lib/access/store.rb
access-2.0.2 lib/access/store.rb
access-2.0.1 lib/access/store.rb
access-2.0.0 lib/access/store.rb