class Sprintly::Product

Constants

WHITELISTED_ATTRIBUTES

Public Class Methods

all() click to toggle source
# File lib/sprintly-data-ruby/product.rb, line 10
def self.all
  response = Sprintly::Connection.get("products.json")
  raw_products = JSON.parse(response.body)
  raw_products.map { |raw_product| new(raw_product) }
end
new(raw_product) click to toggle source
# File lib/sprintly-data-ruby/product.rb, line 16
def initialize(raw_product)
  WHITELISTED_ATTRIBUTES.each do |attr|
    if raw_product.has_key?(attr)
      instance_variable_set("@#{attr}", raw_product[attr])
      singleton_class.class_eval do
        attr_reader "#{attr}"
      end
    end
  end
end

Public Instance Methods

get_items_by_status(status) click to toggle source
# File lib/sprintly-data-ruby/product.rb, line 27
def get_items_by_status(status)
  items = Sprintly::Item.for_product(self.id)
  items.select { |item| item.status == status }
end