commit 9798e1df13813e1feae4daaa10b0032c0b139222 Author: Darren VanBuren Date: Tue Sep 30 03:04:07 2014 -0700 initial commit diff --git a/public/main.css b/public/main.css new file mode 100644 index 0000000..75d79fc --- /dev/null +++ b/public/main.css @@ -0,0 +1,3 @@ +body { + font-family: 'Ubuntu', sans-serif; +} \ No newline at end of file diff --git a/stargaterando.rb b/stargaterando.rb new file mode 100644 index 0000000..16b3644 --- /dev/null +++ b/stargaterando.rb @@ -0,0 +1,61 @@ +# Camping is a great small framework. +Camping.goes :StargateRando + +# This holds all our constant data. +module StargateRando::Data + SERIES_SHORT_NAMES = ['SG-1', 'SGA', 'SGU'] + SERIES_NAMES = { 'SG-1' => 'Stargate SG-1', 'SGA' => 'Stargate Atlantis', 'SGU' => 'Stargate Universe'} + SEASONS_PER_SERIES = { 'SG-1' => 10, 'SGA' => 5, 'SGU' => 2} +end + +# This holds our (currently there's only one) controllers. +module StargateRando::Controllers + class Index < R '/' + def get + chosen_series_id = Data::SERIES_SHORT_NAMES[rand(3)] + @series = Data::SERIES_NAMES[chosen_series_id] + num_seasons = Data::SEASONS_PER_SERIES[chosen_series_id] + chosen_season = 1 + rand(num_seasons) + + # SG-1 has a couple of seasons of length 22 and one of length 21 so we need to handle that. + case chosen_series_id + when 'SG-1' + case chosen_season + when 1 + num_episodes = 21 + when 2..7 + num_episodes = 22 + else + num_episodes = 20 + end + else + num_episodes = 20 + end + + chosen_episode = 1 + rand(num_episodes) + + @episode_code = "#{chosen_season}x#{chosen_episode}" + render :results + end + end +end + +# This holds our views. Markaby is pretty swagtacular. +module StargateRando::Views + def layout + html do + head do + title { "Stargate Episode Randomizer" } + link :rel => "stylesheet", :href => "http://fonts.googleapis.com/css?family=Ubuntu:400,700", :type => "text/css" + link :rel => "stylesheet", :href => "/main.css", :type => "text/css" + end + + body { self << yield } + end + end + + def results + h1 "You should watch #{@series}: #{@episode_code}" + end + +end \ No newline at end of file