social_profile 0.2.2 → 0.3.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.
@@ -0,0 +1,74 @@
1
+ {
2
+ "response": {
3
+ "items": [
4
+ {
5
+ "id": 655,
6
+ "from_id": 2592709,
7
+ "owner_id": 2592709,
8
+ "date": 1349475107,
9
+ "post_type": "post",
10
+ "text": "",
11
+ "can_delete": 1,
12
+ "can_pin": 1,
13
+ "attachments": [
14
+ {
15
+ "type": "photo",
16
+ "photo": {
17
+ "id": 290498375,
18
+ "album_id": -7,
19
+ "owner_id": 2592709,
20
+ "photo_75": "https://pp.vk.me/...5/jM5ksRLZ110.jpg",
21
+ "photo_130": "https://pp.vk.me/...6/2RK71uZ-9mU.jpg",
22
+ "photo_604": "https://pp.vk.me/...7/9Q9mEfK7kQM.jpg",
23
+ "photo_807": "https://pp.vk.me/...8/Is3NFzEp0GU.jpg",
24
+ "photo_1280": "https://pp.vk.me/...9/UFIkcKtF_j0.jpg",
25
+ "width": 1280,
26
+ "height": 850,
27
+ "text": "Для тих, хто рідко нас бачить ;)",
28
+ "date": 1349475107,
29
+ "lat": 50.463954,
30
+ "long": 30.60247,
31
+ "access_key": "62ea232400459ba6d7"
32
+ }
33
+ },
34
+ {
35
+ "type": "photos_list",
36
+ "photos_list": [
37
+ "2592709_290498375"
38
+ ]
39
+ }
40
+ ],
41
+ "post_source": {
42
+ "type": "vk"
43
+ },
44
+ "comments": {
45
+ "count": 3,
46
+ "can_post": 1
47
+ },
48
+ "likes": {
49
+ "count": 7,
50
+ "user_likes": 0,
51
+ "can_like": 1,
52
+ "can_publish": 0
53
+ },
54
+ "reposts": {
55
+ "count": 0,
56
+ "user_reposted": 0
57
+ }
58
+ }
59
+ ],
60
+ "profiles": [
61
+ {
62
+ "id": 2592709,
63
+ "first_name": "Павел",
64
+ "last_name": "Галета",
65
+ "sex": 2,
66
+ "screen_name": "pavel.galeta",
67
+ "photo_50": "https://pp.vk.me/...09/e_a3716437.jpg",
68
+ "photo_100": "https://pp.vk.me/...09/d_847b328d.jpg",
69
+ "online": 1
70
+ }
71
+ ],
72
+ "groups": []
73
+ }
74
+ }
@@ -28,21 +28,21 @@ describe SocialProfile::People::Facebook do
28
28
  stub_request(:get, "https://graph.facebook.com/me/subscribers?access_token=abc&limit=1").
29
29
  to_return(:status => 200, :body => fixture("facebook/followers.json"))
30
30
 
31
- @user.followers_count.should == 14
31
+ @user.followers_count.should == 0
32
32
  end
33
33
 
34
34
  it "should response to followers without limits (without fetch_all)" do
35
35
  stub_request(:get, "https://graph.facebook.com/me/subscribers?access_token=abc&limit=5000").
36
36
  to_return(:status => 200, :body => fixture("facebook/followers.json"))
37
37
 
38
- @user.followers.size.should == 13
38
+ @user.followers.size.should == 0
39
39
  end
40
40
 
41
41
  it "should response to followers without limits (with fetch_all)" do
42
42
  stub_request(:get, "https://graph.facebook.com/me/subscribers?access_token=abc&limit=5000").
43
43
  to_return(:status => 200, :body => fixture("facebook/followers.json"))
44
44
 
45
- @user.followers(:fetch_all => true).size.should == 13
45
+ @user.followers(:fetch_all => true).size.should == 0
46
46
  end
47
47
 
48
48
  it "should response to followers list with limits" do
@@ -53,7 +53,7 @@ describe SocialProfile::People::Facebook do
53
53
  stub_request(:get, "https://graph.facebook.com/me/subscribers?access_token=abc&after=MTAwMDA0NDI3NDY3NjIx&limit=5").
54
54
  to_return(:status => 200, :body => fixture("facebook/followers_5_15.json"))
55
55
 
56
- @user.followers(:limit => 5, :fetch_all => true).size.should == 13
56
+ @user.followers(:limit => 5, :fetch_all => true).size.should == 0
57
57
  end
58
58
 
59
59
  it "should response to first_post_exists?" do
@@ -120,5 +120,14 @@ describe SocialProfile::People::Facebook do
120
120
  friends.should be_a(Array)
121
121
  friends.size.should == 4343
