Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Stuff
- attr_accessor :name, :weight
- @db = Array.new
- @id ||= 0
- def self.create(params)
- object = Hash.new
- object[:id] = @id
- object[:name] = params[:name]
- object[:weight] = params[:weight]
- @db << object
- @id += 1
- end
- def self.all
- @db.each do |stuff|
- puts "#{stuff[:id]}. name: #{stuff[:name]}, weight: #{stuff[:weight]}"
- end
- end
- def self.destroy(params)
- @db.each do |stuff|
- if stuff[:id] == params[:id]
- puts "#{stuff[:name]} removed!"
- @db.delete(stuff)
- end
- end
- end
- end
- def add_stuff
- loop do
- puts "Какое вещество хотите видеть в отчёте? (введите exit, когда закончите)"
- stuff = gets.to_s.capitalize.chomp
- if stuff.downcase.strip == "exit"
- welcome
- end
- puts "Сколько граммов? "
- gr = gets.to_f
- check_cancel(gr)
- check_cancel(stuff)
- Stuff.create( name: stuff, weight: gr)
- Stuff.all
- end
- end
- def welcome
- puts "Что будем делать? 1 - добавить, 2 - показать все, 3 удалить. "
- act = gets.chomp
- check_cancel(act)
- choice(act)
- end
- def choice(act)
- if act == "1"
- add_stuff
- elsif act == "2"
- Stuff.all
- welcome
- elsif act == "3"
- remove
- else
- puts "Enter valid parameter"
- welcome
- end
- end
- def remove
- puts "-------------------------"
- Stuff.all
- puts "Введите номер элемента для удаления "
- numb = gets.strip
- check_cancel(numb)
- if numb.to_i.is_a? Integer
- Stuff.destroy(id: numb.to_i)
- else
- puts "Enter corect id"
- remove
- end
- welcome
- end
- def check_cancel(input)
- exit if input == "cancel"
- end
- welcome
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement