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.28 lib/access/category.rb
access-2.0.27 lib/access/category.rb
access-2.0.26 lib/access/category.rb
access-2.0.25 lib/access/category.rb
access-2.0.24 lib/access/category.rb
access-2.0.23 lib/access/category.rb
access-2.0.22 lib/access/category.rb
access-2.0.21 lib/access/category.rb
access-2.0.20 lib/access/category.rb
access-2.0.19 lib/access/category.rb
access-2.0.18 lib/access/category.rb
access-2.0.17 lib/access/category.rb
access-2.0.15 lib/access/category.rb
access-2.0.14 lib/access/category.rb
access-2.0.13 lib/access/category.rb
access-2.0.11 lib/access/category.rb
access-2.0.10 lib/access/category.rb
access-2.0.9 lib/access/category.rb
access-2.0.8 lib/access/category.rb
access-2.0.7 lib/access/category.rb