class Glossier::Catagory
Attributes
name[RW]
products[RW]
Public Class Methods
all()
click to toggle source
# File lib/glossier/catagory.rb, line 13 def self.all @@all end
create(name)
click to toggle source
# File lib/glossier/catagory.rb, line 35 def self.create(name) if self.find_by_name = nil new_instance = self.new(name) @@all << new_instance new_instance end end
find_by_name(name)
click to toggle source
# File lib/glossier/catagory.rb, line 31 def self.find_by_name(name) all.detect { |a| a.name == name } end
find_or_create_by_name(name)
click to toggle source
# File lib/glossier/catagory.rb, line 47 def self.find_or_create_by_name(name) self.find_by_name(name) || self.create(name) end
list()
click to toggle source
# File lib/glossier/catagory.rb, line 21 def self.list @@all.each_with_index do |catagory, index| puts "#{index + 1}. #{catagory.name.capitalize}" end end
new(name)
click to toggle source
# File lib/glossier/catagory.rb, line 6 def initialize(name) @name = name @products = [] @@all << self end
Public Instance Methods
add_product(product)
click to toggle source
# File lib/glossier/catagory.rb, line 27 def add_product(product) @products << product end
clear()
click to toggle source
# File lib/glossier/catagory.rb, line 17 def clear @@all.clear end
list_products()
click to toggle source
# File lib/glossier/catagory.rb, line 51 def list_products @products.uniq.each_with_index do |product, index| puts "#{index +1}. #{product.name}" end end