Class: SocialMedia::Service::Twitter

Inherits:
Base
  • Object
show all
Defined in:
lib/social_media/service/twitter.rb

Instance Attribute Summary

Attributes inherited from Base

#connection_params

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#handle_error, #initialize

Constructor Details

This class inherits a constructor from SocialMedia::Service::Base

Class Method Details

.nameObject



5
6
7
# File 'lib/social_media/service/twitter.rb', line 5

def self.name
  :twitter
end

Instance Method Details

#cast_error(error) ⇒ Object



9
10
11
# File 'lib/social_media/service/twitter.rb', line 9

def cast_error error
  return ::SocialMedia::Error::Unauthorized if error.is_a? ::Twitter::Error::Unauthorized
end

#clientObject



13
14
15
16
17
18
19
20
# File 'lib/social_media/service/twitter.rb', line 13

def client
  @client ||= ::Twitter::REST::Client.new do |config|
    config.consumer_key = connection_params[:consumer_key]
    config.consumer_secret = connection_params[:consumer_secret]
    config.access_token = connection_params[:access_token]
    config.access_token_secret = connection_params[:access_token_secret]
  end
end

#delete_message(message_id) ⇒ Object



27
28
29
30
# File 'lib/social_media/service/twitter.rb', line 27

def delete_message message_id
  result = client.destroy_status message_id
  result.first.id
end

#send_message(message, options = {}) ⇒ Object



22
23
24
25
# File 'lib/social_media/service/twitter.rb', line 22

def send_message message, options={}
  return send_text_message(message, options) unless options.has_key? :filenames
  send_multipart_message message, options
end

#update_profile_background(filename) ⇒ Object



32
33
34
# File 'lib/social_media/service/twitter.rb', line 32

def update_profile_background filename
  client.update_profile_banner(open filename)
end

#update_profile_image(filename) ⇒ Object



36
37
38
39
# File 'lib/social_media/service/twitter.rb', line 36

def update_profile_image filename
  result = client.update_profile_image(open filename)
  result.id
end