twitter_client 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/twitter_client.rb +18 -16
  3. metadata +11 -17
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f72b516a6b8c21ae4e7e5ba55ac9eee2f15c5306
4
+ data.tar.gz: 7ace4529c66f1ff55ea5deed4ed52155b4bea15e
5
+ SHA512:
6
+ metadata.gz: bdbb27b0c83993dc1e0d413250a34d60bb738e45b83256e41c99cad5f3d92e771842da970cb53fe413e6d02c9451b3a0d75263b29ab0c3cadffb1394257b68f4
7
+ data.tar.gz: ba292edae10626d655f930cf209ac8e9be363d47084284becbeeea3995aaf6c221db35375d7de3566ec46b2c11914fab57a200109538b4d54d02796decf0a1c5
@@ -1,6 +1,5 @@
1
1
  require 'oauth'
2
2
  require 'twitter_oauth'
3
- require 'twitter_client'
4
3
 
5
4
  class TwitterClient
6
5
  attr_accessor :api, :settings
@@ -9,10 +8,10 @@ class TwitterClient
9
8
 
10
9
  def initialize
11
10
  self.api = TwitterOAuth::Client.new(
12
- :consumer_key => settings[:consumer_key],
13
- :consumer_secret => settings[:consumer_secret],
14
- :token => settings[:token],
15
- :secret => settings[:token_secret]
11
+ consumer_key: settings[:consumer_key],
12
+ consumer_secret: settings[:consumer_secret],
13
+ token: settings[:token],
14
+ secret: settings[:token_secret]
16
15
  )
17
16
  end
18
17
 
@@ -29,10 +28,13 @@ class TwitterClient
29
28
  Rails.logger.info("Twitter error: #{err.message} (status: #{message})")
30
29
  end
31
30
 
32
- def friends(all = false)
33
- all ? api.all_friends : api.friends
31
+ def friends(reload = false)
32
+ Rails.cache.delete("twitter_friends") if reload
33
+ Rails.cache.fetch("twitter_friends", expires_in: 12.hours) do
34
+ api.all_friends
35
+ end
34
36
  end
35
-
37
+
36
38
  def follow(screen_name)
37
39
  api.send(:post, "/friendships/create.json?screen_name=#{screen_name}&follow=true")
38
40
  end
@@ -43,20 +45,20 @@ class TwitterClient
43
45
 
44
46
  def self.authenticate
45
47
  consumer = OAuth::Consumer.new(settings[:consumer_key], settings[:consumer_secret],
46
- :site => "https://api.twitter.com",
47
- :request_token_path => "/oauth/request_token",
48
- :authorize_path => "/oauth/authorize",
49
- :access_token_path => "/oauth/access_token"
48
+ site: "https://api.twitter.com",
49
+ request_token_path: "/oauth/request_token",
50
+ authorize_path: "/oauth/authorize",
51
+ access_token_path: "/oauth/access_token"
50
52
  )
51
53
 
52
- rt = consumer.get_request_token({:oauth_callback => "oob"})
54
+ rt = consumer.get_request_token({oauth_callback: "oob"})
53
55
  print "Goto following url then enter verification code\n"
54
56
  print rt.authorize_url + "\n"
55
57
  print "Enter verification code: "
56
58
  code = $stdin.gets.strip
57
- access_token = rt.get_access_token(:oauth_verifier => code)
59
+ access_token = rt.get_access_token(oauth_verifier: code)
58
60
 
59
- data = settings.merge(:token => access_token.params[:oauth_token], :token_secret => access_token.params[:oauth_token_secret])
61
+ data = settings.merge(token: access_token.params[:oauth_token], token_secret: access_token.params[:oauth_token_secret])
60
62
 
61
63
  File.open(config_file, "w") {|f|f.write(YAML.dump(data))}
62
64
  puts "Token saved"
@@ -72,7 +74,7 @@ class TwitterClient
72
74
  end
73
75
  "#{message} #{url}"
74
76
  end
75
-
77
+
76
78
  private
77
79
  def self.settings
78
80
  @settings ||= YAML.load_file(config_file)
metadata CHANGED
@@ -1,46 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
5
- prerelease:
4
+ version: 1.2.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Olivier Ruffin
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-25 00:00:00.000000000 Z
11
+ date: 2015-01-14 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: oauth
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: twitter_oauth
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  description:
@@ -53,26 +48,25 @@ files:
53
48
  - lib/twitter_client.rb
54
49
  homepage: http://muweb.fr
55
50
  licenses: []
51
+ metadata: {}
56
52
  post_install_message:
57
53
  rdoc_options: []
58
54
  require_paths:
59
55
  - lib
60
56
  required_ruby_version: !ruby/object:Gem::Requirement
61
- none: false
62
57
  requirements:
63
- - - ! '>='
58
+ - - ">="
64
59
  - !ruby/object:Gem::Version
65
60
  version: '0'
66
61
  required_rubygems_version: !ruby/object:Gem::Requirement
67
- none: false
68
62
  requirements:
69
- - - ! '>='
63
+ - - ">="
70
64
  - !ruby/object:Gem::Version
71
65
  version: '0'
72
66
  requirements: []
73
67
  rubyforge_project:
74
- rubygems_version: 1.8.23
68
+ rubygems_version: 2.2.2
75
69
  signing_key:
76
- specification_version: 3
70
+ specification_version: 4
77
71
  summary: Minimalist twitter client for my specific use
78
72
  test_files: []