croudia 1.0.8 → 1.0.9
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.
- checksums.yaml +4 -4
- data/lib/croudia/api/account.rb +11 -0
- data/lib/croudia/api/friendships.rb +14 -0
- data/lib/croudia/api/statuses.rb +12 -0
- data/lib/croudia/api/users.rb +11 -0
- data/lib/croudia/api/utils.rb +16 -4
- data/lib/croudia/client.rb +0 -1
- data/lib/croudia/default.rb +5 -2
- data/lib/croudia/relationship.rb +20 -0
- data/lib/croudia/request/multipart_with_file.rb +37 -0
- data/lib/croudia/user.rb +4 -0
- data/lib/croudia/version.rb +1 -1
- data/spec/croudia/api/account_spec.rb +19 -0
- data/spec/croudia/api/friendships_spec.rb +43 -0
- data/spec/croudia/api/statuses_spec.rb +28 -0
- data/spec/croudia/api/users_spec.rb +155 -0
- data/spec/fixtures/friendship.json +20 -0
- data/spec/fixtures/image.jpg +0 -0
- data/spec/fixtures/users.json +1 -0
- metadata +12 -4
- data/spec/croudia/api/user_spec.rb +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35e3879bf61ffee0163b39e54634e1a8d9991813
|
4
|
+
data.tar.gz: cf39c427d33d8f07d54a50b1cf9622499f08ce40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c88dc315377489afa9fafa63cf8041c5df7e1559b254bfa7e68e6e34d30ac6dd6caa438353abd3a3786afe235855f87549132188cdd68a7d735cc5f97ad80c94
|
7
|
+
data.tar.gz: 51e113458a23c95d517f85b67dd5cce947713ec1db00acf5300e323a063e2fb4756b2c7bb6894e6c6b29aab0ca6844b30263c38d75275b3568d0898995b48d8b
|
data/lib/croudia/api/account.rb
CHANGED
@@ -12,6 +12,17 @@ module Croudia
|
|
12
12
|
Croudia::User.new(resp)
|
13
13
|
end
|
14
14
|
alias current_user verify_credentials
|
15
|
+
|
16
|
+
# Update profile image
|
17
|
+
#
|
18
|
+
# @param image [File] New profile image
|
19
|
+
# @param params [Hash]
|
20
|
+
# @return [Croudia::User] Authenticated user object with new image
|
21
|
+
def update_profile_image(image, params={})
|
22
|
+
merge_file!(params, image, :image)
|
23
|
+
resp = post('/account/update_profile_image.json', params)
|
24
|
+
Croudia::User.new(resp)
|
25
|
+
end
|
15
26
|
end
|
16
27
|
end
|
17
28
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'croudia/relationship'
|
1
2
|
require 'croudia/user'
|
2
3
|
|
3
4
|
module Croudia
|
@@ -25,6 +26,19 @@ module Croudia
|
|
25
26
|
Croudia::User.new(resp)
|
26
27
|
end
|
27
28
|
|
29
|
+
# Show relationship between two users
|
30
|
+
#
|
31
|
+
# @param source [String, Integer, Croudia::User]
|
32
|
+
# @param target [String, Integer, Croudia::User]
|
33
|
+
# @param params [Hash]
|
34
|
+
# @return [Croudia::Relationship]
|
35
|
+
def friendship(source, target={}, params={})
|
36
|
+
merge_user!(params, source, :source_screen_name, :source_id)
|
37
|
+
merge_user!(params, target, :target_screen_name, :target_id)
|
38
|
+
resp = get('/friendships/show.json', params)
|
39
|
+
Croudia::Relationship.new(resp)
|
40
|
+
end
|
41
|
+
|
28
42
|
# Lookup Friendships
|
29
43
|
#
|
30
44
|
# @param *users [String, Integer, Croudia::User]
|
data/lib/croudia/api/statuses.rb
CHANGED
@@ -15,6 +15,18 @@ module Croudia
|
|
15
15
|
Croudia::Status.new(resp)
|
16
16
|
end
|
17
17
|
|
18
|
+
# Update status with media
|
19
|
+
#
|
20
|
+
# @param status [String] Status text
|
21
|
+
# @param media [File] Image to upload with
|
22
|
+
# @return [Croudia::Status]
|
23
|
+
def update_with_media(status, media={}, params={})
|
24
|
+
merge_text!(params, status)
|
25
|
+
merge_file!(params, media, :media)
|
26
|
+
resp = post('/statuses/update_with_media.json', params)
|
27
|
+
Croudia::Status.new(resp)
|
28
|
+
end
|
29
|
+
|
18
30
|
# Destroy a status
|
19
31
|
#
|
20
32
|
# @param status_id [String, Integer, Croudia::Status] Status to delete
|
data/lib/croudia/api/users.rb
CHANGED
@@ -13,6 +13,17 @@ module Croudia
|
|
13
13
|
resp = get('/users/show.json', params)
|
14
14
|
Croudia::User.new(resp)
|
15
15
|
end
|
16
|
+
|
17
|
+
# Lookup Users
|
18
|
+
#
|
19
|
+
# @param *users [String, Integer, Croudia::User]
|
20
|
+
# @param params [Hash]
|
21
|
+
# @return [Array<Croudia::User>]
|
22
|
+
def users(*args)
|
23
|
+
merge_users!(params = {}, args)
|
24
|
+
resp = post('/users/lookup.json', params)
|
25
|
+
objects(Croudia::User, resp)
|
26
|
+
end
|
16
27
|
end
|
17
28
|
end
|
18
29
|
end
|
data/lib/croudia/api/utils.rb
CHANGED
@@ -15,16 +15,28 @@ module Croudia
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
18
|
+
def merge_file!(params, file, key=:file)
|
19
|
+
case file
|
20
|
+
when Hash
|
21
|
+
params.merge!(file)
|
22
|
+
when File
|
23
|
+
params[key] = file
|
24
|
+
else
|
25
|
+
raise ArgumentError, "#{key} must be a File"
|
26
|
+
end
|
27
|
+
params
|
28
|
+
end
|
29
|
+
|
30
|
+
def merge_user!(params, user, sn_key=:screen_name, user_key=:user_id)
|
19
31
|
case user
|
20
32
|
when Hash
|
21
33
|
params.merge!(user)
|
22
34
|
when String
|
23
|
-
params[
|
35
|
+
params[sn_key] = user
|
24
36
|
when Integer
|
25
|
-
params[
|
37
|
+
params[user_key] = user
|
26
38
|
when Croudia::User
|
27
|
-
params[
|
39
|
+
params[user_key] = user.id_str
|
28
40
|
else
|
29
41
|
raise ArgumentError, 'user must be a String, Integer or User'
|
30
42
|
end
|
data/lib/croudia/client.rb
CHANGED
@@ -60,7 +60,6 @@ module Croudia
|
|
60
60
|
def request(method, path, params={})
|
61
61
|
connection.send(method.to_sym, path, params) do |request|
|
62
62
|
request.headers[:authorization] = "Bearer #{@access_token}" if @access_token
|
63
|
-
request.headers[:content_type] = 'application/x-www-form-urlencoded; charset=utf-8'
|
64
63
|
end.body
|
65
64
|
end
|
66
65
|
|
data/lib/croudia/default.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'faraday_middleware'
|
3
3
|
require 'croudia/configurable'
|
4
|
+
require 'croudia/request/multipart_with_file'
|
4
5
|
require 'croudia/version'
|
5
6
|
|
6
7
|
module Croudia
|
@@ -13,19 +14,21 @@ module Croudia
|
|
13
14
|
},
|
14
15
|
request: {
|
15
16
|
open_timeout: 5,
|
16
|
-
timeout:
|
17
|
+
timeout: 20,
|
17
18
|
},
|
18
19
|
ssl: {
|
19
20
|
verify: true,
|
20
21
|
},
|
21
22
|
} unless defined? Croudia::Default::CONNECTION_OPTIONS
|
22
23
|
MIDDLEWARE = Faraday::Builder.new do |builder|
|
24
|
+
builder.request :multipart_with_file
|
25
|
+
builder.request :multipart
|
23
26
|
builder.request :url_encoded
|
24
27
|
|
25
28
|
builder.response :json
|
26
29
|
builder.response :raise_error
|
27
30
|
|
28
|
-
builder.adapter
|
31
|
+
builder.adapter Faraday.default_adapter
|
29
32
|
end unless defined? Croudia::Default::MIDDLEWARE
|
30
33
|
|
31
34
|
class << self
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'croudia/base'
|
2
|
+
|
3
|
+
class Croudia::Relationship < Croudia::Base
|
4
|
+
KEYS = [
|
5
|
+
:souorce,
|
6
|
+
:target,
|
7
|
+
]
|
8
|
+
|
9
|
+
def relationship
|
10
|
+
self
|
11
|
+
end
|
12
|
+
|
13
|
+
def source
|
14
|
+
@source ||= Croudia::User.new(@attrs['relationship']['source'])
|
15
|
+
end
|
16
|
+
|
17
|
+
def target
|
18
|
+
@target ||= Croudia::User.new(@attrs['relationship']['target'])
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
|
3
|
+
module Croudia
|
4
|
+
module Request
|
5
|
+
class MultipartWithFile < Faraday::Middleware
|
6
|
+
CONTENT_TYPE = 'Content-Type'
|
7
|
+
|
8
|
+
def call(env)
|
9
|
+
env[:body].each do |key, value|
|
10
|
+
if value.respond_to?(:to_io)
|
11
|
+
env[:body][key] = Faraday::UploadIO.new(value, mime_type(value.path))
|
12
|
+
end
|
13
|
+
end if env[:body].is_a?(::Hash)
|
14
|
+
@app.call(env)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def mime_type(path)
|
20
|
+
case path
|
21
|
+
when /\.jpe?g\z/i
|
22
|
+
'image/jpeg'
|
23
|
+
when /\.gif\z/i
|
24
|
+
'image/gif'
|
25
|
+
when /\.png\z/i
|
26
|
+
'image/png'
|
27
|
+
else
|
28
|
+
'application/octet-stream'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
Faraday.register_middleware :request,
|
37
|
+
:multipart_with_file => lambda { Croudia::Request::MultipartWithFile }
|
data/lib/croudia/user.rb
CHANGED
@@ -7,15 +7,19 @@ module Croudia
|
|
7
7
|
|
8
8
|
KEYS = [
|
9
9
|
:id_str,
|
10
|
+
:blocking,
|
10
11
|
:connections,
|
11
12
|
:description,
|
12
13
|
:favorites_count,
|
13
14
|
:follow_request_sent,
|
15
|
+
:followed_by,
|
16
|
+
:following,
|
14
17
|
:followers_count,
|
15
18
|
:friends_count,
|
16
19
|
:location,
|
17
20
|
:name,
|
18
21
|
:profile_image_url_https,
|
22
|
+
:protected,
|
19
23
|
:screen_name,
|
20
24
|
:statuses_count,
|
21
25
|
:url,
|
data/lib/croudia/version.rb
CHANGED
@@ -22,4 +22,23 @@ describe Croudia::API::Account do
|
|
22
22
|
expect(@client.verify_credentials).to be_a Croudia::User
|
23
23
|
end
|
24
24
|
end
|
25
|
+
|
26
|
+
describe '#update_profile_image' do
|
27
|
+
before do
|
28
|
+
stub_post('/account/update_profile_image.json').to_return(
|
29
|
+
body: fixture(:user),
|
30
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'requests the correct resource' do
|
35
|
+
@client.update_profile_image(fixture('image.jpg'))
|
36
|
+
expect(a_post('/account/update_profile_image.json')).to have_been_made
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'returns a Croudia::User' do
|
40
|
+
subject = @client.update_profile_image(fixture('image.jpg'))
|
41
|
+
expect(subject).to be_a Croudia::User
|
42
|
+
end
|
43
|
+
end
|
25
44
|
end
|
@@ -85,6 +85,49 @@ describe Croudia::API::Friendships do
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
+
describe '#friendship' do
|
89
|
+
before do
|
90
|
+
stub_get('/friendships/show.json').with(
|
91
|
+
query: {
|
92
|
+
source_id: '1234',
|
93
|
+
target_id: '3456',
|
94
|
+
}
|
95
|
+
).to_return(
|
96
|
+
body: fixture(:friendship),
|
97
|
+
headers: { content_type: 'appplication/json; charset=utf-8' }
|
98
|
+
)
|
99
|
+
end
|
100
|
+
|
101
|
+
context 'when passing a Hash' do
|
102
|
+
it 'requests the correct resource' do
|
103
|
+
@client.friendship(source_id: 1234, target_id: 3456)
|
104
|
+
expect(a_get('/friendships/show.json').with(
|
105
|
+
query: {
|
106
|
+
source_id: '1234',
|
107
|
+
target_id: '3456',
|
108
|
+
}
|
109
|
+
)).to have_been_made
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
context 'when passing each argument' do
|
114
|
+
it 'requests the correct resource' do
|
115
|
+
@client.friendship(1234, 3456)
|
116
|
+
expect(a_get('/friendships/show.json').with(
|
117
|
+
query: {
|
118
|
+
source_id: '1234',
|
119
|
+
target_id: '3456',
|
120
|
+
}
|
121
|
+
)).to have_been_made
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'returns a Relationship' do
|
126
|
+
subject = @client.friendship(1234, 3456)
|
127
|
+
expect(subject).to be_a Croudia::Relationship
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
88
131
|
describe '#friendships' do
|
89
132
|
context 'when String is passed' do
|
90
133
|
before do
|
@@ -49,6 +49,34 @@ describe Croudia::API::Statuses do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
describe '#update_with_media' do
|
53
|
+
before do
|
54
|
+
stub_post('/statuses/update_with_media.json').to_return(
|
55
|
+
body: fixture(:status),
|
56
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
context 'when passing each argument' do
|
61
|
+
it 'requests the correct resource' do
|
62
|
+
@client.update_with_media('Hi', fixture('image.jpg'))
|
63
|
+
expect(a_post('/statuses/update_with_media.json')).to have_been_made
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context 'when passing a Hash' do
|
68
|
+
it 'requests the correct resource' do
|
69
|
+
@client.update_with_media(status: 'Hi', media: fixture('image.jpg'))
|
70
|
+
expect(a_post('/statuses/update_with_media.json')).to have_been_made
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'returns a Croudia::Status' do
|
75
|
+
subject = @client.update_with_media('Hi', fixture('image.jpg'))
|
76
|
+
expect(subject).to be_a Croudia::Status
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
52
80
|
describe '#destroy_status' do
|
53
81
|
before do
|
54
82
|
stub_post('/statuses/destroy/1234.json').to_return(
|
@@ -0,0 +1,155 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Croudia::API::Users do
|
4
|
+
before do
|
5
|
+
@client = Croudia::Client.new
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#user' do
|
9
|
+
before do
|
10
|
+
stub_get('/users/show.json').with(
|
11
|
+
query: { screen_name: 'wktk' }
|
12
|
+
).to_return(
|
13
|
+
body: fixture(:user),
|
14
|
+
headers: { content_type: 'application/json; chrset=utf-8' }
|
15
|
+
)
|
16
|
+
|
17
|
+
stub_get('/users/show.json').with(
|
18
|
+
query: { user_id: 1234 }
|
19
|
+
).to_return(
|
20
|
+
body: fixture(:user),
|
21
|
+
headers: { content_type: 'application/json; chrset=utf-8' }
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'when string is passed' do
|
26
|
+
it 'requests the correct resource' do
|
27
|
+
@client.user('wktk')
|
28
|
+
expect(a_get('/users/show.json').with(
|
29
|
+
query: { screen_name: 'wktk' }
|
30
|
+
)).to have_been_made
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'when integer is passed' do
|
35
|
+
it 'requests the correct resource' do
|
36
|
+
@client.user(1234)
|
37
|
+
expect(a_get('/users/show.json').with(
|
38
|
+
query: { user_id: 1234 }
|
39
|
+
)).to have_been_made
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'when hash is passed' do
|
44
|
+
it 'requests the correct resource' do
|
45
|
+
@client.user(screen_name: 'wktk')
|
46
|
+
expect(a_get('/users/show.json').with(
|
47
|
+
query: { screen_name: 'wktk' }
|
48
|
+
)).to have_been_made
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'returns User object' do
|
53
|
+
expect(@client.user('wktk')).to be_a Croudia::User
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe '#users' do
|
58
|
+
context 'when String is passed' do
|
59
|
+
before do
|
60
|
+
stub_post('/users/lookup.json').with(
|
61
|
+
body: {
|
62
|
+
screen_name: 'wktk',
|
63
|
+
}
|
64
|
+
).to_return(
|
65
|
+
body: fixture(:users),
|
66
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
67
|
+
)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'requests the correct resource' do
|
71
|
+
@client.users('wktk')
|
72
|
+
expect(a_post('/users/lookup.json')).to have_been_made
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'returns array of Croudia::User' do
|
76
|
+
subject = @client.users('wktk')
|
77
|
+
expect(subject).to be_an Array
|
78
|
+
subject.each { |u| expect(u).to be_a Croudia::User }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'when Integer is passed' do
|
83
|
+
before do
|
84
|
+
stub_post('/users/lookup.json').with(
|
85
|
+
body: {
|
86
|
+
user_id: '1234',
|
87
|
+
}
|
88
|
+
).to_return(
|
89
|
+
body: fixture(:users),
|
90
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
91
|
+
)
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'requests the correct resource' do
|
95
|
+
@client.users(1234)
|
96
|
+
expect(a_post('/users/lookup.json')).to have_been_made
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'when multiple Strings are passed' do
|
101
|
+
before do
|
102
|
+
stub_post('/users/lookup.json').with(
|
103
|
+
body: {
|
104
|
+
screen_name: 'wktk,croudia',
|
105
|
+
}
|
106
|
+
).to_return(
|
107
|
+
body: fixture(:users),
|
108
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
109
|
+
)
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'requests the correct resource' do
|
113
|
+
@client.users('wktk', 'croudia')
|
114
|
+
expect(a_post('/users/lookup.json')).to have_been_made
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
context 'when multiple Integers are passed' do
|
119
|
+
before do
|
120
|
+
stub_post('/users/lookup.json').with(
|
121
|
+
body: {
|
122
|
+
user_id: '1234,4567',
|
123
|
+
}
|
124
|
+
).to_return(
|
125
|
+
body: fixture(:users),
|
126
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
127
|
+
)
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'requests the correct resource' do
|
131
|
+
@client.users(1234, 4567)
|
132
|
+
expect(a_post('/users/lookup.json')).to have_been_made
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context 'when multiple String and Integer are passed' do
|
137
|
+
before do
|
138
|
+
stub_post('/users/lookup.json').with(
|
139
|
+
body: {
|
140
|
+
user_id: '1234,4567',
|
141
|
+
screen_name: 'wktk,croudia',
|
142
|
+
}
|
143
|
+
).to_return(
|
144
|
+
body: fixture(:users),
|
145
|
+
headers: { content_type: 'application/json; charset=utf-8' }
|
146
|
+
)
|
147
|
+
end
|
148
|
+
|
149
|
+
it 'requests the correct resource' do
|
150
|
+
@client.users('wktk', 1234, 'croudia', 4567)
|
151
|
+
expect(a_post('/users/lookup.json')).to have_been_made
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{
|
2
|
+
"relationship": {
|
3
|
+
"source": {
|
4
|
+
"blocking": null,
|
5
|
+
"followed_by": true,
|
6
|
+
"following": false,
|
7
|
+
"id": 1234,
|
8
|
+
"id_str": "1234",
|
9
|
+
"screen_name": "wktk"
|
10
|
+
},
|
11
|
+
"target": {
|
12
|
+
"blocking": null,
|
13
|
+
"followed_by": true,
|
14
|
+
"following": false,
|
15
|
+
"id": 3456,
|
16
|
+
"id_str": "3456",
|
17
|
+
"screen_name": "croudia"
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"id":7987,"id_str":"7987","name":"wktk","screen_name":"wktk","profile_image_url_https":"https://croudia.com/testimages/download/9423","created_at":"Sun, 29 Jul 2012 19:21:21 +0900","description":"気軽に fav ります。Twitter でも @wktk です。 \r\nhttps://twitter.com/wktk\r\nhttps://github.com/wktk","favorites_count":68,"follow_request_sent":"underdevelopment","followers_count":12,"following":"underdevelopment","friends_count":11,"location":"Japan","statuses_count":26,"protected":false,"url":"http://wktk.jp/"},{"id":7987,"id_str":"7987","name":"wktk","screen_name":"wktk","profile_image_url_https":"https://croudia.com/testimages/download/9423","created_at":"Sun, 29 Jul 2012 19:21:21 +0900","description":"気軽に fav ります。Twitter でも @wktk です。 \r\nhttps://twitter.com/wktk\r\nhttps://github.com/wktk","favorites_count":68,"follow_request_sent":"underdevelopment","followers_count":12,"following":"underdevelopment","friends_count":11,"location":"Japan","statuses_count":26,"protected":false,"url":"http://wktk.jp/"}]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: croudia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wktk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -126,6 +126,8 @@ files:
|
|
126
126
|
- lib/croudia/default.rb
|
127
127
|
- lib/croudia/ext/openssl.rb
|
128
128
|
- lib/croudia/identity.rb
|
129
|
+
- lib/croudia/relationship.rb
|
130
|
+
- lib/croudia/request/multipart_with_file.rb
|
129
131
|
- lib/croudia/secret_mail.rb
|
130
132
|
- lib/croudia/source.rb
|
131
133
|
- lib/croudia/status.rb
|
@@ -138,7 +140,7 @@ files:
|
|
138
140
|
- spec/croudia/api/secret_mails_spec.rb
|
139
141
|
- spec/croudia/api/statuses_spec.rb
|
140
142
|
- spec/croudia/api/timelines_spec.rb
|
141
|
-
- spec/croudia/api/
|
143
|
+
- spec/croudia/api/users_spec.rb
|
142
144
|
- spec/croudia/base_spec.rb
|
143
145
|
- spec/croudia/client_spec.rb
|
144
146
|
- spec/croudia/identity_spec.rb
|
@@ -148,12 +150,15 @@ files:
|
|
148
150
|
- spec/croudia/user_spec.rb
|
149
151
|
- spec/croudia_spec.rb
|
150
152
|
- spec/fixtures/access_token.json
|
153
|
+
- spec/fixtures/friendship.json
|
151
154
|
- spec/fixtures/friendships.json
|
155
|
+
- spec/fixtures/image.jpg
|
152
156
|
- spec/fixtures/secret_mail.json
|
153
157
|
- spec/fixtures/secret_mails.json
|
154
158
|
- spec/fixtures/status.json
|
155
159
|
- spec/fixtures/timeline.json
|
156
160
|
- spec/fixtures/user.json
|
161
|
+
- spec/fixtures/users.json
|
157
162
|
- spec/helper.rb
|
158
163
|
homepage: https://github.com/wktk/croudia-gem
|
159
164
|
licenses:
|
@@ -187,7 +192,7 @@ test_files:
|
|
187
192
|
- spec/croudia/api/secret_mails_spec.rb
|
188
193
|
- spec/croudia/api/statuses_spec.rb
|
189
194
|
- spec/croudia/api/timelines_spec.rb
|
190
|
-
- spec/croudia/api/
|
195
|
+
- spec/croudia/api/users_spec.rb
|
191
196
|
- spec/croudia/base_spec.rb
|
192
197
|
- spec/croudia/client_spec.rb
|
193
198
|
- spec/croudia/identity_spec.rb
|
@@ -197,10 +202,13 @@ test_files:
|
|
197
202
|
- spec/croudia/user_spec.rb
|
198
203
|
- spec/croudia_spec.rb
|
199
204
|
- spec/fixtures/access_token.json
|
205
|
+
- spec/fixtures/friendship.json
|
200
206
|
- spec/fixtures/friendships.json
|
207
|
+
- spec/fixtures/image.jpg
|
201
208
|
- spec/fixtures/secret_mail.json
|
202
209
|
- spec/fixtures/secret_mails.json
|
203
210
|
- spec/fixtures/status.json
|
204
211
|
- spec/fixtures/timeline.json
|
205
212
|
- spec/fixtures/user.json
|
213
|
+
- spec/fixtures/users.json
|
206
214
|
- spec/helper.rb
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
describe Croudia::API::Users do
|
4
|
-
before do
|
5
|
-
@client = Croudia::Client.new
|
6
|
-
end
|
7
|
-
|
8
|
-
describe '#user' do
|
9
|
-
before do
|
10
|
-
stub_get('/users/show.json').with(
|
11
|
-
query: { screen_name: 'wktk' }
|
12
|
-
).to_return(
|
13
|
-
body: fixture(:user),
|
14
|
-
headers: { content_type: 'application/json; chrset=utf-8' }
|
15
|
-
)
|
16
|
-
|
17
|
-
stub_get('/users/show.json').with(
|
18
|
-
query: { user_id: 1234 }
|
19
|
-
).to_return(
|
20
|
-
body: fixture(:user),
|
21
|
-
headers: { content_type: 'application/json; chrset=utf-8' }
|
22
|
-
)
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'when string is passed' do
|
26
|
-
it 'requests the correct resource' do
|
27
|
-
@client.user('wktk')
|
28
|
-
expect(a_get('/users/show.json').with(
|
29
|
-
query: { screen_name: 'wktk' }
|
30
|
-
)).to have_been_made
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
context 'when integer is passed' do
|
35
|
-
it 'requests the correct resource' do
|
36
|
-
@client.user(1234)
|
37
|
-
expect(a_get('/users/show.json').with(
|
38
|
-
query: { user_id: 1234 }
|
39
|
-
)).to have_been_made
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
context 'when hash is passed' do
|
44
|
-
it 'requests the correct resource' do
|
45
|
-
@client.user(screen_name: 'wktk')
|
46
|
-
expect(a_get('/users/show.json').with(
|
47
|
-
query: { screen_name: 'wktk' }
|
48
|
-
)).to have_been_made
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'returns User object' do
|
53
|
-
expect(@client.user('wktk')).to be_a Croudia::User
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|