Class: Sprintly::Product
- Inherits:
-
Object
- Object
- Sprintly::Product
- Defined in:
- lib/sprintly-data-ruby/product.rb
Constant Summary collapse
- WHITELISTED_ATTRIBUTES =
[ "archived", "name", "admin", "created_at", "webhook", "email", "id" ].freeze
Class Method Summary collapse
Instance Method Summary collapse
- #get_items_by_status(status) ⇒ Object
-
#initialize(raw_product) ⇒ Product
constructor
A new instance of Product.
Constructor Details
#initialize(raw_product) ⇒ Product
Returns a new instance of Product.
16 17 18 19 20 21 22 23 24 25 |
# 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 |
Class Method Details
.all ⇒ Object
10 11 12 13 14 |
# 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 |
Instance Method Details
#get_items_by_status(status) ⇒ Object
27 28 29 30 |
# 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 |