Class: Lita::Handlers::Sushiyuki
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::Sushiyuki
- Defined in:
- lib/lita/handlers/sushiyuki.rb
Constant Summary collapse
- SUSHI_MAP =
{ # filename: aliases '01' => ["yes"], '02' => ["no"], '03' => ["ok"], '04' => ["thanks", "thank you", "gyoku"], '05' => ["sorry"], '06' => ["sigh"], '07' => ["angry"], '08' => ["no comment"], '09' => ["cool"], '10' => ["kappa"], '11' => ["help"], '12' => ["what", "question", "?"], '13' => ["sleep", "sleepy"], '14' => ["oh no"], '15' => ["love"], '16' => ["grin"], '17' => ["bye"], '18' => ["sneak"], '19' => ["hide"], '20' => ["peel"], '21' => ["hot"], '22' => ["fail", "dip"], '23' => ["too much", "ikura"], '24' => ["happy"], '25' => ["smile"], '26' => ["wat", "anago"], '27' => ["tea", "content", "agari"], '28' => ["gari", "don't forget"], '29' => ["wasabi", "sabi"], '30' => ["come on", "c'mon"], '31' => ["sparkles"], '32' => ["sweat"], '33' => ["cry"], '34' => ["surprised"], '35' => ["idea"], '36' => ["sad", "sob"], '37' => ["chat"], '38' => ["phone", "call"], '39' => ["hello"], '40' => ["see you"], }
Instance Method Summary collapse
- #find_sushi(query) ⇒ Object
- #hear_sushi(response) ⇒ Object
- #list_sushiyuki(response) ⇒ Object
- #query_sushiyuki(response) ⇒ Object
- #sushi_url(filename) ⇒ Object
Instance Method Details
#find_sushi(query) ⇒ Object
48 49 50 51 52 |
# File 'lib/lita/handlers/sushiyuki.rb', line 48 def find_sushi(query) sushi = SUSHI_MAP.find{ |name, aliases| aliases.include?(query) } return nil unless sushi sushi[0] end |
#hear_sushi(response) ⇒ Object
86 87 88 |
# File 'lib/lita/handlers/sushiyuki.rb', line 86 def hear_sushi(response) response.reply sushi_url(find_sushi('sneak')) if rand(5) == 0 end |
#list_sushiyuki(response) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/lita/handlers/sushiyuki.rb', line 69 def list_sushiyuki(response) unless Lita.config.robot.adapter == :twitter return response.reply SUSHI_MAP.values.flatten.join(', ') end batch = [] SUSHI_MAP.values.flatten.each do |name| batch << name next if batch.join(', ').length < 110 response.reply batch.join(', ') batch = [] end response.reply batch.join(', ') unless batch.empty? end |
#query_sushiyuki(response) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/lita/handlers/sushiyuki.rb', line 60 def query_sushiyuki(response) query = response.matches[0][0].downcase return if query == 'list' filename = find_sushi(query) response.reply sushi_url(filename) if filename end |
#sushi_url(filename) ⇒ Object
54 55 56 |
# File 'lib/lita/handlers/sushiyuki.rb', line 54 def sushi_url(filename) "https://d1zd1v0cxnbx2w.cloudfront.net/images/sets/sushiyuki/#{filename}.png" end |