twitter_anonymous_client 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.rspec +4 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +18 -0
- data/Gemfile +4 -0
- data/LICENSE.md +22 -0
- data/README.md +67 -0
- data/Rakefile +6 -0
- data/lib/twitter.rb +6 -0
- data/lib/twitter/api/timelines.rb +35 -0
- data/lib/twitter/client.rb +44 -0
- data/lib/twitter/default.rb +8 -0
- data/lib/twitter/tweet.rb +28 -0
- data/lib/twitter_anonymous_client.rb +3 -0
- data/lib/twitter_anonymous_client/version.rb +3 -0
- data/spec/fixtures/elgalu_statuses.json +1 -0
- data/spec/support/spec_helper.rb +31 -0
- data/spec/twitter_anonymous_client_spec.rb +14 -0
- data/spec/user_timeline_spec.rb +75 -0
- data/twitter_anonymous_client.gemspec +38 -0
- metadata +195 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c64fd6de388ffc764e3c9a69e5e7295013c817fb
|
4
|
+
data.tar.gz: 7642c5fd5571d16b84aee9387145a882b50e3b51
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c7838adead52bf3180021d1ed083e18c68a160ceb55e6781a4726dd9cd18580e5f52cb603184633d1a3d087ea1270390eb83ce45f527b411baa725c2f0496fe4
|
7
|
+
data.tar.gz: e50c6fe61856f4547203953862b1787bebbdc5461ad0c919106c7dcb17bd96d09afa8d5409d0639a49bc43baf0e25341816afb24a1d7da414c28b52602fcce42
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
## [In git](https://github.com/elgalu/twitter_anonymous_client/compare/v0.0.1...HEAD)
|
2
|
+
|
3
|
+
### New Features
|
4
|
+
* n/a
|
5
|
+
|
6
|
+
### Bugfixes
|
7
|
+
* n/a
|
8
|
+
|
9
|
+
### Chores
|
10
|
+
* n/a
|
11
|
+
|
12
|
+
## [v0.0.1](https://github.com/elgalu/twitter_anonymous_client/tree/v0.0.1)
|
13
|
+
|
14
|
+
## First gem release
|
15
|
+
|
16
|
+
### Features:
|
17
|
+
* Retrieve user timeline with count and slug_name filter (Leo Gallucci)
|
18
|
+
* Twitter public (anonymous) client for old v1.0 API (Leo Gallucci)
|
data/Gemfile
ADDED
data/LICENSE.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Leo Gallucci
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# TwitterAnonymousClient
|
2
|
+
|
3
|
+
[![Gem Version][GV img]][Gem Version]
|
4
|
+
[![Build Status][BS img]][Build Status]
|
5
|
+
[![Dependency Status][DS img]][Dependency Status]
|
6
|
+
[![Code Climate][CC img]][Code Climate]
|
7
|
+
[![Coverage Status][CS img]][Coverage Status]
|
8
|
+
|
9
|
+
## Description
|
10
|
+
|
11
|
+
Twitter public (anonymous) client for old v1.0 API just to retrieve the last N user statuses.
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
`$ gem install twitter_anonymous_client` or add to your [Gemfile][] this line: `gem 'twitter_anonymous_client'` then run [bundle install][]
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
require 'twitter_anonymous_client'
|
21
|
+
|
22
|
+
tweets = Twitter::Client.new.user_timeline('elgalu', count: 1)
|
23
|
+
elgalu = tweets.first #=> #<Twitter::Tweet:0x00.. @id="3076....
|
24
|
+
elgalu.text #=> "Console Ruby debug is easy - Leo Gallucci's blog http://t.co/JUpUdyf5ts"
|
25
|
+
```
|
26
|
+
|
27
|
+
## Contributing
|
28
|
+
|
29
|
+
1. Fork it.
|
30
|
+
2. Make your feature addition or bug fix and create your feature branch.
|
31
|
+
3. Update the [Change Log][].
|
32
|
+
3. Add specs/tests for it. This is important so I don't break it in a future version unintentionally.
|
33
|
+
4. Commit, create a new Pull Request.
|
34
|
+
5. Check that your pull request passes the [build][travis pull requests].
|
35
|
+
|
36
|
+
## License
|
37
|
+
|
38
|
+
Released under the MIT License. See the [LICENSE][] file for further details.
|
39
|
+
|
40
|
+
## Links
|
41
|
+
|
42
|
+
[RubyGems][] | [Documentation][] | [Source][] | [Bugtracker][] | [Build Status][] | [Dependency Status][] | [Code Climate][]
|
43
|
+
|
44
|
+
|
45
|
+
[bundle install]: http://gembundler.com/man/bundle-install.1.html
|
46
|
+
[Gemfile]: http://gembundler.com/man/gemfile.5.html
|
47
|
+
[LICENSE]: LICENSE.md
|
48
|
+
[Change Log]: CHANGELOG.md
|
49
|
+
|
50
|
+
[RubyGems]: https://rubygems.org/gems/twitter_anonymous_client
|
51
|
+
[Documentation]: http://rubydoc.info/gems/twitter_anonymous_client
|
52
|
+
[Source]: https://github.com/elgalu/twitter_anonymous_client
|
53
|
+
[Bugtracker]: https://github.com/elgalu/twitter_anonymous_client/issues
|
54
|
+
|
55
|
+
[travis pull requests]: https://travis-ci.org/elgalu/twitter_anonymous_client/pull_requests
|
56
|
+
|
57
|
+
[Gem Version]: https://rubygems.org/gems/twitter_anonymous_client
|
58
|
+
[Build Status]: https://travis-ci.org/elgalu/twitter_anonymous_client
|
59
|
+
[Dependency Status]: https://gemnasium.com/elgalu/twitter_anonymous_client
|
60
|
+
[Code Climate]: https://codeclimate.com/github/elgalu/twitter_anonymous_client
|
61
|
+
[Coverage Status]: https://coveralls.io/r/elgalu/twitter_anonymous_client
|
62
|
+
|
63
|
+
[GV img]: https://badge.fury.io/rb/twitter_anonymous_client.png
|
64
|
+
[BS img]: https://travis-ci.org/elgalu/twitter_anonymous_client.png
|
65
|
+
[DS img]: https://gemnasium.com/elgalu/twitter_anonymous_client.png
|
66
|
+
[CC img]: https://codeclimate.com/github/elgalu/twitter_anonymous_client.png
|
67
|
+
[CS img]: https://coveralls.io/repos/elgalu/twitter_anonymous_client/badge.png?branch=master
|
data/Rakefile
ADDED
data/lib/twitter.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'twitter/default'
|
2
|
+
require 'twitter/tweet'
|
3
|
+
|
4
|
+
module Twitter
|
5
|
+
module API
|
6
|
+
# @note Inspired from gems\twitter-4.5.0\spec\twitter\api\timelines_spec.rb
|
7
|
+
module Timelines
|
8
|
+
|
9
|
+
# Get some user timeline by screen name
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# user_timeline('DolarBlue', count: 1)
|
13
|
+
#
|
14
|
+
def user_timeline(screen_name, opts)
|
15
|
+
# Sanitize arguments
|
16
|
+
count = opts[:count] || 1
|
17
|
+
screen_name = screen_name.to_s
|
18
|
+
# Work out
|
19
|
+
results = get_user_timeline_results(screen_name, count)
|
20
|
+
Twitter::Tweet.build_tweets(results)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def get_user_timeline_results(screen_name, count)
|
26
|
+
path = "statuses/user_timeline.json"
|
27
|
+
qry = []
|
28
|
+
qry << ['screen_name', screen_name]
|
29
|
+
qry << ['count', count.to_s]
|
30
|
+
get(path, qry)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'twitter/default'
|
2
|
+
require 'twitter/api/timelines'
|
3
|
+
|
4
|
+
require 'net/http'
|
5
|
+
require 'uri'
|
6
|
+
require 'json'
|
7
|
+
|
8
|
+
module Twitter
|
9
|
+
# @note Inspired from gems\twitter-4.5.0\spec\twitter\tweet_spec.rb
|
10
|
+
class Client
|
11
|
+
ConnectionError = Class.new(StandardError)
|
12
|
+
|
13
|
+
include Twitter::API::Timelines
|
14
|
+
|
15
|
+
# Perform an HTTP GET request
|
16
|
+
# qry = [['slug', 'élgalu'], ['age', '31']]
|
17
|
+
def get(path, qry=[])
|
18
|
+
uri = build_uri(path, qry)
|
19
|
+
begin
|
20
|
+
result = Net::HTTP.get(uri)
|
21
|
+
rescue => ex
|
22
|
+
pute uri, "Some network connection error: #{ex.inspect}"
|
23
|
+
end
|
24
|
+
|
25
|
+
pute uri, "The result contains errors: #{result}" if result =~ /error/
|
26
|
+
JSON.parse(result)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def build_uri(path, qry=[])
|
32
|
+
query = URI.encode_www_form(qry)
|
33
|
+
path.chomp!('/')
|
34
|
+
path.sub!(/^\//, '')
|
35
|
+
base = Twitter::Default::ENDPOINT
|
36
|
+
ver = Twitter::Default::API_VERSION
|
37
|
+
URI.parse("#{base}/#{ver}/#{path}?#{query}")
|
38
|
+
end
|
39
|
+
|
40
|
+
def pute(uri, msg)
|
41
|
+
raise ConnectionError.new("#{msg}\nRequest: #{uri.to_s}\n")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'strongly_typed'
|
2
|
+
|
3
|
+
require 'date'
|
4
|
+
|
5
|
+
module Twitter
|
6
|
+
# @note Inspired from gems\twitter-4.5.0\lib\twitter\api\timelines.rb
|
7
|
+
class Tweet
|
8
|
+
# Class Methods
|
9
|
+
class << self
|
10
|
+
# Transform json array into a collection of tweets
|
11
|
+
def build_tweets(ary)
|
12
|
+
tweets = ary.map do |tweet|
|
13
|
+
args = { id: tweet['id'],
|
14
|
+
text: tweet['text'],
|
15
|
+
created_at: tweet['created_at'] }
|
16
|
+
new(args)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Instance Methods
|
22
|
+
include StronglyTyped::Model
|
23
|
+
|
24
|
+
attribute :id, String
|
25
|
+
attribute :text, String
|
26
|
+
attribute :created_at, DateTime
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"created_at":"Fri Mar 01 21:42:19 +0000 2013","id":307606752055148545,"id_str":"307606752055148545","text":"Console Ruby debug is easy - Leo Gallucci's blog http:\/\/t.co\/JUpUdyf5ts","source":"\u003ca href=\"http:\/\/twitter.com\/tweetbutton\" rel=\"nofollow\"\u003eTweet Button\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":17815313,"id_str":"17815313","name":"Leo Gallucci","screen_name":"elgalu","location":"Argentina","url":"https:\/\/github.com\/elgalu","description":"Ruby QA Automation Developer","protected":false,"followers_count":88,"friends_count":87,"listed_count":6,"created_at":"Tue Dec 02 19:07:38 +0000 2008","favourites_count":5,"utc_offset":-10800,"time_zone":"Buenos Aires","geo_enabled":false,"verified":false,"statuses_count":584,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"C6E2EE","profile_background_image_url":"http:\/\/a0.twimg.com\/images\/themes\/theme2\/bg.gif","profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme2\/bg.gif","profile_background_tile":false,"profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1154704198\/Leo_Entrega_Diploma_normal.png","profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1154704198\/Leo_Entrega_Diploma_normal.png","profile_banner_url":"https:\/\/si0.twimg.com\/profile_banners\/17815313\/1361452419","profile_link_color":"1F98C7","profile_sidebar_border_color":"C6E2EE","profile_sidebar_fill_color":"DAECF4","profile_text_color":"663B12","profile_use_background_image":true,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":null,"notifications":null},"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":1,"favorited":false,"retweeted":false,"possibly_sensitive":false}]
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# External
|
2
|
+
require 'simplecov'
|
3
|
+
require 'coveralls'
|
4
|
+
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
|
+
SimpleCov::Formatter::HTMLFormatter,
|
7
|
+
Coveralls::SimpleCov::Formatter
|
8
|
+
]
|
9
|
+
SimpleCov.start
|
10
|
+
|
11
|
+
# Internal
|
12
|
+
require 'twitter_anonymous_client'
|
13
|
+
|
14
|
+
# External
|
15
|
+
require 'webmock/rspec'
|
16
|
+
|
17
|
+
# Require this file using `require "spec_helper"` within each of your specs
|
18
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
19
|
+
RSpec.configure do |config|
|
20
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
21
|
+
config.run_all_when_everything_filtered = true
|
22
|
+
config.filter_run :focus
|
23
|
+
|
24
|
+
# Run specs in random order to surface order dependencies.
|
25
|
+
config.order = 'random'
|
26
|
+
end
|
27
|
+
|
28
|
+
def fixture(file)
|
29
|
+
fixtures_path = File.expand_path(File.join('..', '..', 'fixtures'), __FILE__)
|
30
|
+
File.new(File.join(fixtures_path, file))
|
31
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'support/spec_helper'
|
2
|
+
|
3
|
+
describe TwitterAnonymousClient do
|
4
|
+
it 'should have a version number' do
|
5
|
+
TwitterAnonymousClient::VERSION.should_not be_nil
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'should not work with another twitter client gem' do
|
9
|
+
class Object
|
10
|
+
module Twitter; end
|
11
|
+
end
|
12
|
+
expect { load 'twitter_anonymous_client' }.to raise_error
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'support/spec_helper'
|
2
|
+
|
3
|
+
describe Twitter::Client do
|
4
|
+
let(:screen_name) { 'elgalu' }
|
5
|
+
let(:latest_tweet_text) { /Console Ruby debug is easy/ }
|
6
|
+
let(:url) { "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=#{screen_name}&count=1" }
|
7
|
+
|
8
|
+
let(:client) { Twitter::Client.new }
|
9
|
+
let(:tweets) { client.user_timeline(screen_name, count: 1) }
|
10
|
+
let(:first_tweet) { tweets.first }
|
11
|
+
|
12
|
+
before do
|
13
|
+
WebMock.reset!
|
14
|
+
stub_request(:get, url).to_return(:body => fixture("#{screen_name}_statuses.json"))
|
15
|
+
end
|
16
|
+
|
17
|
+
context 'when no internet connection' do
|
18
|
+
before do
|
19
|
+
WebMock.reset!
|
20
|
+
WebMock.disable_net_connect!
|
21
|
+
end
|
22
|
+
|
23
|
+
after do
|
24
|
+
WebMock.allow_net_connect!
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '#get' do
|
28
|
+
it 'writes to $stderr the error messages' do
|
29
|
+
expect { tweets }.to raise_error(Twitter::Client::ConnectionError)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe '#user_timeline' do
|
35
|
+
|
36
|
+
context 'tweets' do
|
37
|
+
it ':get request should have been made' do
|
38
|
+
tweets
|
39
|
+
expect(a_request(:get, url)).to have_been_made
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should be an Array' do
|
43
|
+
expect(tweets).to be_an(Array)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'count should be 1' do
|
47
|
+
tweets.size.should be(1)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'first tweet' do
|
52
|
+
it 'should be a Tweet' do
|
53
|
+
first_tweet.should be_a(Twitter::Tweet)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should respond to id' do
|
57
|
+
first_tweet.should respond_to(:id)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should respond to text' do
|
61
|
+
first_tweet.should respond_to(:text)
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should respond to created_at' do
|
65
|
+
first_tweet.should respond_to(:created_at)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should contain proper text' do
|
69
|
+
first_tweet.should respond_to(:text)
|
70
|
+
first_tweet.text.should match(latest_tweet_text)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'twitter_anonymous_client/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
|
7
|
+
spec.platform = Gem::Platform::RUBY
|
8
|
+
spec.name = "twitter_anonymous_client"
|
9
|
+
spec.version = TwitterAnonymousClient::VERSION
|
10
|
+
spec.summary = %q{Twitter public (anonymous) client for old v1.0 API}
|
11
|
+
spec.description = spec.summary
|
12
|
+
|
13
|
+
spec.required_ruby_version = '>= 1.9.2'
|
14
|
+
spec.required_rubygems_version = '>= 2'
|
15
|
+
|
16
|
+
spec.license = 'MIT'
|
17
|
+
|
18
|
+
spec.authors = ["Leo Gallucci"]
|
19
|
+
spec.email = ["elgalu3@gmail.com"]
|
20
|
+
spec.homepage = "https://github.com/elgalu/twitter_anonymous_client"
|
21
|
+
|
22
|
+
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
23
|
+
spec.files = `git ls-files`.split($/)
|
24
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
25
|
+
spec.require_paths = ["lib"]
|
26
|
+
|
27
|
+
spec.add_runtime_dependency "strongly_typed"
|
28
|
+
|
29
|
+
spec.add_development_dependency "bundler", ">= 1.2"
|
30
|
+
spec.add_development_dependency "rake"
|
31
|
+
spec.add_development_dependency "rspec", "~> 2.13"
|
32
|
+
spec.add_development_dependency "redcarpet", ">= 2.2"
|
33
|
+
spec.add_development_dependency "yard", ">= 0.8.5.2"
|
34
|
+
spec.add_development_dependency "simplecov", ">= 0.7.1"
|
35
|
+
spec.add_development_dependency 'coveralls', '>= 0.5.8'
|
36
|
+
spec.add_development_dependency 'webmock', '>= 1.10.1'
|
37
|
+
|
38
|
+
end
|
metadata
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: twitter_anonymous_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Leo Gallucci
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-03-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: strongly_typed
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.13'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.13'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: redcarpet
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: yard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.8.5.2
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.8.5.2
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: simplecov
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.7.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.7.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: coveralls
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.5.8
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.5.8
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: webmock
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.10.1
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.10.1
|
139
|
+
description: Twitter public (anonymous) client for old v1.0 API
|
140
|
+
email:
|
141
|
+
- elgalu3@gmail.com
|
142
|
+
executables: []
|
143
|
+
extensions: []
|
144
|
+
extra_rdoc_files: []
|
145
|
+
files:
|
146
|
+
- .gitignore
|
147
|
+
- .rspec
|
148
|
+
- .travis.yml
|
149
|
+
- CHANGELOG.md
|
150
|
+
- Gemfile
|
151
|
+
- LICENSE.md
|
152
|
+
- README.md
|
153
|
+
- Rakefile
|
154
|
+
- lib/twitter.rb
|
155
|
+
- lib/twitter/api/timelines.rb
|
156
|
+
- lib/twitter/client.rb
|
157
|
+
- lib/twitter/default.rb
|
158
|
+
- lib/twitter/tweet.rb
|
159
|
+
- lib/twitter_anonymous_client.rb
|
160
|
+
- lib/twitter_anonymous_client/version.rb
|
161
|
+
- spec/fixtures/elgalu_statuses.json
|
162
|
+
- spec/support/spec_helper.rb
|
163
|
+
- spec/twitter_anonymous_client_spec.rb
|
164
|
+
- spec/user_timeline_spec.rb
|
165
|
+
- twitter_anonymous_client.gemspec
|
166
|
+
homepage: https://github.com/elgalu/twitter_anonymous_client
|
167
|
+
licenses:
|
168
|
+
- MIT
|
169
|
+
metadata: {}
|
170
|
+
post_install_message:
|
171
|
+
rdoc_options: []
|
172
|
+
require_paths:
|
173
|
+
- lib
|
174
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: 1.9.2
|
179
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '2'
|
184
|
+
requirements: []
|
185
|
+
rubyforge_project:
|
186
|
+
rubygems_version: 2.0.0
|
187
|
+
signing_key:
|
188
|
+
specification_version: 4
|
189
|
+
summary: Twitter public (anonymous) client for old v1.0 API
|
190
|
+
test_files:
|
191
|
+
- spec/fixtures/elgalu_statuses.json
|
192
|
+
- spec/support/spec_helper.rb
|
193
|
+
- spec/twitter_anonymous_client_spec.rb
|
194
|
+
- spec/user_timeline_spec.rb
|
195
|
+
has_rdoc:
|