Class: Lita::Handlers::Garfield
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::Garfield
- Defined in:
- lib/lita/handlers/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
30 31 32 33 |
# File 'lib/lita/handlers/garfield.rb', line 30 def get_garfield_for_date(date, username) redis.set(username, date) "https://garfield.com/uploads/strips/#{date.year}-#{zero_prefix date.month}-#{zero_prefix date.day}.jpg" end |
#get_garfield_for_today(username) ⇒ Object
25 26 27 28 |
# File 'lib/lita/handlers/garfield.rb', line 25 def get_garfield_for_today(username) date = Date.today get_garfield_for_date(date, username) end |
#handle_default_garfield(response) ⇒ Object
49 50 51 |
# File 'lib/lita/handlers/garfield.rb', line 49 def handle_default_garfield(response) response.reply get_garfield_for_today response.user.name end |
#handle_first_garfield(response) ⇒ Object
53 54 55 56 |
# File 'lib/lita/handlers/garfield.rb', line 53 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
67 68 69 70 |
# File 'lib/lita/handlers/garfield.rb', line 67 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
72 73 74 75 76 77 78 |
# File 'lib/lita/handlers/garfield.rb', line 72 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
80 81 82 83 84 85 86 |
# File 'lib/lita/handlers/garfield.rb', line 80 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
43 44 45 46 47 |
# File 'lib/lita/handlers/garfield.rb', line 43 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
58 59 60 |
# File 'lib/lita/handlers/garfield.rb', line 58 def handle_today_garfield(response) response.reply get_garfield_for_today response.user.name end |
#handle_ymd_garfield(response) ⇒ Object
62 63 64 65 |
# File 'lib/lita/handlers/garfield.rb', line 62 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
35 36 37 38 39 40 41 |
# File 'lib/lita/handlers/garfield.rb', line 35 def zero_prefix(dat) if dat.to_i < 10 "0#{dat}" else dat end end |