weibo 0.0.4 → 0.0.5
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.
- data/.rspec +1 -0
- data/Gemfile +20 -0
- data/Gemfile.lock +138 -0
- data/Guardfile +14 -0
- data/README.rdoc +4 -0
- data/Rakefile +20 -35
- data/VERSION +1 -1
- data/features/load_configurations.feature +31 -0
- data/features/step_definitions/rails_steps.rb +3 -0
- data/features/support/env.rb +8 -0
- data/lib/weibo.rb +15 -24
- data/lib/weibo/base.rb +86 -62
- data/lib/weibo/railtie.rb +12 -0
- data/lib/weibo/tasks/weibo.rake +5 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/weibo/base_spec.rb +18 -0
- data/spec/weibo_spec.rb +4 -0
- data/weibo.gemspec +56 -11
- metadata +218 -24
- data/test/helper.rb +0 -10
- data/test/test_weibo.rb +0 -7
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--color
|
data/Gemfile
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
source "http://rubygems.org"
|
|
2
|
+
gem "oauth"
|
|
3
|
+
gem "hashie"
|
|
4
|
+
gem "httparty"
|
|
5
|
+
|
|
6
|
+
# For Development
|
|
7
|
+
gem "rake"
|
|
8
|
+
gem "rspec", "~> 2.0"
|
|
9
|
+
gem "cucumber"
|
|
10
|
+
gem "aruba"
|
|
11
|
+
gem "rails", "3.0.9"
|
|
12
|
+
|
|
13
|
+
# For Gem release
|
|
14
|
+
gem "jeweler"
|
|
15
|
+
|
|
16
|
+
# For Guard
|
|
17
|
+
gem "rb-fsevent"
|
|
18
|
+
gem "growl_notify"
|
|
19
|
+
gem "guard-rspec"
|
|
20
|
+
gem "guard-cucumber"
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
GEM
|
|
2
|
+
remote: http://rubygems.org/
|
|
3
|
+
specs:
|
|
4
|
+
abstract (1.0.0)
|
|
5
|
+
actionmailer (3.0.9)
|
|
6
|
+
actionpack (= 3.0.9)
|
|
7
|
+
mail (~> 2.2.19)
|
|
8
|
+
actionpack (3.0.9)
|
|
9
|
+
activemodel (= 3.0.9)
|
|
10
|
+
activesupport (= 3.0.9)
|
|
11
|
+
builder (~> 2.1.2)
|
|
12
|
+
erubis (~> 2.6.6)
|
|
13
|
+
i18n (~> 0.5.0)
|
|
14
|
+
rack (~> 1.2.1)
|
|
15
|
+
rack-mount (~> 0.6.14)
|
|
16
|
+
rack-test (~> 0.5.7)
|
|
17
|
+
tzinfo (~> 0.3.23)
|
|
18
|
+
activemodel (3.0.9)
|
|
19
|
+
activesupport (= 3.0.9)
|
|
20
|
+
builder (~> 2.1.2)
|
|
21
|
+
i18n (~> 0.5.0)
|
|
22
|
+
activerecord (3.0.9)
|
|
23
|
+
activemodel (= 3.0.9)
|
|
24
|
+
activesupport (= 3.0.9)
|
|
25
|
+
arel (~> 2.0.10)
|
|
26
|
+
tzinfo (~> 0.3.23)
|
|
27
|
+
activeresource (3.0.9)
|
|
28
|
+
activemodel (= 3.0.9)
|
|
29
|
+
activesupport (= 3.0.9)
|
|
30
|
+
activesupport (3.0.9)
|
|
31
|
+
arel (2.0.10)
|
|
32
|
+
aruba (0.4.6)
|
|
33
|
+
bcat (>= 0.6.1)
|
|
34
|
+
childprocess (>= 0.2.0)
|
|
35
|
+
cucumber (>= 1.0.2)
|
|
36
|
+
rdiscount (>= 1.6.8)
|
|
37
|
+
rspec (>= 2.6.0)
|
|
38
|
+
bcat (0.6.1)
|
|
39
|
+
rack (~> 1.0)
|
|
40
|
+
builder (2.1.2)
|
|
41
|
+
childprocess (0.2.1)
|
|
42
|
+
ffi (~> 1.0.6)
|
|
43
|
+
crack (0.1.8)
|
|
44
|
+
cucumber (1.0.2)
|
|
45
|
+
builder (>= 2.1.2)
|
|
46
|
+
diff-lcs (>= 1.1.2)
|
|
47
|
+
gherkin (~> 2.4.5)
|
|
48
|
+
json (>= 1.4.6)
|
|
49
|
+
term-ansicolor (>= 1.0.5)
|
|
50
|
+
diff-lcs (1.1.2)
|
|
51
|
+
erubis (2.6.6)
|
|
52
|
+
abstract (>= 1.0.0)
|
|
53
|
+
ffi (1.0.9)
|
|
54
|
+
gherkin (2.4.6)
|
|
55
|
+
json (>= 1.4.6)
|
|
56
|
+
git (1.2.5)
|
|
57
|
+
growl_notify (0.0.1)
|
|
58
|
+
rb-appscript
|
|
59
|
+
guard (0.6.0)
|
|
60
|
+
thor (~> 0.14.6)
|
|
61
|
+
guard-cucumber (0.6.0)
|
|
62
|
+
cucumber (>= 0.10)
|
|
63
|
+
guard (>= 0.4.0)
|
|
64
|
+
guard-rspec (0.4.2)
|
|
65
|
+
guard (>= 0.4.0)
|
|
66
|
+
hashie (1.1.0)
|
|
67
|
+
httparty (0.7.8)
|
|
68
|
+
crack (= 0.1.8)
|
|
69
|
+
i18n (0.5.0)
|
|
70
|
+
jeweler (1.6.4)
|
|
71
|
+
bundler (~> 1.0)
|
|
72
|
+
git (>= 1.2.5)
|
|
73
|
+
rake
|
|
74
|
+
json (1.5.3)
|
|
75
|
+
mail (2.2.19)
|
|
76
|
+
activesupport (>= 2.3.6)
|
|
77
|
+
i18n (>= 0.4.0)
|
|
78
|
+
mime-types (~> 1.16)
|
|
79
|
+
treetop (~> 1.4.8)
|
|
80
|
+
mime-types (1.16)
|
|
81
|
+
oauth (0.4.5)
|
|
82
|
+
polyglot (0.3.2)
|
|
83
|
+
rack (1.2.3)
|
|
84
|
+
rack-mount (0.6.14)
|
|
85
|
+
rack (>= 1.0.0)
|
|
86
|
+
rack-test (0.5.7)
|
|
87
|
+
rack (>= 1.0)
|
|
88
|
+
rails (3.0.9)
|
|
89
|
+
actionmailer (= 3.0.9)
|
|
90
|
+
actionpack (= 3.0.9)
|
|
91
|
+
activerecord (= 3.0.9)
|
|
92
|
+
activeresource (= 3.0.9)
|
|
93
|
+
activesupport (= 3.0.9)
|
|
94
|
+
bundler (~> 1.0)
|
|
95
|
+
railties (= 3.0.9)
|
|
96
|
+
railties (3.0.9)
|
|
97
|
+
actionpack (= 3.0.9)
|
|
98
|
+
activesupport (= 3.0.9)
|
|
99
|
+
rake (>= 0.8.7)
|
|
100
|
+
rdoc (~> 3.4)
|
|
101
|
+
thor (~> 0.14.4)
|
|
102
|
+
rake (0.9.2)
|
|
103
|
+
rb-appscript (0.6.1)
|
|
104
|
+
rb-fsevent (0.4.3)
|
|
105
|
+
rdiscount (1.6.8)
|
|
106
|
+
rdoc (3.9.2)
|
|
107
|
+
rspec (2.6.0)
|
|
108
|
+
rspec-core (~> 2.6.0)
|
|
109
|
+
rspec-expectations (~> 2.6.0)
|
|
110
|
+
rspec-mocks (~> 2.6.0)
|
|
111
|
+
rspec-core (2.6.4)
|
|
112
|
+
rspec-expectations (2.6.0)
|
|
113
|
+
diff-lcs (~> 1.1.2)
|
|
114
|
+
rspec-mocks (2.6.0)
|
|
115
|
+
term-ansicolor (1.0.6)
|
|
116
|
+
thor (0.14.6)
|
|
117
|
+
treetop (1.4.10)
|
|
118
|
+
polyglot
|
|
119
|
+
polyglot (>= 0.3.1)
|
|
120
|
+
tzinfo (0.3.29)
|
|
121
|
+
|
|
122
|
+
PLATFORMS
|
|
123
|
+
ruby
|
|
124
|
+
|
|
125
|
+
DEPENDENCIES
|
|
126
|
+
aruba
|
|
127
|
+
cucumber
|
|
128
|
+
growl_notify
|
|
129
|
+
guard-cucumber
|
|
130
|
+
guard-rspec
|
|
131
|
+
hashie
|
|
132
|
+
httparty
|
|
133
|
+
jeweler
|
|
134
|
+
oauth
|
|
135
|
+
rails (= 3.0.9)
|
|
136
|
+
rake
|
|
137
|
+
rb-fsevent
|
|
138
|
+
rspec (~> 2.0)
|
data/Guardfile
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# A sample Guardfile
|
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
|
3
|
+
|
|
4
|
+
guard 'rspec', :version => 2 do
|
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
|
6
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
|
7
|
+
watch('spec/spec_helper.rb') { "spec/" }
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
guard 'cucumber' do
|
|
11
|
+
watch(%r{^features/.+\.feature$})
|
|
12
|
+
watch(%r{^features/support/.+$}) { 'features' }
|
|
13
|
+
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
|
14
|
+
end
|
data/README.rdoc
CHANGED
|
@@ -29,6 +29,10 @@ This gem was made in the process of creating {叽叽喳喳.de}[http://jjzz.de],
|
|
|
29
29
|
* {panfu}[https://github.com/panfu]
|
|
30
30
|
* {loushizan}[https://github.com/loushizan]
|
|
31
31
|
* {numbcoder}[https://github.com/numbcoder]
|
|
32
|
+
* {xiuxiu}[https://github.com/xiuxiu]
|
|
33
|
+
* {jerrydeng}[https://github.com/jerrydeng]
|
|
34
|
+
* {dongyuwei}[https://github.com/dongyuwei]
|
|
35
|
+
* {steply}[https://github.com/steply]
|
|
32
36
|
|
|
33
37
|
== Note on Patches/Pull Requests
|
|
34
38
|
|
data/Rakefile
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
require 'rubygems'
|
|
2
|
+
require 'bundler/setup'
|
|
2
3
|
require 'rake'
|
|
4
|
+
require 'rspec/core/rake_task'
|
|
5
|
+
require 'cucumber/rake/task'
|
|
6
|
+
|
|
7
|
+
desc 'Default: Run the specs'
|
|
8
|
+
task :default => ['spec:unit', 'cucumber']
|
|
9
|
+
|
|
10
|
+
namespace :spec do
|
|
11
|
+
desc 'Run unit specs'
|
|
12
|
+
RSpec::Core::RakeTask.new('unit') do |t|
|
|
13
|
+
t.pattern = 'spec/{*_spec.rb,weibo/**/*_spec.rb}'
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
task :spec => 'spec:unit'
|
|
17
|
+
|
|
18
|
+
desc 'Cucumber'
|
|
19
|
+
Cucumber::Rake::Task.new(:cucumber) do |t|
|
|
20
|
+
t.fork = true
|
|
21
|
+
end
|
|
3
22
|
|
|
4
23
|
begin
|
|
5
24
|
require 'jeweler'
|
|
@@ -10,47 +29,13 @@ begin
|
|
|
10
29
|
gem.email = "ussballantyne@gmail.com"
|
|
11
30
|
gem.homepage = "http://github.com/ballantyne/weibo"
|
|
12
31
|
gem.authors = ["Scott Ballantyne"]
|
|
13
|
-
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
|
14
32
|
gem.add_dependency "oauth", "~> 0.4.1"
|
|
15
33
|
gem.add_dependency "hashie"
|
|
16
34
|
gem.add_dependency "httparty", ">= 0.5.2"
|
|
35
|
+
gem.add_dependency "railties"
|
|
17
36
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
|
18
37
|
end
|
|
19
38
|
Jeweler::GemcutterTasks.new
|
|
20
39
|
rescue LoadError
|
|
21
40
|
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
|
22
41
|
end
|
|
23
|
-
|
|
24
|
-
require 'rake/testtask'
|
|
25
|
-
Rake::TestTask.new(:test) do |test|
|
|
26
|
-
test.libs << 'lib' << 'test'
|
|
27
|
-
test.pattern = 'test/**/test_*.rb'
|
|
28
|
-
test.verbose = true
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
begin
|
|
32
|
-
require 'rcov/rcovtask'
|
|
33
|
-
Rcov::RcovTask.new do |test|
|
|
34
|
-
test.libs << 'test'
|
|
35
|
-
test.pattern = 'test/**/test_*.rb'
|
|
36
|
-
test.verbose = true
|
|
37
|
-
end
|
|
38
|
-
rescue LoadError
|
|
39
|
-
task :rcov do
|
|
40
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
task :test => :check_dependencies
|
|
45
|
-
|
|
46
|
-
task :default => :test
|
|
47
|
-
|
|
48
|
-
require 'rake/rdoctask'
|
|
49
|
-
Rake::RDocTask.new do |rdoc|
|
|
50
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
|
51
|
-
|
|
52
|
-
rdoc.rdoc_dir = 'rdoc'
|
|
53
|
-
rdoc.title = "weibo #{version}"
|
|
54
|
-
rdoc.rdoc_files.include('README*')
|
|
55
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
56
|
-
end
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.5
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Feature: Load Configurations
|
|
2
|
+
In order to simplify the configurations
|
|
3
|
+
As a Rails app
|
|
4
|
+
I should load config/weibo.yml automatically
|
|
5
|
+
|
|
6
|
+
@disable-bundler
|
|
7
|
+
Scenario: generate a rails 3 application and load weibo configurations
|
|
8
|
+
When I successfully run `bundle exec rails new testapp`
|
|
9
|
+
And I cd to "testapp"
|
|
10
|
+
And I add weibo from this project as a dependency
|
|
11
|
+
When I successfully run `bundle install`
|
|
12
|
+
And I write to "config/weibo.yml" with:
|
|
13
|
+
"""
|
|
14
|
+
development:
|
|
15
|
+
api_key: dev_key
|
|
16
|
+
api_secret: dev_secret
|
|
17
|
+
production:
|
|
18
|
+
api_key: prod_key
|
|
19
|
+
api_secret: prod_secret
|
|
20
|
+
test:
|
|
21
|
+
api_key: test_key
|
|
22
|
+
api_secret: test_secret
|
|
23
|
+
"""
|
|
24
|
+
When I successfully run `bundle exec rake -T`
|
|
25
|
+
Then the output should contain "rake weibo"
|
|
26
|
+
When I successfully run `bundle exec rake weibo RAILS_ENV=development`
|
|
27
|
+
Then the output should contain "Weibo API Key: dev_key"
|
|
28
|
+
And the output should contain "Weibo API Secret: dev_secret"
|
|
29
|
+
When I successfully run `bundle exec rake weibo RAILS_ENV=production`
|
|
30
|
+
Then the output should contain "Weibo API Key: prod_key"
|
|
31
|
+
And the output should contain "Weibo API Secret: prod_secret"
|
data/lib/weibo.rb
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
|
+
# code is an adaptation of the twitter gem by John Nunemaker
|
|
2
|
+
# http://github.com/jnunemaker/twitter
|
|
3
|
+
# Copyright (c) 2009 John Nunemaker
|
|
4
|
+
#
|
|
5
|
+
# made to work with china's leading twitter service, 新浪微博
|
|
6
|
+
|
|
1
7
|
require 'forwardable'
|
|
2
8
|
require 'rubygems'
|
|
3
|
-
|
|
4
|
-
gem 'oauth', '~> 0.4.1'
|
|
5
9
|
require 'oauth'
|
|
6
|
-
|
|
7
|
-
gem 'hashie'
|
|
8
10
|
require 'hashie'
|
|
9
|
-
|
|
10
|
-
gem 'httparty', '>= 0.5.2'
|
|
11
11
|
require 'httparty'
|
|
12
|
+
require 'rails'
|
|
13
|
+
|
|
14
|
+
require 'weibo/oauth'
|
|
15
|
+
require 'weibo/oauth_hack'
|
|
16
|
+
require 'weibo/httpauth'
|
|
17
|
+
require 'weibo/request'
|
|
18
|
+
require 'weibo/config'
|
|
19
|
+
require 'weibo/base'
|
|
20
|
+
require 'weibo/railtie'
|
|
12
21
|
|
|
13
22
|
module Weibo
|
|
14
23
|
class WeiboError < StandardError
|
|
@@ -16,7 +25,6 @@ module Weibo
|
|
|
16
25
|
|
|
17
26
|
def initialize(data)
|
|
18
27
|
@data = data
|
|
19
|
-
|
|
20
28
|
super
|
|
21
29
|
end
|
|
22
30
|
end
|
|
@@ -32,7 +40,6 @@ end
|
|
|
32
40
|
|
|
33
41
|
module Hashie
|
|
34
42
|
class Mash
|
|
35
|
-
|
|
36
43
|
# Converts all of the keys to strings, optionally formatting key name
|
|
37
44
|
def rubyify_keys!
|
|
38
45
|
keys.each{|k|
|
|
@@ -44,21 +51,5 @@ module Hashie
|
|
|
44
51
|
}
|
|
45
52
|
self
|
|
46
53
|
end
|
|
47
|
-
|
|
48
54
|
end
|
|
49
55
|
end
|
|
50
|
-
|
|
51
|
-
directory = File.expand_path(File.dirname(__FILE__))
|
|
52
|
-
|
|
53
|
-
require File.join(directory, 'weibo', 'oauth')
|
|
54
|
-
require File.join(directory, 'weibo', 'oauth_hack')
|
|
55
|
-
require File.join(directory, 'weibo', 'httpauth')
|
|
56
|
-
require File.join(directory, 'weibo', 'request')
|
|
57
|
-
require File.join(directory, 'weibo', 'config')
|
|
58
|
-
require File.join(directory, 'weibo', 'base')
|
|
59
|
-
|
|
60
|
-
# code is an adaptation of the twitter gem by John Nunemaker
|
|
61
|
-
# http://github.com/jnunemaker/twitter
|
|
62
|
-
# Copyright (c) 2009 John Nunemaker
|
|
63
|
-
#
|
|
64
|
-
# made to work with china's leading twitter service, 新浪微博
|
data/lib/weibo/base.rb
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'uri'
|
|
3
|
+
|
|
1
4
|
module Weibo
|
|
2
5
|
class Base
|
|
3
6
|
extend Forwardable
|
|
@@ -31,8 +34,8 @@ module Weibo
|
|
|
31
34
|
end
|
|
32
35
|
|
|
33
36
|
# statuses/public_timeline 最新公共微博
|
|
34
|
-
def
|
|
35
|
-
perform_get('/statuses/public_timeline.json')
|
|
37
|
+
def public_timeline(query = {})
|
|
38
|
+
perform_get('/statuses/public_timeline.json', :query => query)
|
|
36
39
|
end
|
|
37
40
|
|
|
38
41
|
|
|
@@ -58,7 +61,7 @@ module Weibo
|
|
|
58
61
|
def status(id)
|
|
59
62
|
perform_get("/statuses/show/#{id}.json")
|
|
60
63
|
end
|
|
61
|
-
|
|
64
|
+
|
|
62
65
|
def counts(query={})
|
|
63
66
|
perform_get("/statuses/counts.json", :query => query)
|
|
64
67
|
end
|
|
@@ -107,7 +110,7 @@ module Weibo
|
|
|
107
110
|
def unread
|
|
108
111
|
perform_get('/statuses/unread.json')
|
|
109
112
|
end
|
|
110
|
-
|
|
113
|
+
|
|
111
114
|
# statuses/reset_count 未读消息数清零
|
|
112
115
|
def reset_count(query={})
|
|
113
116
|
perform_get('/statuses/reset_count.json', :query => query)
|
|
@@ -121,11 +124,11 @@ module Weibo
|
|
|
121
124
|
perform_get('/statuses/comments_by_me.json', :query => query)
|
|
122
125
|
end
|
|
123
126
|
|
|
124
|
-
|
|
127
|
+
# statuses/comments_to_me 当前用户收到的评论
|
|
125
128
|
def comments_to_me(query={})
|
|
126
129
|
perform_get('/statuses/comments_to_me.json', :query => query)
|
|
127
130
|
end
|
|
128
|
-
|
|
131
|
+
|
|
129
132
|
def comments(query={})
|
|
130
133
|
perform_get('/statuses/comments.json', :query => query)
|
|
131
134
|
end
|
|
@@ -278,46 +281,67 @@ module Weibo
|
|
|
278
281
|
perform_get('/help/test.json')
|
|
279
282
|
end
|
|
280
283
|
|
|
281
|
-
|
|
282
|
-
|
|
284
|
+
def trends(query = {})
|
|
285
|
+
perform_get("/trends.json", :query => query)
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
# Trends/hourly
|
|
289
|
+
def trends_hourly(query={})
|
|
283
290
|
perform_get("/trends/hourly.json", :query => query)
|
|
284
|
-
|
|
291
|
+
end
|
|
285
292
|
|
|
286
|
-
|
|
287
|
-
|
|
293
|
+
# Trends/daily
|
|
294
|
+
def trends_daily(query={})
|
|
288
295
|
perform_get("/trends/daily.json", :query => query)
|
|
289
|
-
|
|
296
|
+
end
|
|
290
297
|
|
|
291
|
-
|
|
292
|
-
|
|
298
|
+
# Trends/weekly
|
|
299
|
+
def trends_weekly(query={})
|
|
293
300
|
perform_get("/trends/weekly.json", :query => query)
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
# Trends/statuses
|
|
304
|
+
def trends_statuses(trend_name, query={})
|
|
305
|
+
body = {:trend_name => trend_name}
|
|
306
|
+
body.merge!(query)
|
|
307
|
+
perform_post("/trends/statuses.json", :body => body)
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
#Trends/follow
|
|
311
|
+
def trends_follow(trend_name)
|
|
312
|
+
perform_post("/trends/follow.json", :body => {:trend_name => trend_name})
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
#Trends/destroy
|
|
316
|
+
def trends_destroy(trend_id)
|
|
317
|
+
perform_delete("/trends/destroy.json", :query => {:trend_id => trend_id})
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
# Tags
|
|
321
|
+
def tags(query={})
|
|
322
|
+
perform_get("/tags.json", :query => query)
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
# Tags/create
|
|
326
|
+
# params: tags should be a string split with ","
|
|
327
|
+
def tags_create(tags)
|
|
328
|
+
perform_post("/tags/create.json", :body => {:tags => tags})
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
# Tags/suggestions
|
|
332
|
+
def tags_suggestions(query={})
|
|
333
|
+
perform_get("/tags/suggestions.json", :query => query)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# Tags/destroy
|
|
337
|
+
def tags_destroy(tag_id)
|
|
338
|
+
perform_delete("/tags/destroy.json", :body => {:tag_id => tag_id})
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
# Tags/destroy_batch
|
|
342
|
+
def tags_destroy_batch(ids)
|
|
343
|
+
perform_delete("/tags/destroy_batch.json", :body => {:ids => ids})
|
|
344
|
+
end
|
|
321
345
|
|
|
322
346
|
protected
|
|
323
347
|
def self.mime_type(file)
|
|
@@ -354,30 +378,30 @@ module Weibo
|
|
|
354
378
|
end
|
|
355
379
|
def build_multipart_bodies(parts) self.class.build_multipart_bodies(parts) end
|
|
356
380
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
381
|
+
private
|
|
382
|
+
def perform_get(path, options={})
|
|
383
|
+
options[:query] = {} unless options[:query]
|
|
384
|
+
options[:query][:source] = Weibo::Config.api_key
|
|
385
|
+
Weibo::Request.get(self, path, options)
|
|
386
|
+
end
|
|
363
387
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
388
|
+
def perform_post(path, options={})
|
|
389
|
+
options[:query] = {} unless options[:query]
|
|
390
|
+
options[:query][:source] = Weibo::Config.api_key
|
|
391
|
+
Weibo::Request.post(self, path, options)
|
|
392
|
+
end
|
|
369
393
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
394
|
+
def perform_put(path, options={})
|
|
395
|
+
options[:query] = {} unless options[:query]
|
|
396
|
+
options[:query][:source] = Weibo::Config.api_key
|
|
373
397
|
|
|
374
|
-
|
|
375
|
-
|
|
398
|
+
Weibo::Request.put(self, path, options)
|
|
399
|
+
end
|
|
376
400
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
401
|
+
def perform_delete(path, options={})
|
|
402
|
+
options[:query] = {} unless options[:query]
|
|
403
|
+
options[:query][:source] = Weibo::Config.api_key
|
|
404
|
+
Weibo::Request.delete(self, path, options)
|
|
405
|
+
end
|
|
382
406
|
end
|
|
383
407
|
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Weibo
|
|
2
|
+
class Railtie < Rails::Railtie
|
|
3
|
+
config.after_initialize do
|
|
4
|
+
weibo_oauth = YAML.load_file(File.join(Rails.root.to_s, 'config', 'weibo.yml'))[Rails.env || "development"]
|
|
5
|
+
Weibo::Config.api_key = weibo_oauth["api_key"]
|
|
6
|
+
Weibo::Config.api_secret = weibo_oauth["api_secret"]
|
|
7
|
+
end
|
|
8
|
+
rake_tasks do
|
|
9
|
+
load "weibo/tasks/weibo.rake"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
$LOAD_PATH << File.expand_path('../../lib', __FILE__)
|
|
2
|
+
require 'weibo'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def create_weibo_client
|
|
6
|
+
Weibo::Config.api_key = 'dev_key'
|
|
7
|
+
Weibo::Config.api_secret = 'dev_secret'
|
|
8
|
+
|
|
9
|
+
user_key = 'user_key'
|
|
10
|
+
user_secret = 'user_secret'
|
|
11
|
+
|
|
12
|
+
weibo_oauth = Weibo::OAuth.new(Weibo::Config.api_key, Weibo::Config.api_secret)
|
|
13
|
+
weibo_oauth_access = weibo_oauth.authorize_from_access(user_key, user_secret)
|
|
14
|
+
Weibo::Base.new(weibo_oauth_access)
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Weibo::Base do
|
|
4
|
+
|
|
5
|
+
before(:each) do
|
|
6
|
+
@client = create_weibo_client
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
describe "#trends_statuses" do
|
|
10
|
+
it "pass query argument" do
|
|
11
|
+
@client = create_weibo_client
|
|
12
|
+
@client.stub(:perform_post)
|
|
13
|
+
@client.should_receive(:perform_post).with("/trends/statuses.json", {:body => {:count=>1999, :trend_name => "cat", :page =>5 }})
|
|
14
|
+
@client.trends_statuses('cat', {:page => 5, :count => 1999})
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
data/spec/weibo_spec.rb
ADDED
data/weibo.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{weibo}
|
|
8
|
-
s.version = "0.0.
|
|
8
|
+
s.version = "0.0.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Scott Ballantyne"]
|
|
12
|
-
s.date = %q{2011-
|
|
12
|
+
s.date = %q{2011-09-23}
|
|
13
13
|
s.description = %q{this gem is an adaptation of John Nunemaker's Twitter gem. I modified it to make api integration for 新浪微博 (t.sina.com.cn) easier.}
|
|
14
14
|
s.email = %q{ussballantyne@gmail.com}
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -18,50 +18,95 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
]
|
|
19
19
|
s.files = [
|
|
20
20
|
".document",
|
|
21
|
+
".rspec",
|
|
22
|
+
"Gemfile",
|
|
23
|
+
"Gemfile.lock",
|
|
24
|
+
"Guardfile",
|
|
21
25
|
"LICENSE",
|
|
22
26
|
"README.rdoc",
|
|
23
27
|
"Rakefile",
|
|
24
28
|
"VERSION",
|
|
29
|
+
"features/load_configurations.feature",
|
|
30
|
+
"features/step_definitions/rails_steps.rb",
|
|
31
|
+
"features/support/env.rb",
|
|
25
32
|
"lib/weibo.rb",
|
|
26
33
|
"lib/weibo/base.rb",
|
|
27
34
|
"lib/weibo/config.rb",
|
|
28
35
|
"lib/weibo/httpauth.rb",
|
|
29
36
|
"lib/weibo/oauth.rb",
|
|
30
37
|
"lib/weibo/oauth_hack.rb",
|
|
38
|
+
"lib/weibo/railtie.rb",
|
|
31
39
|
"lib/weibo/request.rb",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
40
|
+
"lib/weibo/tasks/weibo.rake",
|
|
41
|
+
"spec/spec_helper.rb",
|
|
42
|
+
"spec/weibo/base_spec.rb",
|
|
43
|
+
"spec/weibo_spec.rb",
|
|
34
44
|
"weibo.gemspec"
|
|
35
45
|
]
|
|
36
46
|
s.homepage = %q{http://github.com/ballantyne/weibo}
|
|
37
47
|
s.require_paths = ["lib"]
|
|
38
48
|
s.rubygems_version = %q{1.3.7}
|
|
39
49
|
s.summary = %q{a gem to help api integration for 新浪微博 (t.sina.com.cn)}
|
|
40
|
-
s.test_files = [
|
|
41
|
-
"test/helper.rb",
|
|
42
|
-
"test/test_weibo.rb"
|
|
43
|
-
]
|
|
44
50
|
|
|
45
51
|
if s.respond_to? :specification_version then
|
|
46
52
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
47
53
|
s.specification_version = 3
|
|
48
54
|
|
|
49
55
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
50
|
-
s.
|
|
56
|
+
s.add_runtime_dependency(%q<oauth>, [">= 0"])
|
|
57
|
+
s.add_runtime_dependency(%q<hashie>, [">= 0"])
|
|
58
|
+
s.add_runtime_dependency(%q<httparty>, [">= 0"])
|
|
59
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
|
60
|
+
s.add_runtime_dependency(%q<rspec>, ["~> 2.0"])
|
|
61
|
+
s.add_runtime_dependency(%q<cucumber>, [">= 0"])
|
|
62
|
+
s.add_runtime_dependency(%q<aruba>, [">= 0"])
|
|
63
|
+
s.add_runtime_dependency(%q<rails>, ["= 3.0.9"])
|
|
64
|
+
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
|
65
|
+
s.add_runtime_dependency(%q<rb-fsevent>, [">= 0"])
|
|
66
|
+
s.add_runtime_dependency(%q<growl_notify>, [">= 0"])
|
|
67
|
+
s.add_runtime_dependency(%q<guard-rspec>, [">= 0"])
|
|
68
|
+
s.add_runtime_dependency(%q<guard-cucumber>, [">= 0"])
|
|
51
69
|
s.add_runtime_dependency(%q<oauth>, ["~> 0.4.1"])
|
|
52
70
|
s.add_runtime_dependency(%q<hashie>, [">= 0"])
|
|
53
71
|
s.add_runtime_dependency(%q<httparty>, [">= 0.5.2"])
|
|
72
|
+
s.add_runtime_dependency(%q<railties>, [">= 0"])
|
|
54
73
|
else
|
|
55
|
-
s.add_dependency(%q<
|
|
74
|
+
s.add_dependency(%q<oauth>, [">= 0"])
|
|
75
|
+
s.add_dependency(%q<hashie>, [">= 0"])
|
|
76
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
|
77
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
|
78
|
+
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
|
79
|
+
s.add_dependency(%q<cucumber>, [">= 0"])
|
|
80
|
+
s.add_dependency(%q<aruba>, [">= 0"])
|
|
81
|
+
s.add_dependency(%q<rails>, ["= 3.0.9"])
|
|
82
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
83
|
+
s.add_dependency(%q<rb-fsevent>, [">= 0"])
|
|
84
|
+
s.add_dependency(%q<growl_notify>, [">= 0"])
|
|
85
|
+
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
|
86
|
+
s.add_dependency(%q<guard-cucumber>, [">= 0"])
|
|
56
87
|
s.add_dependency(%q<oauth>, ["~> 0.4.1"])
|
|
57
88
|
s.add_dependency(%q<hashie>, [">= 0"])
|
|
58
89
|
s.add_dependency(%q<httparty>, [">= 0.5.2"])
|
|
90
|
+
s.add_dependency(%q<railties>, [">= 0"])
|
|
59
91
|
end
|
|
60
92
|
else
|
|
61
|
-
s.add_dependency(%q<
|
|
93
|
+
s.add_dependency(%q<oauth>, [">= 0"])
|
|
94
|
+
s.add_dependency(%q<hashie>, [">= 0"])
|
|
95
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
|
96
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
|
97
|
+
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
|
98
|
+
s.add_dependency(%q<cucumber>, [">= 0"])
|
|
99
|
+
s.add_dependency(%q<aruba>, [">= 0"])
|
|
100
|
+
s.add_dependency(%q<rails>, ["= 3.0.9"])
|
|
101
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
102
|
+
s.add_dependency(%q<rb-fsevent>, [">= 0"])
|
|
103
|
+
s.add_dependency(%q<growl_notify>, [">= 0"])
|
|
104
|
+
s.add_dependency(%q<guard-rspec>, [">= 0"])
|
|
105
|
+
s.add_dependency(%q<guard-cucumber>, [">= 0"])
|
|
62
106
|
s.add_dependency(%q<oauth>, ["~> 0.4.1"])
|
|
63
107
|
s.add_dependency(%q<hashie>, [">= 0"])
|
|
64
108
|
s.add_dependency(%q<httparty>, [">= 0.5.2"])
|
|
109
|
+
s.add_dependency(%q<railties>, [">= 0"])
|
|
65
110
|
end
|
|
66
111
|
end
|
|
67
112
|
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: weibo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 21
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 0
|
|
9
|
-
-
|
|
10
|
-
version: 0.0.
|
|
9
|
+
- 5
|
|
10
|
+
version: 0.0.5
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Scott Ballantyne
|
|
@@ -15,13 +15,14 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-
|
|
18
|
+
date: 2011-09-23 00:00:00 +08:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
22
|
-
|
|
22
|
+
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
|
|
24
|
+
name: oauth
|
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
25
26
|
none: false
|
|
26
27
|
requirements:
|
|
27
28
|
- - ">="
|
|
@@ -30,12 +31,183 @@ dependencies:
|
|
|
30
31
|
segments:
|
|
31
32
|
- 0
|
|
32
33
|
version: "0"
|
|
33
|
-
|
|
34
|
-
version_requirements: *id001
|
|
34
|
+
requirement: *id001
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
|
-
|
|
36
|
+
type: :runtime
|
|
37
|
+
prerelease: false
|
|
38
|
+
name: hashie
|
|
39
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
40
|
+
none: false
|
|
41
|
+
requirements:
|
|
42
|
+
- - ">="
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
hash: 3
|
|
45
|
+
segments:
|
|
46
|
+
- 0
|
|
47
|
+
version: "0"
|
|
48
|
+
requirement: *id002
|
|
49
|
+
- !ruby/object:Gem::Dependency
|
|
50
|
+
type: :runtime
|
|
51
|
+
prerelease: false
|
|
52
|
+
name: httparty
|
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
54
|
+
none: false
|
|
55
|
+
requirements:
|
|
56
|
+
- - ">="
|
|
57
|
+
- !ruby/object:Gem::Version
|
|
58
|
+
hash: 3
|
|
59
|
+
segments:
|
|
60
|
+
- 0
|
|
61
|
+
version: "0"
|
|
62
|
+
requirement: *id003
|
|
63
|
+
- !ruby/object:Gem::Dependency
|
|
64
|
+
type: :runtime
|
|
65
|
+
prerelease: false
|
|
66
|
+
name: rake
|
|
67
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
68
|
+
none: false
|
|
69
|
+
requirements:
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
hash: 3
|
|
73
|
+
segments:
|
|
74
|
+
- 0
|
|
75
|
+
version: "0"
|
|
76
|
+
requirement: *id004
|
|
77
|
+
- !ruby/object:Gem::Dependency
|
|
78
|
+
type: :runtime
|
|
37
79
|
prerelease: false
|
|
38
|
-
|
|
80
|
+
name: rspec
|
|
81
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
|
82
|
+
none: false
|
|
83
|
+
requirements:
|
|
84
|
+
- - ~>
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
hash: 3
|
|
87
|
+
segments:
|
|
88
|
+
- 2
|
|
89
|
+
- 0
|
|
90
|
+
version: "2.0"
|
|
91
|
+
requirement: *id005
|
|
92
|
+
- !ruby/object:Gem::Dependency
|
|
93
|
+
type: :runtime
|
|
94
|
+
prerelease: false
|
|
95
|
+
name: cucumber
|
|
96
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
97
|
+
none: false
|
|
98
|
+
requirements:
|
|
99
|
+
- - ">="
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
hash: 3
|
|
102
|
+
segments:
|
|
103
|
+
- 0
|
|
104
|
+
version: "0"
|
|
105
|
+
requirement: *id006
|
|
106
|
+
- !ruby/object:Gem::Dependency
|
|
107
|
+
type: :runtime
|
|
108
|
+
prerelease: false
|
|
109
|
+
name: aruba
|
|
110
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
|
111
|
+
none: false
|
|
112
|
+
requirements:
|
|
113
|
+
- - ">="
|
|
114
|
+
- !ruby/object:Gem::Version
|
|
115
|
+
hash: 3
|
|
116
|
+
segments:
|
|
117
|
+
- 0
|
|
118
|
+
version: "0"
|
|
119
|
+
requirement: *id007
|
|
120
|
+
- !ruby/object:Gem::Dependency
|
|
121
|
+
type: :runtime
|
|
122
|
+
prerelease: false
|
|
123
|
+
name: rails
|
|
124
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
|
125
|
+
none: false
|
|
126
|
+
requirements:
|
|
127
|
+
- - "="
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
hash: 21
|
|
130
|
+
segments:
|
|
131
|
+
- 3
|
|
132
|
+
- 0
|
|
133
|
+
- 9
|
|
134
|
+
version: 3.0.9
|
|
135
|
+
requirement: *id008
|
|
136
|
+
- !ruby/object:Gem::Dependency
|
|
137
|
+
type: :runtime
|
|
138
|
+
prerelease: false
|
|
139
|
+
name: jeweler
|
|
140
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
|
141
|
+
none: false
|
|
142
|
+
requirements:
|
|
143
|
+
- - ">="
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
hash: 3
|
|
146
|
+
segments:
|
|
147
|
+
- 0
|
|
148
|
+
version: "0"
|
|
149
|
+
requirement: *id009
|
|
150
|
+
- !ruby/object:Gem::Dependency
|
|
151
|
+
type: :runtime
|
|
152
|
+
prerelease: false
|
|
153
|
+
name: rb-fsevent
|
|
154
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
|
155
|
+
none: false
|
|
156
|
+
requirements:
|
|
157
|
+
- - ">="
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
hash: 3
|
|
160
|
+
segments:
|
|
161
|
+
- 0
|
|
162
|
+
version: "0"
|
|
163
|
+
requirement: *id010
|
|
164
|
+
- !ruby/object:Gem::Dependency
|
|
165
|
+
type: :runtime
|
|
166
|
+
prerelease: false
|
|
167
|
+
name: growl_notify
|
|
168
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
|
169
|
+
none: false
|
|
170
|
+
requirements:
|
|
171
|
+
- - ">="
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
hash: 3
|
|
174
|
+
segments:
|
|
175
|
+
- 0
|
|
176
|
+
version: "0"
|
|
177
|
+
requirement: *id011
|
|
178
|
+
- !ruby/object:Gem::Dependency
|
|
179
|
+
type: :runtime
|
|
180
|
+
prerelease: false
|
|
181
|
+
name: guard-rspec
|
|
182
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
|
183
|
+
none: false
|
|
184
|
+
requirements:
|
|
185
|
+
- - ">="
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
hash: 3
|
|
188
|
+
segments:
|
|
189
|
+
- 0
|
|
190
|
+
version: "0"
|
|
191
|
+
requirement: *id012
|
|
192
|
+
- !ruby/object:Gem::Dependency
|
|
193
|
+
type: :runtime
|
|
194
|
+
prerelease: false
|
|
195
|
+
name: guard-cucumber
|
|
196
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
|
197
|
+
none: false
|
|
198
|
+
requirements:
|
|
199
|
+
- - ">="
|
|
200
|
+
- !ruby/object:Gem::Version
|
|
201
|
+
hash: 3
|
|
202
|
+
segments:
|
|
203
|
+
- 0
|
|
204
|
+
version: "0"
|
|
205
|
+
requirement: *id013
|
|
206
|
+
- !ruby/object:Gem::Dependency
|
|
207
|
+
type: :runtime
|
|
208
|
+
prerelease: false
|
|
209
|
+
name: oauth
|
|
210
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
|
39
211
|
none: false
|
|
40
212
|
requirements:
|
|
41
213
|
- - ~>
|
|
@@ -46,12 +218,12 @@ dependencies:
|
|
|
46
218
|
- 4
|
|
47
219
|
- 1
|
|
48
220
|
version: 0.4.1
|
|
49
|
-
|
|
50
|
-
version_requirements: *id002
|
|
221
|
+
requirement: *id014
|
|
51
222
|
- !ruby/object:Gem::Dependency
|
|
52
|
-
|
|
223
|
+
type: :runtime
|
|
53
224
|
prerelease: false
|
|
54
|
-
|
|
225
|
+
name: hashie
|
|
226
|
+
version_requirements: &id015 !ruby/object:Gem::Requirement
|
|
55
227
|
none: false
|
|
56
228
|
requirements:
|
|
57
229
|
- - ">="
|
|
@@ -60,12 +232,12 @@ dependencies:
|
|
|
60
232
|
segments:
|
|
61
233
|
- 0
|
|
62
234
|
version: "0"
|
|
63
|
-
|
|
64
|
-
version_requirements: *id003
|
|
235
|
+
requirement: *id015
|
|
65
236
|
- !ruby/object:Gem::Dependency
|
|
66
|
-
|
|
237
|
+
type: :runtime
|
|
67
238
|
prerelease: false
|
|
68
|
-
|
|
239
|
+
name: httparty
|
|
240
|
+
version_requirements: &id016 !ruby/object:Gem::Requirement
|
|
69
241
|
none: false
|
|
70
242
|
requirements:
|
|
71
243
|
- - ">="
|
|
@@ -76,8 +248,21 @@ dependencies:
|
|
|
76
248
|
- 5
|
|
77
249
|
- 2
|
|
78
250
|
version: 0.5.2
|
|
251
|
+
requirement: *id016
|
|
252
|
+
- !ruby/object:Gem::Dependency
|
|
79
253
|
type: :runtime
|
|
80
|
-
|
|
254
|
+
prerelease: false
|
|
255
|
+
name: railties
|
|
256
|
+
version_requirements: &id017 !ruby/object:Gem::Requirement
|
|
257
|
+
none: false
|
|
258
|
+
requirements:
|
|
259
|
+
- - ">="
|
|
260
|
+
- !ruby/object:Gem::Version
|
|
261
|
+
hash: 3
|
|
262
|
+
segments:
|
|
263
|
+
- 0
|
|
264
|
+
version: "0"
|
|
265
|
+
requirement: *id017
|
|
81
266
|
description: "this gem is an adaptation of John Nunemaker's Twitter gem. I modified it to make api integration for \xE6\x96\xB0\xE6\xB5\xAA\xE5\xBE\xAE\xE5\x8D\x9A (t.sina.com.cn) easier."
|
|
82
267
|
email: ussballantyne@gmail.com
|
|
83
268
|
executables: []
|
|
@@ -89,19 +274,29 @@ extra_rdoc_files:
|
|
|
89
274
|
- README.rdoc
|
|
90
275
|
files:
|
|
91
276
|
- .document
|
|
277
|
+
- .rspec
|
|
278
|
+
- Gemfile
|
|
279
|
+
- Gemfile.lock
|
|
280
|
+
- Guardfile
|
|
92
281
|
- LICENSE
|
|
93
282
|
- README.rdoc
|
|
94
283
|
- Rakefile
|
|
95
284
|
- VERSION
|
|
285
|
+
- features/load_configurations.feature
|
|
286
|
+
- features/step_definitions/rails_steps.rb
|
|
287
|
+
- features/support/env.rb
|
|
96
288
|
- lib/weibo.rb
|
|
97
289
|
- lib/weibo/base.rb
|
|
98
290
|
- lib/weibo/config.rb
|
|
99
291
|
- lib/weibo/httpauth.rb
|
|
100
292
|
- lib/weibo/oauth.rb
|
|
101
293
|
- lib/weibo/oauth_hack.rb
|
|
294
|
+
- lib/weibo/railtie.rb
|
|
102
295
|
- lib/weibo/request.rb
|
|
103
|
-
-
|
|
104
|
-
-
|
|
296
|
+
- lib/weibo/tasks/weibo.rake
|
|
297
|
+
- spec/spec_helper.rb
|
|
298
|
+
- spec/weibo/base_spec.rb
|
|
299
|
+
- spec/weibo_spec.rb
|
|
105
300
|
- weibo.gemspec
|
|
106
301
|
has_rdoc: true
|
|
107
302
|
homepage: http://github.com/ballantyne/weibo
|
|
@@ -137,6 +332,5 @@ rubygems_version: 1.3.7
|
|
|
137
332
|
signing_key:
|
|
138
333
|
specification_version: 3
|
|
139
334
|
summary: "a gem to help api integration for \xE6\x96\xB0\xE6\xB5\xAA\xE5\xBE\xAE\xE5\x8D\x9A (t.sina.com.cn)"
|
|
140
|
-
test_files:
|
|
141
|
-
|
|
142
|
-
- test/test_weibo.rb
|
|
335
|
+
test_files: []
|
|
336
|
+
|
data/test/helper.rb
DELETED