Skip to content

Instantly share code, notes, and snippets.

@Aferencz1987
Created April 21, 2021 22:04
Show Gist options
  • Select an option

  • Save Aferencz1987/56ef5f73542ad34450c74ba8ea471133 to your computer and use it in GitHub Desktop.

Select an option

Save Aferencz1987/56ef5f73542ad34450c74ba8ea471133 to your computer and use it in GitHub Desktop.
1] pry(#<FoodTruck>)> @inventory
=> {#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>=>7}
[2] pry(#<FoodTruck>)> @inventory.each do |item|
[2] pry(#<FoodTruck>)*   (item.price)*(item.value)
[2] pry(#<FoodTruck>)* end  
NoMethodError: undefined method `price' for #<Array:0x00007f920a05d248>
from (pry):3:in `block (2 levels) in potential_revenue'
[3] pry(#<FoodTruck>)> @inventory.each do |item|
[3] pry(#<FoodTruck>)*   item.each do |info|
[3] pry(#<FoodTruck>)*     info.price * item.values
[3] pry(#<FoodTruck>)*   end  
[3] pry(#<FoodTruck>)* end  
NoMethodError: undefined method `values' for #<Array:0x00007f920a14b678>
Did you mean?  values_at
from (pry):7:in `block (3 levels) in potential_revenue'
[4] pry(#<FoodTruck>)> @inventory
=> {#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>=>7}
[5] pry(#<FoodTruck>)> @inventory[1]
=> nil
[6] pry(#<FoodTruck>)> @inventory.each do |item|
[6] pry(#<FoodTruck>)*   item[key].price * item.values
[6] pry(#<FoodTruck>)* end  
NameError: undefined local variable or method `key' for #<FoodTruck:0x00007f920aa5bd30>
from (pry):13:in `block (2 levels) in potential_revenue'
[7] pry(#<FoodTruck>)> @inventory[item]
=> nil
[8] pry(#<FoodTruck>)> @inventory[item1]
NameError: undefined local variable or method `item1' for #<FoodTruck:0x00007f920aa5bd30>
Did you mean?  item
from (pry):16:in `block in potential_revenue'
[9] pry(#<FoodTruck>)> inventory
=> {#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>=>7}
[10] pry(#<FoodTruck>)> inventory.to_a
=> [[#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>, 35], [#<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>, 7]]
[11] pry(#<FoodTruck>)> inventory.to_a.each do |item|
[11] pry(#<FoodTruck>)*   item[1]*item[2]
[11] pry(#<FoodTruck>)* end  
TypeError: nil can't be coerced into Integer
from (pry):20:in `*'
[12] pry(#<FoodTruck>)> info = inventory.to_a
=> [[#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>, 35], [#<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>, 7]]
[13] pry(#<FoodTruck>)> info[1]
=> [#<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>, 7]
[14] pry(#<FoodTruck>)> inventory
=> {#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>=>7}
[15] pry(#<FoodTruck>)> inventory.sum do |item|
[15] pry(#<FoodTruck>)*   inventory.keys
[15] pry(#<FoodTruck>)* end  
TypeError: Array can't be coerced into Integer
from (pry):25:in `+'
[16] pry(#<FoodTruck>)> inventory.items
NoMethodError: undefined method `items' for #<Hash:0x00007f920aa5bc90>
from (pry):28:in `block in potential_revenue'
[17] pry(#<FoodTruck>)> inventory.keys
=> [#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>]
[18] pry(#<FoodTruck>)> inventory.keys[1].price
=> 2.5
[19] pry(#<FoodTruck>)> test = inventory.map do |items|
[19] pry(#<FoodTruck>)*   items.keys.each do |item|
[19] pry(#<FoodTruck>)*     item.price * items.values
[19] pry(#<FoodTruck>)*   end  
[19] pry(#<FoodTruck>)* end  
NoMethodError: undefined method `keys' for #<Array:0x00007f920a100240>
from (pry):32:in `block (2 levels) in potential_revenue'
[20] pry(#<FoodTruck>)> inventory
=> {#<Item:0x00007f920aa5bb00 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007f920aa5b948 @name="Apple Pie (Slice)", @price=2.5>=>7}
[21] pry(#<FoodTruck>)> inventory[1]
=> nil
[22] pry(#<FoodTruck>)> inventory.price
NoMethodError: undefined method `price' for #<Hash:0x00007f920aa5bc90>
from (pry):38:in `block in potential_revenue'


food_trucks
=> [#<FoodTruck:0x00007fd47b8690f0
  @inventory={#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>=>7},
  @name="Rocky Mountain Pies">,
 #<FoodTruck:0x00007fd47b869028
  @inventory={#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
  @name="Ba-Nom-a-Nom">,
 #<FoodTruck:0x00007fd47b868fb0
  @inventory={#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10},
  @name="Palisade Peach Shack">]
[3] pry(#<Event>)> food_trucks.map do |truck|
[3] pry(#<Event>)*   truck.inventory
[3] pry(#<Event>)* end  
=> [{#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[4] pry(#<Event>)> truck_inventory = food_trucks.map do |truck|
[4] pry(#<Event>)*   truck.inventory  
[4] pry(#<Event>)* end  
=> [{#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[5] pry(#<Event>)> truck_inventory
=> [{#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[6] pry(#<Event>)> names = truck_inventory.map do |items|
[6] pry(#<Event>)*   items.keys.name
[6] pry(#<Event>)* end  
NoMethodError: undefined method `name' for #<Array:0x00007fd47ca5d568>
from (pry):11:in `block in total_inventory'
[7] pry(#<Event>)> truck.inventory[0]  
NameError: undefined local variable or method `truck' for #<Event:0x00007fd47b8695f0>
Did you mean?  true
from (pry):13:in `total_inventory'
[8] pry(#<Event>)> truck.inventory
NameError: undefined local variable or method `truck' for #<Event:0x00007fd47b8695f0>
Did you mean?  true
from (pry):14:in `total_inventory'
[9] pry(#<Event>)> truck_inventory
=> [{#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[10] pry(#<Event>)> truck_inventory[1]
=> {#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25}
[11] pry(#<Event>)> truck_inventory[1].keys
=> [#<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>, #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>]
[12] pry(#<Event>)> truck_inventory[1].keys[0]
=> #<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>
[13] pry(#<Event>)> truck_inventory[1].keys[0].name
=> "Banana Nice Cream"
[14] pry(#<Event>)> truck_inventory.flat_map do |items|
[14] pry(#<Event>)*   items.keys
[14] pry(#<Event>)* end  
=> [#<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>,
 #<Item:0x00007fd47b8693e8 @name="Apple Pie (Slice)", @price=2.5>,
 #<Item:0x00007fd47b8691e0 @name="Banana Nice Cream", @price=4.25>,
 #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>,
 #<Item:0x00007fd47b8694d8 @name="Peach Pie (Slice)", @price=3.75>,
 #<Item:0x00007fd47b8692d0 @name="Peach-Raspberry Nice Cream", @price=5.3>]
 
 pry(#<Event>)> inventory_hash
=> {#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>[],
 #<Item:0x00007fbd001fc830 @name="Apple Pie (Slice)", @price=2.5>=>[],
 #<Item:0x00007fbd001fc560 @name="Banana Nice Cream", @price=4.25>=>[],
 #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>[]}
[2] pry(#<Event>)> truck_inventory
=> [{#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fbd001fc830 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fbd001fc560 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[3] pry(#<Event>)> truck_inventory.values
NoMethodError: undefined method `values' for #<Array:0x00007fbd001fc218>
Did you mean?  values_at
from (pry):3:in `total_inventory'
[4] pry(#<Event>)> test = truck_inventory.each do |item|
[4] pry(#<Event>)*   inventory_hash[item] = item.values
[4] pry(#<Event>)* end  
=> [{#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fbd001fc830 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fbd001fc560 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[5] pry(#<Event>)> test
=> [{#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>35, #<Item:0x00007fbd001fc830 @name="Apple Pie (Slice)", @price=2.5>=>7},
 {#<Item:0x00007fbd001fc560 @name="Banana Nice Cream", @price=4.25>=>50, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>25},
 {#<Item:0x00007fbd001fc920 @name="Peach Pie (Slice)", @price=3.75>=>65, #<Item:0x00007fbd001fc740 @name="Peach-Raspberry Nice Cream", @price=5.3>=>10}]
[6] pry(#<Event>)> !!!


Finished in 5 minutes 37 seconds (files took 0.13802 seconds to load)
5 examples, 0 failures

/Users/alexferencz/turing/attempt_2_MOD1/IC/fte_2103 main $rspec spec/event_spec.rb
....F

Failures:

  1) Event calculates
     Failure/Error: items.keys.name
     
     NoMethodError:
       undefined method `name' for #<Array:0x00007faa0506ba88>
     # ./lib/event.rb:37:in `block in total_inventory'
     # ./lib/event.rb:36:in `each'
     # ./lib/event.rb:36:in `group_by'
     # ./lib/event.rb:36:in `total_inventory'
     # ./spec/event_spec.rb:79:in `block (2 levels) in <top (required)>'

Finished in 0.00629 seconds (files took 0.13848 seconds to load)
5 examples, 1 failure

Failed examples:

rspec ./spec/event_spec.rb:61 # Event calculates

/Users/alexferencz/turing/attempt_2_MOD1/IC/fte_2103 main $rspec spec/event_spec.rb
....F

Failures:

  1) Event calculates
     Failure/Error: items.name
     
     NoMethodError:
       undefined method `name' for #<Hash:0x00007fe55f8cbf58>
     # ./lib/event.rb:37:in `block in total_inventory'
     # ./lib/event.rb:36:in `each'
     # ./lib/event.rb:36:in `group_by'
     # ./lib/event.rb:36:in `total_inventory'
     # ./spec/event_spec.rb:79:in `block (2 levels) in <top (required)>'

Finished in 0.00387 seconds (files took 0.09756 seconds to load)
5 examples, 1 failure

Failed examples:

rspec ./spec/event_spec.rb:61 # Event calculates
@Arique1104
Copy link
Copy Markdown

Alrighty...this is a great first attempt. Now sift through it and see if you can use the information here to establish your next logical step. Another way to phrase this is, what are you trying to solve for? What will you need to accomplish it? And just type that out and let me know when you've hit a wall.

@Arique1104
Copy link
Copy Markdown

Let me know through text, please.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment