Class: LineItemsController
- Inherits:
-
Object
- Object
- LineItemsController
- Defined in:
- lib/invoices/controllers/line_items_controller.rb
Instance Method Summary collapse
- #compile_line_items ⇒ Object
-
#initialize(invoice, commits, client) ⇒ LineItemsController
constructor
A new instance of LineItemsController.
Constructor Details
#initialize(invoice, commits, client) ⇒ LineItemsController
Returns a new instance of LineItemsController.
2 3 4 5 |
# File 'lib/invoices/controllers/line_items_controller.rb', line 2 def initialize(invoice, commits, client) @invoice, @commits_index, @client = invoice, commits, client compile_line_items end |
Instance Method Details
#compile_line_items ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/invoices/controllers/line_items_controller.rb', line 6 def compile_line_items puts "Would you like to enter a different rate for each commit? (y/n)" custom_rate = true if $stdin.gets.chomp == "y" i = 0 line_item = nil @commits_index.each do |commit| puts "\ncommit #{i + 1}: " + commit.msg puts "how long did this take?" item_hrs = $stdin.gets.chomp if custom_rate puts "how much will you charge?" line_item = LineItem.new(@invoice.number, i + 1, commit.date, commit.msg, item_hrs, $stdin.gets.chomp) else line_item = LineItem.new(@invoice.number, i + 1, commit.date, commit.msg, item_hrs, @client.rate) end line_item.save @invoice.add_line_item(line_item) i += 1 end end |