class BillHicks::Category

Category item response structure:

{
  code:        "...",  # ':category_code' in Catalog response.
  description: "..."   # ':category_description' in Catalog response.
}

Public Class Methods

all(options = {}) click to toggle source
# File lib/bill_hicks/category.rb, line 15
def self.all(options = {})
  requires!(options, :username, :password)
  new(options).all
end
new(options = {}) click to toggle source
# File lib/bill_hicks/category.rb, line 10
def initialize(options = {})
  requires!(options, :username, :password)
  @options = options
end

Public Instance Methods

all() click to toggle source

Returns an array of hashes with category details.

# File lib/bill_hicks/category.rb, line 21
def all
  categories = []

  # Categories are listed in catalog csv, so fetch that.
  catalog = Catalog.all(@options)
  catalog.each do |item|
    categories << {
      code: item[:category_code],
      description: item[:category_description]
    }
  end

  categories.uniq! { |c| c[:description] }
  categories.sort_by! { |c| c[:description] }

  categories
end