Class: Lita::Handlers::Mtg

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/mtg.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cardObject

insert handler code here



7
8
9
# File 'lib/lita/handlers/mtg.rb', line 7

def card
  @card
end

Instance Method Details

#card_back(card) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/lita/handlers/mtg.rb', line 51

def card_back(card)
    multiverse_id = card.multiverse_id

    if card.number[-1, 1] == "a"
        multiverse_id += 1
    else
        multiverse_id -= 1
    end

    return MTG::Card.find(multiverse_id)

end

#card_good?(card) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
49
# File 'lib/lita/handlers/mtg.rb', line 46

def card_good?(card)
  return true if card.image_url
  false
end

#go_get_card(req) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/lita/handlers/mtg.rb', line 15

def go_get_card(req)
  puts "Searching for #{req.match_data[1]}"
  cards = MTG::Card.where(name: "#{req.match_data[1]}").all
  if cards.empty?
      return req.reply "Couldn't find \"#{req.match_data[1]}\", please try again"
  end

  for card in cards
      if card_good?(card)
          @card = card
          break
      end
  end

  image = @card.image_url

  if @card.layout == "double-faced"
      back = card_back(@card)
      image_two = back.image_url
  end

  if image_two
      resp = "#{image}\n#{image_two}"
  else
      resp = image
  end

  req.reply resp
end