Sha256: e862c3d7ac0967b620a4dd23483a12fb8e6afd757ae11d394bc252a76ae8b545

Contents?: true

Size: 812 Bytes

Versions: 46

Compression:

Stored size: 812 Bytes

Contents

module Access
  class Category

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

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

    def self.process_batch(chunk)
      chunk.map { |category| new(category) }
    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
      @subcategories = Access::Category.process_batch(@subcategories) if @subcategories
      @subcategory_siblings = Access::Category.process_batch(@subcategory_siblings) if @subcategory_siblings
    end

  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

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