122
122
  end
123
+
124
+ it "should get mutual friends" do
125
+ mock_fql SocialProfile::People::Facebook::MUTUAL_FRIENDS, SocialProfile.root_path.join('spec/mock_json/facebook/mutual_friends.json'), :access_token => "abc" do
126
+ mutual_friends = @user.mutual_friends
127
+
128
+ mutual_friends.should be_a(Hash)
129
+ mutual_friends.size.should == 251
130
+ end
131
+ end
123
132
  end
124
133
  end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe SocialProfile::People::Instagram do
4
+ it "should be a Module" do
5
+ SocialProfile::People.should be_a(Module)
6
+ end
7
+
8
+ context "instagram" do
9
+ before(:each) do
10
+ @user = SocialProfile::Person.get(:instagram, "123456", "abc")
11
+
12
+ stub_request(:get, "https://api.instagram.com/v1/users/self/media/recent.json?access_token=abc&count=100").
13
+ to_return(:status => 200, :body => fixture('instagram/last_posts.json'))
14
+ end
15
+
16
+ it "should be a instagram profile" do
17
+ @user.should be_a(SocialProfile::People::Instagram)
18
+ end
19
+
20
+ it "should response to last_posts" do
21
+ posts = @user.last_posts
22
+
23
+ posts.size.should == 4
24
+ posts.first.likes["count"].should == 6
25
+ end
26
+ end
27
+ end
@@ -29,6 +29,8 @@ describe SocialProfile::People::Vkontakte do
29
29
  to_return(:status => 200, :body => fixture("vkontakte/followers.json"))
30
30
  stub_request(:get, "https://api.vk.com/method/wall.getReposts?access_token=abc&count=1000&offset=0&owner_id=2592709&post_id=3675").
31
31
  to_return(:status => 200, :body => fixture("vkontakte/shares_post_3675.json"))
32
+ stub_request(:get, "https://api.vk.com/method/wall.getById?access_token=abc&extended=1&posts=2592709_655").
33
+ to_return(:status => 200, :body => fixture("vkontakte/post.json"))
32
34
  end
33
35
 
34
36
  it "should be a vkontakte profile" do
@@ -111,5 +113,18 @@ describe SocialProfile::People::Vkontakte do
111
113
 
112
114
  @user.followers(:count => 20).size.should == 30
113
115
  end
116
+
117
+ it "should fetch post by id" do
118
+ response = @user.get_post("2592709_655")
119
+ response["items"].first["comments"]["count"].should == 3
120
+ end
121
+
122
+ it "should get mutual_friends" do
123
+ stub_request(:get, /friends\.getMutual/).
124
+ to_return(:status => 200, :body => fixture("vkontakte/mutual_friends.json"))
125
+
126
+ _hash = @user.mutual_friends(:target_uids => "seperated_ids")
127
+ _hash.size.should == 206
128
+ end
114
129
  end
115
130
  end
metadata CHANGED
@@ -1,111 +1,126 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_profile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Galeta
8
+ - Pavel Galeta
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-10-16 00:00:00.000000000 Z
12
+ date: 2015-12-11 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ~>
18
+ - - "~>"
18
19
  - !ruby/object:Gem::Version
19
20
  version: '1.3'
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - ~>
25
+ - - "~>"
25
26
  - !ruby/object:Gem::Version
26
27
  version: '1.3'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - '>='
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
34
  version: '0'
34
35
  type: :development
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - '>='
39
+ - - ">="
39
40
  - !ruby/object:Gem::Version
40
41
  version: '0'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: fb_graph
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - ~>
46
+ - - "~>"
46
47
  - !ruby/object:Gem::Version
47
48
  version: 2.7.16
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - ~>
53
+ - - "~>"
53
54
  - !ruby/object:Gem::Version
54
55
  version: 2.7.16
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: vkontakte
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - ~>
60
+ - - "~>"
60
61
  - !ruby/object:Gem::Version
61
62
  version: 0.0.6
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - ~>
67
+ - - "~>"
67
68
  - !ruby/object:Gem::Version
68
69
  version: 0.0.6
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: twitter
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ~>
74
+ - - "~>"
74
75
  - !ruby/object:Gem::Version
75
76
  version: 5.11.0
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ~>
81
+ - - "~>"
81
82
  - !ruby/object:Gem::Version
82
83
  version: 5.11.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: instagram
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 1.1.6
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 1.1.6
83
98
  - !ruby/object:Gem::Dependency
84
99
  name: httpclient
85
100
  requirement: !ruby/object:Gem::Requirement
86
101
  requirements:
87
- - - '>='
102
+ - - ">="
88
103
  - !ruby/object:Gem::Version
89
104
  version: '0'
