class Twitter::DirectMessages::WelcomeMessageWrapper

Attributes

created_timestamp[R]

Public Class Methods

new(attrs) click to toggle source
Calls superclass method Twitter::Identity::new
# File lib/twitter/direct_messages/welcome_message_wrapper.rb, line 11
def initialize(attrs)
  attrs = read_from_response(attrs)
  text = attrs.dig(:message_data, :text)
  urls = attrs.dig(:message_data, :entities, :urls)

  text.gsub!(urls[0][:url], urls[0][:expanded_url]) if urls.any?

  attrs[:welcome_message] = build_welcome_message(attrs, text)
  super
end

Private Instance Methods

build_welcome_message(attrs, text) click to toggle source
# File lib/twitter/direct_messages/welcome_message_wrapper.rb, line 31
def build_welcome_message(attrs, text)
  {
    id: attrs[:id].to_i,
    created_at: Time.at(attrs[:created_timestamp].to_i / 1000.0),
    text: text,
    name: attrs[:name],
    entities: attrs.dig(:message_data, :entities),
  }
end
read_from_response(attrs) click to toggle source

@return [Hash] Normalized hash of attrs

# File lib/twitter/direct_messages/welcome_message_wrapper.rb, line 25
def read_from_response(attrs)
  return attrs[:welcome_message] unless attrs[:welcome_message].nil?

  attrs
end