class MosEisley::S3PO::Action
Attributes
event[R]
original_message[R]
type[R]
Public Class Methods
add_pending(act)
click to toggle source
# File lib/s3po/action.rb, line 6 def self.add_pending(act) pending_gc @pending ||= {} @pending[act.callback_id] = act end
new(e)
click to toggle source
# File lib/s3po/action.rb, line 30 def initialize(e) @event = e @type = @event[:type].to_sym if e[:original_message] @original_message = Message.new(e[:original_message]) end end
pending()
click to toggle source
# File lib/s3po/action.rb, line 12 def self.pending pending_gc @pending end
pending_gc()
click to toggle source
# File lib/s3po/action.rb, line 17 def self.pending_gc return unless @pending return if @gc_running @gc_running = true delkeys = [] @pending.each do |id, act| ts = Time.at(act.action_ts.to_f) delkeys << id if Time.now - ts > 60 * 30 end delkeys.each { |k| @pending.delete(k) } @gc_running = false end
Public Instance Methods
action()
click to toggle source
# File lib/s3po/action.rb, line 38 def action event[:actions][0] end
action_ts()
click to toggle source
# File lib/s3po/action.rb, line 69 def action_ts event[:action_ts] end
action_value()
click to toggle source
# File lib/s3po/action.rb, line 42 def action_value v = nil case action[:type].to_sym when :button v = action[:value] when :select v = action[:selected_options][0][:value] end return v end
attachment_id()
click to toggle source
# File lib/s3po/action.rb, line 73 def attachment_id event[:attachment_id].to_i end
callback_id()
click to toggle source
# File lib/s3po/action.rb, line 53 def callback_id event[:callback_id] end
channel()
click to toggle source
# File lib/s3po/action.rb, line 57 def channel event[:channel][:id] end
message_age()
click to toggle source
# File lib/s3po/action.rb, line 93 def message_age Time.now.to_i - message_ts.to_i end
message_ts()
click to toggle source
# File lib/s3po/action.rb, line 65 def message_ts event[:message_ts] end
original_event()
click to toggle source
# File lib/s3po/action.rb, line 89 def original_event Action.pending[callback_id] end
response_url()
click to toggle source
# File lib/s3po/action.rb, line 77 def response_url event[:response_url] end
submission()
click to toggle source
# File lib/s3po/action.rb, line 85 def submission event[:submission] end
trigger_id()
click to toggle source
# File lib/s3po/action.rb, line 81 def trigger_id event[:trigger_id] end
user()
click to toggle source
# File lib/s3po/action.rb, line 61 def user event[:user][:id] end