90
105
  type: :runtime
91
106
  prerelease: false
92
107
  version_requirements: !ruby/object:Gem::Requirement
93
108
  requirements:
94
- - - '>='
109
+ - - ">="
95
110
  - !ruby/object:Gem::Version
96
111
  version: '0'
97
112
  - !ruby/object:Gem::Dependency
98
113
  name: multi_json
99
114
  requirement: !ruby/object:Gem::Requirement
100
115
  requirements:
101
- - - '>='
116
+ - - ">="
102
117
  - !ruby/object:Gem::Version
103
118
  version: '0'
104
119
  type: :runtime
105
120
  prerelease: false
106
121
  version_requirements: !ruby/object:Gem::Requirement
107
122
  requirements:
108
- - - '>='
123
+ - - ">="
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  description: Wrapper for Omniauth profile hash, post photo to album
@@ -115,14 +130,15 @@ executables: []
115
130
  extensions: []
116
131
  extra_rdoc_files: []
117
132
  files:
118
- - .gitignore
119
- - .rspec
133
+ - ".gitignore"
134
+ - ".rspec"
120
135
  - Gemfile
121
136
  - LICENSE.txt
122
137
  - README.md
123
138
  - Rakefile
124
139
  - lib/social_profile.rb
125
140
  - lib/social_profile/people/facebook.rb
141
+ - lib/social_profile/people/instagram.rb
126
142
  - lib/social_profile/people/twitter.rb
127
143
  - lib/social_profile/people/vkontakte.rb
128
144
  - lib/social_profile/person.rb
@@ -149,6 +165,8 @@ files:
149
165
  - spec/mock_json/facebook/last_posts.json
150
166
  - spec/mock_json/facebook/last_posts_big.json
151
167
  - spec/mock_json/facebook/last_posts_big2.json
168
+ - spec/mock_json/facebook/mutual_friends.json
169
+ - spec/mock_json/instagram/last_posts.json
152
170
  - spec/mock_json/twitter/auth.json
153
171
  - spec/mock_json/twitter/last_posts.json
154
172
  - spec/mock_json/twitter/token.json
@@ -164,8 +182,11 @@ files:
164
182
  - spec/mock_json/vkontakte/last_posts_3.json
165
183
  - spec/mock_json/vkontakte/likes_photo_290498375.json
166
184
  - spec/mock_json/vkontakte/likes_post_655.json
185
+ - spec/mock_json/vkontakte/mutual_friends.json
186
+ - spec/mock_json/vkontakte/post.json
167
187
  - spec/mock_json/vkontakte/shares_post_3675.json
168
188
  - spec/people/facebook_spec.rb
189
+ - spec/people/instagram_spec.rb
169
190
  - spec/people/twitter_spec.rb
170
191
  - spec/people/vkontakte_spec.rb
171
192
  - spec/providers/facebook_spec.rb
@@ -183,12 +204,12 @@ require_paths:
183
204
  - lib
184
205
  required_ruby_version: !ruby/object:Gem::Requirement
185
206
  requirements:
186
- - - '>='
207
+ - - ">="
187
208
  - !ruby/object:Gem::Version
188
209
  version: '0'
189
210
  required_rubygems_version: !ruby/object:Gem::Requirement
190
211
  requirements:
191
- - - '>='
212
+ - - ">="
192
213
  - !ruby/object:Gem::Version
193
214
  version: '0'
194
215
  requirements: []
@@ -211,6 +232,8 @@ test_files:
211
232
  - spec/mock_json/facebook/last_posts.json
212
233
  - spec/mock_json/facebook/last_posts_big.json
213
234
  - spec/mock_json/facebook/last_posts_big2.json
235
+ - spec/mock_json/facebook/mutual_friends.json
236
+ - spec/mock_json/instagram/last_posts.json
214
237
  - spec/mock_json/twitter/auth.json
215
238
  - spec/mock_json/twitter/last_posts.json
216
239
  - spec/mock_json/twitter/token.json
@@ -226,8 +249,11 @@ test_files:
226
249
  - spec/mock_json/vkontakte/last_posts_3.json
227
250
  - spec/mock_json/vkontakte/likes_photo_290498375.json
228
251
  - spec/mock_json/vkontakte/likes_post_655.json
252
+ - spec/mock_json/vkontakte/mutual_friends.json
253
+ - spec/mock_json/vkontakte/post.json
229
254
  - spec/mock_json/vkontakte/shares_post_3675.json
230
255
  - spec/people/facebook_spec.rb
256
+ - spec/people/instagram_spec.rb
231
257
  - spec/people/twitter_spec.rb
232
258
  - spec/people/vkontakte_spec.rb
233
259
  - spec/providers/facebook_spec.rb