Class: Ruboty::Actions::Jobcan

Inherits:
Object
  • Object
show all
Defined in:
lib/ruboty/actions/jobcan.rb

Constant Summary collapse

NAMESPACE =
"jobcan"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ Jobcan

Returns a new instance of Jobcan.



13
14
15
# File 'lib/ruboty/actions/jobcan.rb', line 13

def initialize(message)
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



11
12
13
# File 'lib/ruboty/actions/jobcan.rb', line 11

def message
  @message
end

Instance Method Details

#clock_in_outObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ruboty/actions/jobcan.rb', line 32

def clock_in_out
  unless client
    message.reply("I don't know your JOBCAN login info.")
    return
  end

  if (group_name = message[:group_name])
    unless (group_id = user_data["alias_#{group_name}"])
      message.reply("I don't know that JOBCAN group alias '#{group_name}'.")
      return
    end
  else
    unless (group_id = user_data["group_id"])
      message.reply("I don't know your JOBCAN group ID.")
      return
    end
  end

  result = client.clock(message[:in_out].to_sym, group_id: group_id)
  unless result.is_a?(Hash) && (current_status = result["current_status"])
    message.reply("I got unknown response from JOBCAN: #{result}.")
    return
  end

  message.reply("OK, your current status is #{current_status}.")
end

#register_group_aliasObject



27
28
29
30
# File 'lib/ruboty/actions/jobcan.rb', line 27

def register_group_alias
  user_data["alias_#{message[:group_name]}"] = message[:group_id]
  message.reply("I registered alias #{message[:group_name]} to ID #{message[:group_id]}.")
end

#remember_codeObject



17
18
19
20
# File 'lib/ruboty/actions/jobcan.rb', line 17

def remember_code
  user_data["code"] = message[:code]
  message.reply("I remember.")
end

#remember_group_idObject



22
23
24
25
# File 'lib/ruboty/actions/jobcan.rb', line 22

def remember_group_id
  user_data["group_id"] = message[:group_id]
  message.reply("I remember.")
end