rixi 0.1.2 → 0.2.0
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/VERSION +1 -1
- data/lib/rixi.rb +62 -32
- data/rixi.gemspec +1 -1
- metadata +14 -14
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/rixi.rb
CHANGED
@@ -1,7 +1,35 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
require 'cgi'
|
2
3
|
require 'oauth2'
|
3
4
|
require 'json'
|
4
5
|
|
6
|
+
module OAuth2
|
7
|
+
class Client
|
8
|
+
# Initializes an AccessToken by making a request to the token endpoint
|
9
|
+
#
|
10
|
+
# @param [Hash] params a Hash of params for the token endpoint
|
11
|
+
# @return [AccessToken] the initalized AccessToken
|
12
|
+
def get_token(params)
|
13
|
+
opts = { :raise_errors => true, :parse => params.delete(:parse)}
|
14
|
+
if options[:token_method] == :post
|
15
|
+
opts[:body] = params
|
16
|
+
opts[:headers] = { 'Content-Type' => 'application/x-www-form-urlencoded'}
|
17
|
+
else
|
18
|
+
opts[:params] = params
|
19
|
+
end
|
20
|
+
response = request(options[:token_method], token_url, opts)
|
21
|
+
raise Error.new(response) unless response.parsed.is_a?(Hash) && response.parsed['access_token']
|
22
|
+
|
23
|
+
##
|
24
|
+
## デフォルトではヘッダーでのAccessToken指定が出来ないため
|
25
|
+
##
|
26
|
+
AccessToken.new(self, response.parsed.delete("access_token"),
|
27
|
+
:mode => :header,
|
28
|
+
:header_format => "OAuth %s")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
5
33
|
class Rixi
|
6
34
|
class APIError < StandardError
|
7
35
|
attr_reader :response
|
@@ -52,8 +80,7 @@ class Rixi
|
|
52
80
|
|
53
81
|
def get_token(code)
|
54
82
|
@token = @client.auth_code
|
55
|
-
.get_token(code,
|
56
|
-
{:redirect_uri => @redirect_uri})
|
83
|
+
.get_token(code,{:redirect_uri => @redirect_uri})
|
57
84
|
end
|
58
85
|
|
59
86
|
#
|
@@ -95,20 +122,21 @@ class Rixi
|
|
95
122
|
delete_replies /2/voice/replies/destroy/%s/%s post
|
96
123
|
create_favorite /2/voice/favorites/create/%s post
|
97
124
|
delete_favorite /2/voice/favorites/destory/%s/%s post
|
98
|
-
|
125
|
+
albums /2/photo/albums/%s/@self/%o get
|
99
126
|
recent_album /2/photo/albums/%s/%s get
|
100
|
-
|
101
|
-
|
127
|
+
photos_in_album /2/photo/mediaItems/%s/@self/%s/%o get
|
128
|
+
recent_photos /2/photo/mediaItems/%s/%o get
|
102
129
|
comments_album /2/photo/comments/albums/%s/@self/%s get
|
103
|
-
|
104
|
-
|
130
|
+
comments_photo /2/photo/comments/mediaItems/%s/@self/%s/%s get
|
131
|
+
favorites_photo /2/phoho/favorites/mediaItems/%s/@self/%s/%s get
|
105
132
|
create_album /2/photo/albums/%s/@self post
|
106
133
|
delete_album /2/photo/albums/%s/@self/%s delete
|
107
134
|
create_comment_album /2/photo/comments/albums/%s/@self/%s post
|
108
135
|
delete_comment_album /2/photo/comments/albums/%s/@self/%s/%s delete
|
109
|
-
|
110
|
-
|
111
|
-
|
136
|
+
upload_photo /2/photo/mediaItems/%s/@self/%s post_image
|
137
|
+
create_comment_photo /2/photo/comments/mediaItems/%s/@self/%s/%s/ delete
|
138
|
+
create_favorite_photo /2/photo/favorites/mediaItems/%s/@self/%s/%s/ post
|
139
|
+
delete_favorite_photo /2/photo/favorites/mediaItems/%s/@self/%s/%s/ delete
|
112
140
|
messages_inbox /2/messages/%s/@inbox/%o get
|
113
141
|
messages_outbox /2/messages/%s/@outbox/%o get
|
114
142
|
create_message /2/messages/%s/@self/@outbox post
|
@@ -128,18 +156,15 @@ class Rixi
|
|
128
156
|
if /%s/ =~ path
|
129
157
|
define_method method_name do |*args|
|
130
158
|
params = args.last.kind_of?(Hash) ? args.pop : { }
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
path.sub!("%o",params[:optional_path].to_s)
|
138
|
-
else
|
139
|
-
path.sub!("/%o","")
|
159
|
+
if /%o/ =~ path
|
160
|
+
if params.key? :optional_path
|
161
|
+
path.sub!("%o",params[:optional_path].to_s)
|
162
|
+
else
|
163
|
+
path.sub!("/%o","")
|
164
|
+
end
|
140
165
|
end
|
141
166
|
__send__ http_method, path % args, params
|
142
|
-
end
|
167
|
+
end
|
143
168
|
else
|
144
169
|
define_method method_name do |params = { }|
|
145
170
|
__send__ http_method, path, params
|
@@ -151,30 +176,36 @@ class Rixi
|
|
151
176
|
# これらのメソッドを呼ぶ
|
152
177
|
def get(path, params = { })
|
153
178
|
extend_expire()
|
154
|
-
parse_response(@token.get(path,
|
155
|
-
{:mode => :query,
|
156
|
-
:params => params.merge({:oauth_token => @token.token})}))
|
179
|
+
parse_response(@token.get(path, :params => params))
|
157
180
|
end
|
158
181
|
|
159
182
|
def post(path, params = { })
|
160
183
|
extend_expire()
|
184
|
+
parse_response(@token.post(path,:params => params))
|
185
|
+
end
|
186
|
+
|
187
|
+
# img は "rb"で開いたFileのインスタンスで渡す
|
188
|
+
def post_image(path, params = { })
|
189
|
+
extend_expire()
|
190
|
+
path += "?title="+ CGI.escape(params[:title]) if params[:title]
|
161
191
|
parse_response(@token.post(path,
|
162
|
-
|
163
|
-
|
192
|
+
{
|
193
|
+
:headers => {
|
194
|
+
:content_type => "image/jpeg",
|
195
|
+
:content_length => params[:image].size.to_s,
|
196
|
+
},
|
197
|
+
:body => params[:image].read
|
198
|
+
}))
|
164
199
|
end
|
165
200
|
|
166
201
|
def delete(path, params = { })
|
167
202
|
extend_expire()
|
168
|
-
parse_response(@token.delete(path,
|
169
|
-
{:mode => :body,
|
170
|
-
:params => params.merge({:oauth_token => @token.token})}))
|
203
|
+
parse_response(@token.delete(path, :params => params))
|
171
204
|
end
|
172
205
|
|
173
206
|
def put(path, params = { })
|
174
207
|
extend_expire()
|
175
|
-
parse_response(@token.put(path,
|
176
|
-
{:mode => :body,
|
177
|
-
:params => params.merge({:oauth_token => @token.token})}))
|
208
|
+
parse_response(@token.put(path, :params => params))
|
178
209
|
end
|
179
210
|
|
180
211
|
# OAuth2::AccessTokenの仕様上破壊的代入が出来ないため...
|
@@ -185,7 +216,6 @@ class Rixi
|
|
185
216
|
end
|
186
217
|
|
187
218
|
# mixiボイスの投稿を楽にするため
|
188
|
-
# Update APIとかぶるか?!
|
189
219
|
def voice_update(status)
|
190
220
|
voice_statuses_update(:statsus => status)
|
191
221
|
end
|
data/rixi.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rixi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-08-18 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: oauth2
|
16
|
-
requirement: &
|
16
|
+
requirement: &70222871326180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70222871326180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70222871325260 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70222871325260
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70222871324500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.3.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70222871324500
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70222871323880 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70222871323880
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70222871323340 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.6.4
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70222871323340
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rcov
|
71
|
-
requirement: &
|
71
|
+
requirement: &70222871322840 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70222871322840
|
80
80
|
description: Rixi is a simply library for mixi graph api in Ruby.
|
81
81
|
email: ainame954@facebook.com
|
82
82
|
executables: []
|
@@ -113,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
113
|
version: '0'
|
114
114
|
segments:
|
115
115
|
- 0
|
116
|
-
hash:
|
116
|
+
hash: 921506224466776057
|
117
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|