rest-core 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,13 @@
1
+ # rest-core CHANGES
2
+
3
+ ## rest-core 0.2.1 -- 2011-08-25
4
+
5
+ * [twitter] Fixed default site
6
+ * [twitter] Now Twitter#tweet accepts a 2nd argument to upload an image
7
+ * [oauth1_header] Fixed a bug for multipart posting. Since Rails' uploaded
8
+ file is not an IO object, so we can't only test against
9
+ IO object, but also read method.
10
+
11
+ ## rest-core 0.2.0 -- 2011-08-24
12
+
13
+ * First serious release!
@@ -8,5 +8,4 @@ twitter.authorize_url! # copy and paste the URL in browser to authorize
8
8
  twitter.authorize!('..') # paste your code from browser
9
9
  p twitter.tweet('hi!') # tweet for the current user
10
10
 
11
- p twitter.post('statuses/update_with_media.json',
12
- :status => 'hi!', 'media[]' => File.open('...'))
11
+ p twitter.tweet('hi with pic!', File.open('...'))
@@ -5,7 +5,7 @@ RestCore::Twitter = RestCore::Builder.client(:data) do
5
5
  s = self.class # this is only for ruby 1.8!
6
6
  use s::Timeout , 10
7
7
 
8
- use s::DefaultSite , 'https://api.twitter.com/1/'
8
+ use s::DefaultSite , 'https://api.twitter.com/'
9
9
  use s::DefaultHeaders, {'Accept' => 'application/json'}
10
10
 
11
11
  use s::Oauth1Header ,
@@ -47,13 +47,19 @@ module RestCore::Twitter::Client
47
47
  data['oauth_token_secret'] = secret if data.kind_of?(Hash)
48
48
  end
49
49
 
50
- def tweet status, queries={}, opts={}
51
- post('statuses/update.json',
52
- {:status => status}.merge(queries), opts)
50
+ def tweet status, media=nil, opts={}
51
+ if media
52
+ post('1/statuses/update_with_media.json',
53
+ {:status => status, 'media[]' => media},
54
+ {},
55
+ {:site => 'https://upload.twitter.com/'}.merge(opts))
56
+ else
57
+ post('1/statuses/update.json', {:status => status}, opts)
58
+ end
53
59
  end
54
60
 
55
61
  def statuses user, queries={}, opts={}
56
- get('statuses/user_timeline.json', {:id => user}.merge(queries), opts)
62
+ get('1/statuses/user_timeline.json', {:id => user}.merge(queries), opts)
57
63
  end
58
64
 
59
65
  private
@@ -64,7 +64,7 @@ class RestCore::Oauth1Header
64
64
  else
65
65
  reject_blank(env[REQUEST_PAYLOAD] || {})
66
66
  end
67
- query = reject_blank(env[REQUEST_QUERY] || {})
67
+ query = reject_blank(env[REQUEST_QUERY] || {})
68
68
  params = reject_blank(oauth_params.merge(query.merge(payload))).
69
69
  to_a.sort.map{ |(k, v)|
70
70
  "#{encode(k.to_s)}=#{encode(v.to_s)}"}.join('&')
@@ -78,7 +78,8 @@ class RestCore::Oauth1Header
78
78
 
79
79
  def multipart? env
80
80
  !!(env[REQUEST_PAYLOAD] &&
81
- env[REQUEST_PAYLOAD].find{ |k, v| v.kind_of?(IO) })
81
+ env[REQUEST_PAYLOAD].find{ |k, v| v.kind_of?(IO) ||
82
+ v.respond_to?(:read) })
82
83
  end
83
84
 
84
85
  def reject_blank params
@@ -1,4 +1,4 @@
1
1
 
2
2
  module RestCore
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
@@ -2,13 +2,13 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rest-core}
5
- s.version = "0.2.0"
5
+ s.version = "0.2.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [
9
9
  %q{Cardinal Blue},
10
10
  %q{Lin Jen-Shin (godfat)}]
11
- s.date = %q{2011-08-24}
11
+ s.date = %q{2011-08-25}
12
12
  s.description = %q{A modular Ruby REST client collection/infrastructure.
13
13
 
14
14
  In this era of web services and mashups, we have seen a blooming of REST
@@ -29,6 +29,7 @@ for any other REST APIs.
29
29
  %q{.gitignore},
30
30
  %q{.gitmodules},
31
31
  %q{.travis.yml},
32
+ %q{CHANGES.md},
32
33
  %q{CONTRIBUTORS},
33
34
  %q{Gemfile},
34
35
  %q{LICENSE},
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-08-24 00:00:00.000000000Z
13
+ date: 2011-08-25 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
17
- requirement: &2168876060 !ruby/object:Gem::Requirement
17
+ requirement: &2158064940 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *2168876060
25
+ version_requirements: *2158064940
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rack
28
- requirement: &2168875580 !ruby/object:Gem::Requirement
28
+ requirement: &2158064460 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2168875580
36
+ version_requirements: *2158064460
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: yajl-ruby
39
- requirement: &2168875100 !ruby/object:Gem::Requirement
39
+ requirement: &2158063980 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2168875100
47
+ version_requirements: *2158063980
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: json
50
- requirement: &2168874620 !ruby/object:Gem::Requirement
50
+ requirement: &2158063500 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2168874620
58
+ version_requirements: *2158063500
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: json_pure
61
- requirement: &2168874140 !ruby/object:Gem::Requirement
61
+ requirement: &2158063020 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2168874140
69
+ version_requirements: *2158063020
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: ruby-hmac
72
- requirement: &2168873660 !ruby/object:Gem::Requirement
72
+ requirement: &2158062540 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2168873660
80
+ version_requirements: *2158062540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: webmock
83
- requirement: &2168873180 !ruby/object:Gem::Requirement
83
+ requirement: &2158062060 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2168873180
91
+ version_requirements: *2158062060
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: bacon
94
- requirement: &2168906220 !ruby/object:Gem::Requirement
94
+ requirement: &2158061580 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *2168906220
102
+ version_requirements: *2158061580
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rr
105
- requirement: &2168905740 !ruby/object:Gem::Requirement
105
+ requirement: &2158094620 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *2168905740
113
+ version_requirements: *2158094620
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rake
116
- requirement: &2168905260 !ruby/object:Gem::Requirement
116
+ requirement: &2158094140 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *2168905260
124
+ version_requirements: *2158094140
125
125
  description: ! 'A modular Ruby REST client collection/infrastructure.
126
126
 
127
127
 
@@ -157,6 +157,7 @@ files:
157
157
  - .gitignore
158
158
  - .gitmodules
159
159
  - .travis.yml
160
+ - CHANGES.md
160
161
  - CONTRIBUTORS
161
162
  - Gemfile
162
163
  - LICENSE