jokr 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/controller.rb +70 -0
  3. metadata +49 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bb87e3441f8c68cbf8b5bbd4d57bcc2e7dc5228b
4
+ data.tar.gz: df2c3b1ec2c2dfa8370e69c27de7d3e60bed0abd
5
+ SHA512:
6
+ metadata.gz: d37f060e0ebdacdf21f0b944c23168e767beb2191a6a49707f000471f392f47135131202e671a7b7106cbec2473c6bfeeb045ad26a46ead256c97155ff7afdcb
7
+ data.tar.gz: a4c0e41b4fb18e97686a6859c98eea537a6aa7f83231d5e937a27f2aa825a428142076143bcb8162dbff4e20be4c803b846895eaf200749df5994ca09ac322f4
@@ -0,0 +1,70 @@
1
+ require_relative 'viewer'
2
+ require_relative 'reddit'
3
+
4
+ class Controller
5
+
6
+ def initialize
7
+ @viewer = Viewer.new
8
+ @model = Model.new
9
+ welcome_screen
10
+ end
11
+
12
+ def welcome_screen
13
+ @viewer.welcome_screen
14
+ get_choice
15
+ end
16
+
17
+ def get_choice
18
+ input = @viewer.choice_screen
19
+ case input
20
+ when '1'
21
+ get_joke
22
+ when '2'
23
+ get_image
24
+ else
25
+ puts "Come back when you are ready."
26
+ end
27
+ end
28
+
29
+ def get_joke
30
+ joke = @model.get_joke_from_reddit
31
+ @viewer.display_joke(joke)
32
+ get_punch_line
33
+ end
34
+
35
+ def get_image
36
+ @image_url = @model.get_funny_image_from_reddit
37
+ get_image_punch_line
38
+ end
39
+
40
+ def get_image_punch_line
41
+ @punch_line = @model.get_image_punch_line
42
+ display_image
43
+ end
44
+
45
+ def display_image
46
+ @viewer.display_image(@punch_line, @image_url)
47
+ input = @viewer.see_another?
48
+ another_joke?(input)
49
+ end
50
+
51
+ def get_punch_line
52
+ punch_line = @model.get_punch_line_from_reddit
53
+ input = @viewer.display_punch_line(punch_line)
54
+ another_joke?(input)
55
+ end
56
+
57
+ def another_joke?(response)
58
+ if response == 'yes' #|| 'Yes' || 'yeah'
59
+ get_choice
60
+ else
61
+ @viewer.good_bye
62
+ end
63
+ end
64
+
65
+ end
66
+
67
+
68
+ # DRIVER
69
+
70
+ Controller.new
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jokr
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Dinesh Rai
8
+ - Jake Hunh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-30 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Jokr is a supreme means of bringing a smile to an otherwise barrenly-lacking
15
+ upside-down frown wasteland. Put simply, it helps you smile .. Something we all
16
+ could use a bit more of in our lives. So enjoy (and don't resist the smile !)
17
+ email:
18
+ - drai89@gmail.com
19
+ - imasidonion@gmail.com
20
+ executables: []
21
+ extensions: []
22
+ extra_rdoc_files: []
23
+ files:
24
+ - lib/controller.rb
25
+ homepage: http://rubygems.org/gems/jokr
26
+ licenses:
27
+ - MIT
28
+ metadata: {}
29
+ post_install_message:
30
+ rdoc_options: []
31
+ require_paths:
32
+ - lib
33
+ required_ruby_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ requirements: []
44
+ rubyforge_project:
45
+ rubygems_version: 2.2.2
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: Find a random joke or funny image to lighten your mood
49
+ test_files: []