Class: Ruboty::TreasureData::Actions::RunSchedule

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ RunSchedule

Returns a new instance of RunSchedule.



7
8
9
# File 'lib/ruboty/treasure_data/actions/run_schedule.rb', line 7

def initialize(message)
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



5
6
7
# File 'lib/ruboty/treasure_data/actions/run_schedule.rb', line 5

def message
  @message
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ruboty/treasure_data/actions/run_schedule.rb', line 11

def call
  begin
    jobs = td_client.run_schedule(schedule, Time.now, nil)
  rescue ::TreasureData::NotFoundError
    message.reply("Resource not found", code: true)
    return
  rescue
    message.reply("Something wrong", code: true)
    return
  end

  job = jobs.first

  while !job.finished?
    sleep 2
    job.update_progress!
  end

  if job.success?
    table = Terminal::Table.new(rows: job.result)
    message.reply(table, code: true)
  else
    message.reply(job.result, code: true)
  end
end