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 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