Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.78 KB | None | 0 0
  1. class Stuff
  2.   attr_accessor :name, :weight
  3.   @db = Array.new
  4.   @id ||= 0
  5.  
  6.   def self.create(params)
  7.     object = Hash.new
  8.     object[:id] = @id
  9.     object[:name] = params[:name]
  10.     object[:weight] = params[:weight]
  11.     @db << object
  12.     @id += 1
  13.   end
  14.  
  15.   def self.all
  16.     @db.each do |stuff|
  17.       puts "#{stuff[:id]}. name: #{stuff[:name]}, weight: #{stuff[:weight]}"
  18.     end
  19.   end
  20.  
  21.   def self.destroy(params)
  22.     @db.each do |stuff|
  23.       if stuff[:id] == params[:id]
  24.         puts "#{stuff[:name]}  removed!"
  25.         @db.delete(stuff)
  26.       end
  27.     end
  28.   end
  29. end
  30.  
  31. def add_stuff
  32.   loop do
  33.     puts "Какое вещество хотите видеть в отчёте? (введите exit, когда закончите)"
  34.     stuff = gets.to_s.capitalize.chomp
  35.       if stuff.downcase.strip == "exit"
  36.         welcome
  37.       end
  38.     puts "Сколько граммов? "
  39.     gr = gets.to_f
  40.     check_cancel(gr)
  41.     check_cancel(stuff)
  42.     Stuff.create( name: stuff, weight: gr)
  43.     Stuff.all
  44.   end
  45. end
  46.  
  47. def welcome
  48.   puts "Что будем делать? 1 - добавить, 2 - показать все, 3 удалить. "
  49.   act = gets.chomp
  50.   check_cancel(act)
  51.   choice(act)
  52. end
  53.  
  54. def choice(act)
  55.   if act == "1"
  56.     add_stuff
  57.   elsif act == "2"
  58.     Stuff.all
  59.     welcome
  60.   elsif act == "3"
  61.     remove
  62.   else
  63.     puts "Enter valid parameter"
  64.     welcome
  65.   end
  66. end
  67.  
  68. def remove
  69.   puts "-------------------------"
  70.   Stuff.all
  71.   puts "Введите номер элемента для удаления "
  72.   numb = gets.strip
  73.   check_cancel(numb)
  74.   if numb.to_i.is_a? Integer
  75.     Stuff.destroy(id: numb.to_i)
  76.   else
  77.     puts "Enter corect id"
  78.     remove
  79.   end
  80.   welcome
  81. end
  82.  
  83. def check_cancel(input)
  84.   exit if input == "cancel"
  85. end
  86.  
  87. welcome
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement