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