diff --git a/db/migrate/201402171619_create_beers.rb b/db/migrate/201402171619_create_beers.rb new file mode 100644 index 0000000..132f92f --- /dev/null +++ b/db/migrate/201402171619_create_beers.rb @@ -0,0 +1,14 @@ +class CreateBeers < ActiveRecord::Migration + + def change + create_table :beers do |t| + t.string :name + t.string :country + t.string :brewer + t.string :kind_of + t.integer :rating + t.string :summary + t.timestamps + end + end +end diff --git a/db/seed.rb b/db/seed.rb index 3c028ff..707f07f 100644 --- a/db/seed.rb +++ b/db/seed.rb @@ -1,7 +1,27 @@ # Cleaning Out Network.delete_all Show.delete_all +Beer.delete_all + amc = Network.create(name: "AMC") nbc = Network.create(name: "NBC") +cine = Network.create(name: "Cinemax") +usa = Network.create(name: "USA Network") +netflix = Network.create(name: "Netflix") +sho = Network.create(name: "Showtime") Show.create(name: "Mad Men", day_of_week: "Sunday", hour_of_day: 22, network: amc) Show.create(name: "Community", day_of_week: "Thursday", hour_of_day: 20, network: nbc) +Show.create(name: "Breaking Bad", day_of_week: "Sunday", hour_of_day: 22, network: amc) +Show.create(name: "Banshee", day_of_week: "Friday", hour_of_day: 22, network: cine) +Show.create(name: "Suits", day_of_week: "Thursday", hour_of_day: 21, network: usa) +Show.create(name: "House of Cards", day_of_week: "Friday", hour_of_day: 20, network: netflix) +Show.create(name: "House of Lies", day_of_week: "Sunday", hour_of_day: 22, network: sho) + +Beer.create(name: 'Nova Schin', country: 'Brazil', brewer: ' Brasil Kirin', kind_of: 'Pilsner', rating: 5, summary:'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed') +Beer.create(name: 'Tusker', country: 'Kenya', brewer: 'East African Breweries', kind_of: 'Lager', rating: 4, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Tui', country: 'New Zealand', brewer: 'DB Breweries', kind_of: 'Indian Pale Ale', rating: 4, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Victoria Bitter', country: 'Australian', brewer: 'Carlton & United Breweries, Ltd', kind_of: 'Lager', rating: 1, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Tiger', country: 'Singapore', brewer: 'Foo', kind_of: 'Lager', rating: 3, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tsummary: incidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Sapporo', country: 'Japan', brewer: 'Sapporo Breweries Ltd', kind_of: 'Lager', rating: 2, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Castle', country: 'South Africa', brewer: 'South African Breweries Ltd', kind_of: 'Lager', rating: 5, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') +Beer.create(name: 'Windhoek', country: 'Namibia', brewer: 'Namibia Breweries', kind_of: 'Lager', rating: 2, summary: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ...') diff --git a/models/beer.rb b/models/beer.rb new file mode 100644 index 0000000..2da66ce --- /dev/null +++ b/models/beer.rb @@ -0,0 +1,10 @@ +class Beer < ActiveRecord::Base + + def to_s + "\"#{name}\" , [#{kind_of}, #{country}, #{brewer}]" + end + + def summarize + "#{name} is a #{kind_of} from #{country}.\n#{summary}.\nI rate it a #{rating} out of 5." + end +end diff --git a/models/show.rb b/models/show.rb index 6c82f65..bd12d83 100644 --- a/models/show.rb +++ b/models/show.rb @@ -4,6 +4,6 @@ class Show < ActiveRecord::Base validates_presence_of :name def to_s - "#{name} airs at #{hour_of_day}:#{day_of_week}:00 on #{network} " + "#{name} airs at #{hour_of_day}:00 #{day_of_week} on #{network} " end end diff --git a/watchman.rb b/watchman.rb index ebe9be4..0be1de0 100644 --- a/watchman.rb +++ b/watchman.rb @@ -5,11 +5,40 @@ Dir.glob('./models/*').each { |r| require r} require "./db/seed" +puts "\n\nPanda Level\n" +puts "----------------------" puts "There are #{Show.count} in the database" Network.all.each do |network| puts "Shows airing on #{network}" network.shows.each do |show| puts show - end + end +end + +puts "\n\nTiger Level\n" +puts "----------------------" +puts "On which day would you like to watch TV?" +input = gets.chomp.titlecase +puts "On #{input.titlecase}s, you can watch:\n" +show_list = Show.where(day_of_week: "#{input}") + show_list.each do |show| + puts "#{show.name} at #{show.hour_of_day}:00 on #{show.network}" + end + +puts "\n\nEagle (Advanced) Level\n" +puts "----------------------" +Beer.all.each do |beer| + puts beer +end + +puts "\n\nWhat would you like to learn more about?" +input = gets.chomp.titlecase + +beer = Beer.find_by_name(input) +if beer + puts "Did you know?\n" + puts beer.summarize +else + puts "Sorry, I can't do that right now." end