weibo 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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"
@@ -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)
@@ -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
@@ -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.4
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"
@@ -0,0 +1,3 @@
1
+ When /^I add weibo from this project as a dependency$/ do
2
+ append_to_file('Gemfile', %{gem "weibo", :path => "#{PROJECT_ROOT}"})
3
+ end
@@ -0,0 +1,8 @@
1
+ require 'aruba/cucumber'
2
+
3
+ PROJECT_ROOT = File.expand_path("../../..", __FILE__).freeze
4
+ puts PROJECT_ROOT
5
+
6
+ Before do
7
+ @aruba_timeout_seconds = 3600
8
+ end
@@ -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, 新浪微博
@@ -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 firehose
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
- # statuses/comments_to_me 当前用户收到的评论
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
- # Trends/hourly
282
- def trends_hourly(query={})
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
- end
291
+ end
285
292
 
286
- # Trends/daily
287
- def trends_daily(query={})
293
+ # Trends/daily
294
+ def trends_daily(query={})
288
295
  perform_get("/trends/daily.json", :query => query)
289
- end
296
+ end
290
297
 
291
- # Trends/weekly
292
- def trends_weekly(query={})
298
+ # Trends/weekly
299
+ def trends_weekly(query={})
293
300
  perform_get("/trends/weekly.json", :query => query)
294
- end
295
-
296
- # Tags
297
- def tags(query={})
298
- perform_get("/tags.json", :query => query)
299
- end
300
-
301
- # Tags/create
302
- # params: tags should be a string split with ","
303
- def tags_create(tags)
304
- perform_post("/tags/create.json", :body => {:tags => tags})
305
- end
306
-
307
- # Tags/suggestions
308
- def tags_suggestions(query={})
309
- perform_get("/tags/suggestions.json", :query => query)
310
- end
311
-
312
- # Tags/destroy
313
- def tags_destroy(tag_id)
314
- perform_delete("/tags/destroy.json", :body => {:tag_id => tag_id})
315
- end
316
-
317
- # Tags/destroy_batch
318
- def tags_destroy_batch(ids)
319
- perform_delete("/tags/destroy_batch.json", :body => {:ids => ids})
320
- end
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
- private
358
- def perform_get(path, options={})
359
- options[:query] = {} unless options[:query]
360
- options[:query][:source] = Weibo::Config.api_key
361
- Weibo::Request.get(self, path, options)
362
- end
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
- def perform_post(path, options={})
365
- options[:query] = {} unless options[:query]
366
- options[:query][:source] = Weibo::Config.api_key
367
- Weibo::Request.post(self, path, options)
368
- end
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
- def perform_put(path, options={})
371
- options[:query] = {} unless options[:query]
372
- options[:query][:source] = Weibo::Config.api_key
394
+ def perform_put(path, options={})
395
+ options[:query] = {} unless options[:query]
396
+ options[:query][:source] = Weibo::Config.api_key
373
397
 
374
- Weibo::Request.put(self, path, options)
375
- end
398
+ Weibo::Request.put(self, path, options)
399
+ end
376
400
 
377
- def perform_delete(path, options={})
378
- options[:query] = {} unless options[:query]
379
- options[:query][:source] = Weibo::Config.api_key
380
- Weibo::Request.delete(self, path, options)
381
- end
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
@@ -0,0 +1,5 @@
1
+ desc 'Show Weibo Configurations'
2
+ task :weibo => :environment do
3
+ puts "Weibo API Key: #{Weibo::Config.api_key}"
4
+ puts "Weibo API Secret: #{Weibo::Config.api_secret}"
5
+ end
@@ -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
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+
3
+ describe Weibo do
4
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{weibo}
8
- s.version = "0.0.4"
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-01-11}
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
- "test/helper.rb",
33
- "test/test_weibo.rb",
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.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
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<thoughtbot-shoulda>, [">= 0"])
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<thoughtbot-shoulda>, [">= 0"])
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: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 4
10
- version: 0.0.4
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-01-11 00:00:00 +08:00
18
+ date: 2011-09-23 00:00:00 +08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: thoughtbot-shoulda
22
+ type: :runtime
23
23
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
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
- type: :development
34
- version_requirements: *id001
34
+ requirement: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: oauth
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- type: :runtime
50
- version_requirements: *id002
221
+ requirement: *id014
51
222
  - !ruby/object:Gem::Dependency
52
- name: hashie
223
+ type: :runtime
53
224
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
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
- type: :runtime
64
- version_requirements: *id003
235
+ requirement: *id015
65
236
  - !ruby/object:Gem::Dependency
66
- name: httparty
237
+ type: :runtime
67
238
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
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
- version_requirements: *id004
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
- - test/helper.rb
104
- - test/test_weibo.rb
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
- - test/helper.rb
142
- - test/test_weibo.rb
335
+ test_files: []
336
+
@@ -1,10 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
-
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
- $LOAD_PATH.unshift(File.dirname(__FILE__))
7
- require 'weibo'
8
-
9
- class Test::Unit::TestCase
10
- end
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestWeibo < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end