class Twitter::DirectMessageEvent
Attributes
created_timestamp[R]
Public Class Methods
new(attrs)
click to toggle source
Calls superclass method
Twitter::Identity::new
# File lib/twitter/direct_message_event.rb, line 14 def initialize(attrs) attrs = read_from_response(attrs) text = attrs.dig(:message_create, :message_data, :text) urls = attrs.dig(:message_create, :message_data, :entities, :urls) text.gsub!(urls[0][:url], urls[0][:expanded_url]) if urls.any? attrs[:direct_message] = build_direct_message(attrs, text) super end
Private Instance Methods
build_direct_message(attrs, text)
click to toggle source
# File lib/twitter/direct_message_event.rb, line 32 def build_direct_message(attrs, text) recipient_id = attrs[:message_create][:target][:recipient_id].to_i sender_id = attrs[:message_create][:sender_id].to_i {id: attrs[:id].to_i, created_at: Time.at(attrs[:created_timestamp].to_i / 1000.0), sender: {id: sender_id}, sender_id: sender_id, recipient: {id: recipient_id}, recipient_id: recipient_id, text: text} end
read_from_response(attrs)
click to toggle source
@return [Hash] Normalized hash of attrs
# File lib/twitter/direct_message_event.rb, line 28 def read_from_response(attrs) attrs[:event].nil? ? attrs : attrs[:event] end