Class: Governator::TwitterClient

Inherits:
Object
  • Object
show all
Defined in:
lib/governator/twitter_client.rb

Overview

Wrapper for the Twitter client with convenience methods

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject (readonly)

Returns the value of attribute client.



7
8
9
# File 'lib/governator/twitter_client.rb', line 7

def client
  @client
end

Class Method Details

.config(&block) ⇒ Object



9
10
11
12
13
14
# File 'lib/governator/twitter_client.rb', line 9

def config(&block)
  @client = Twitter::REST::Client.new(&block)
rescue NameError
  raise RuntimeError, 'set `use_twitter` configuration option to true if you '\
    ' wish to configure and use a Twitter client'
end

.cspan_listObject



47
48
49
# File 'lib/governator/twitter_client.rb', line 47

def cspan_list
  @_cspan_list ||= client.lists('cspan').detect { |l| l.name == 'Governors' }
end

.cspan_list_membersObject



51
52
53
# File 'lib/governator/twitter_client.rb', line 51

def cspan_list_members
  @_cspan_list_members ||= client.list_members(cspan_list, count: 100).attrs[:users]
end

.dga_listObject



39
40
41
# File 'lib/governator/twitter_client.rb', line 39

def dga_list
  @_dga_list ||= client.lists('DemGovs').detect { |l| l.name == 'Democratic Governors' }
end

.dga_list_membersObject



43
44
45
# File 'lib/governator/twitter_client.rb', line 43

def dga_list_members
  @_dga_list_members ||= client.list_members(dga_list, count: 100).attrs[:users]
end

.governorsObject



16
17
18
19
20
21
# File 'lib/governator/twitter_client.rb', line 16

def governors
  @_governors ||= nga_list_members + rga_list_members + cspan_list_members + dga_list_members
rescue Twitter::Error::BadRequest => error
  puts error, error.message, caller
  retry
end

.nga_listObject



23
24
25
# File 'lib/governator/twitter_client.rb', line 23

def nga_list
  @_nga_list ||= client.lists('NatlGovsAssoc').detect { |l| l.name == 'Governors' }
end

.nga_list_membersObject



27
28
29
# File 'lib/governator/twitter_client.rb', line 27

def nga_list_members
  @_nga_list_members ||= client.list_members(nga_list, count: 100).attrs[:users]
end

.rga_listObject



31
32
33
# File 'lib/governator/twitter_client.rb', line 31

def rga_list
  @_rga_list ||= client.lists('The_RGA').detect { |l| l.name == 'GOP Governors' }
end

.rga_list_membersObject



35
36
37
# File 'lib/governator/twitter_client.rb', line 35

def rga_list_members
  @_rga_list_members ||= client.list_members(rga_list, count: 100).attrs[:users]
end