Class: BudgetBytesCli::Category

Inherits:
Object
  • Object
show all
Defined in:
lib/budget_bytes_cli/category.rb

Constant Summary collapse

@@all =
[]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url = nil, name = nil) ⇒ Category

Returns a new instance of Category.



10
11
12
13
14
# File 'lib/budget_bytes_cli/category.rb', line 10

def initialize(url = nil, name = nil)
    @name = name
    @url = url
    @@all << self
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



2
3
4
# File 'lib/budget_bytes_cli/category.rb', line 2

def name
  @name
end

#urlObject (readonly)

Returns the value of attribute url.



2
3
4
# File 'lib/budget_bytes_cli/category.rb', line 2

def url
  @url
end

Class Method Details

.allObject



6
7
8
# File 'lib/budget_bytes_cli/category.rb', line 6

def self.all
    @@all
end

Instance Method Details

#combine_recipes(cat_to_combine) ⇒ Object



22
23
24
25
26
# File 'lib/budget_bytes_cli/category.rb', line 22

def combine_recipes(cat_to_combine)
    recipes_combined = cat_to_combine.recipes
    recipe_urls = self.recipes.map {|r| r.url}
    recipes_combined.select {|r| recipe_urls.include?(r.url)}
end

#recipesObject



16
17
18
19
20
# File 'lib/budget_bytes_cli/category.rb', line 16

def recipes
    @recipes = BudgetBytesCli::Scraper.get_recipes(self.url) unless @recipes
    
    @recipes
end