Class: Lita::Handlers::OnewheelGarfield
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::OnewheelGarfield
- Defined in:
- lib/lita/handlers/onewheel_garfield.rb
Instance Method Summary collapse
- #get_garfield_for_date(date, username) ⇒ Object
- #get_garfield_for_today(username) ⇒ Object
- #handle_default_garfield(response) ⇒ Object
- #handle_first_garfield(response) ⇒ Object
- #handle_mdy_garfield(response) ⇒ Object
- #handle_next_garfield(response) ⇒ Object
- #handle_prev_garfield(response) ⇒ Object
- #handle_random_garfield(response) ⇒ Object
- #handle_today_garfield(response) ⇒ Object
- #handle_ymd_garfield(response) ⇒ Object
- #zero_prefix(dat) ⇒ Object
Instance Method Details
#get_garfield_for_date(date, username) ⇒ Object
50 51 52 53 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 50 def get_garfield_for_date(date, username) redis.set(username, date) "https://d1ejxu6vysztl5.cloudfront.net/comics/garfield/#{date.year}/#{date.year}-#{zero_prefix date.month}-#{zero_prefix date.day}.gif" end |
#get_garfield_for_today(username) ⇒ Object
45 46 47 48 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 45 def get_garfield_for_today(username) date = Date.today get_garfield_for_date(date, username) end |
#handle_default_garfield(response) ⇒ Object
69 70 71 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 69 def handle_default_garfield(response) response.reply get_garfield_for_today response.user.name end |
#handle_first_garfield(response) ⇒ Object
73 74 75 76 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 73 def handle_first_garfield(response) date = Date.civil(1978, 6, 19) response.reply get_garfield_for_date(date, response.user.name) end |
#handle_mdy_garfield(response) ⇒ Object
87 88 89 90 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 87 def handle_mdy_garfield(response) date = Date.civil(response.match_data[3].to_i, response.match_data[1].to_i, response.match_data[2].to_i) response.reply get_garfield_for_date(date, response.user.name) end |
#handle_next_garfield(response) ⇒ Object
92 93 94 95 96 97 98 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 92 def handle_next_garfield(response) date = Date.parse redis.get(response.user.name) unless date == Date.today date += 1 end response.reply get_garfield_for_date(date, response.user.name) end |
#handle_prev_garfield(response) ⇒ Object
100 101 102 103 104 105 106 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 100 def handle_prev_garfield(response) date = Date.parse redis.get(response.user.name) unless date == Date.civil(1978, 6, 19) date -= 1 end response.reply get_garfield_for_date(date, response.user.name) end |
#handle_random_garfield(response) ⇒ Object
63 64 65 66 67 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 63 def handle_random_garfield(response) # get a random date between 1978-06-19 and now date = rand(Date.civil(1978, 6, 19)..Date.today()) response.reply get_garfield_for_date(date, response.user.name) end |
#handle_today_garfield(response) ⇒ Object
78 79 80 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 78 def handle_today_garfield(response) response.reply get_garfield_for_today response.user.name end |
#handle_ymd_garfield(response) ⇒ Object
82 83 84 85 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 82 def handle_ymd_garfield(response) date = Date.civil(response.match_data[1].to_i, response.match_data[2].to_i, response.match_data[3].to_i) response.reply get_garfield_for_date(date, response.user.name) end |
#zero_prefix(dat) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/lita/handlers/onewheel_garfield.rb', line 55 def zero_prefix(dat) if dat.to_i < 10 "0#{dat}" else dat end end |