facegroups 0.2.1 → 0.2.2
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/Gemfile.lock +6 -3
- data/lib/facegroups/group.rb +1 -1
- data/lib/facegroups/posting.rb +1 -1
- data/lib/facegroups/version.rb +1 -1
- data/spec/facegroups_spec.rb +36 -22
- data/spec/fixtures/cassettes/facebook_api.yml +6 -166
- data/spec/spec_helper.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 152e77831c3b594ae33626c56057d8fb18f932a5
|
4
|
+
data.tar.gz: a8b9d264b3d9c4b286bc2bd9439683ff8bd53ff7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 073edf44bb3f9c94215bff47e8f79384965791d3a3896e5845ef8dcd6f37117074daca460dabb098cad6ee4c01414ad48a8989adcd53dfcf78143f250da0016b
|
7
|
+
data.tar.gz: 568826166250023151216166adb15a7a9dfe6bae079d857a161224a6637520b1c4366cc39cbfd371c9236828b3118ec3eeeae47c5f1198e4fdeecac3c10fdf11
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
facegroups (0.
|
4
|
+
facegroups (0.2.2)
|
5
5
|
http (~> 2.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -9,10 +9,12 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
addressable (2.4.0)
|
11
11
|
ast (2.3.0)
|
12
|
+
codeclimate-test-reporter (0.6.0)
|
13
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
12
14
|
crack (0.4.3)
|
13
15
|
safe_yaml (~> 1.0.0)
|
14
16
|
docile (1.1.5)
|
15
|
-
domain_name (0.5.
|
17
|
+
domain_name (0.5.20161021)
|
16
18
|
unf (>= 0.0.5, < 1.0.0)
|
17
19
|
erubis (2.7.0)
|
18
20
|
flay (2.8.1)
|
@@ -25,7 +27,7 @@ GEM
|
|
25
27
|
ruby_parser (~> 3.1, > 3.1.0)
|
26
28
|
sexp_processor (~> 4.4)
|
27
29
|
hashdiff (0.3.0)
|
28
|
-
http (2.0
|
30
|
+
http (2.1.0)
|
29
31
|
addressable (~> 2.3)
|
30
32
|
http-cookie (~> 1.0)
|
31
33
|
http-form_data (~> 1.0.1)
|
@@ -74,6 +76,7 @@ PLATFORMS
|
|
74
76
|
ruby
|
75
77
|
|
76
78
|
DEPENDENCIES
|
79
|
+
codeclimate-test-reporter (~> 0.6)
|
77
80
|
facegroups!
|
78
81
|
flay (~> 2.8)
|
79
82
|
flog (~> 4.4)
|
data/lib/facegroups/group.rb
CHANGED
data/lib/facegroups/posting.rb
CHANGED
data/lib/facegroups/version.rb
CHANGED
data/spec/facegroups_spec.rb
CHANGED
@@ -27,11 +27,11 @@ describe 'FaceGroups specifications' do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
describe 'FbApi Credentials' do
|
30
|
-
it 'should
|
30
|
+
it '(HAPPY) should get new access token with ENV credentials' do
|
31
31
|
FaceGroups::FbApi.access_token.length.must_be :>, 0
|
32
32
|
end
|
33
33
|
|
34
|
-
it 'should
|
34
|
+
it '(HAPPY) should get new access token with file credentials' do
|
35
35
|
FaceGroups::FbApi.config = {
|
36
36
|
client_id: ENV['FB_CLIENT_ID'],
|
37
37
|
client_secret: ENV['FB_CLIENT_SECRET']
|
@@ -39,36 +39,43 @@ describe 'FaceGroups specifications' do
|
|
39
39
|
FaceGroups::FbApi.access_token.length.must_be :>, 0
|
40
40
|
end
|
41
41
|
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'Finding Group Information' do
|
45
|
+
describe 'Find a Group' do
|
46
|
+
it '(HAPPY) should be able to find a Facebook Group with proper ID' do
|
47
|
+
group = FaceGroups::Group.find(id: ENV['FB_GROUP_ID'])
|
42
48
|
|
43
|
-
|
44
|
-
|
45
|
-
id: ENV['FB_GROUP_ID']
|
46
|
-
)
|
49
|
+
group.name.length.must_be :>, 0
|
50
|
+
end
|
47
51
|
|
48
|
-
|
52
|
+
it '(SAD) should return nil if Group ID is invalid' do
|
53
|
+
group = FaceGroups::Group.find(id: INVALID_RESOURCE_ID)
|
54
|
+
group.must_be_nil
|
55
|
+
end
|
49
56
|
end
|
50
57
|
|
51
|
-
|
52
|
-
group
|
53
|
-
id: ENV['FB_GROUP_ID']
|
54
|
-
)
|
58
|
+
describe 'Retrieving Group Feed' do
|
59
|
+
it '(HAPPY) should get the latest feed from a group with proper ID' do
|
60
|
+
group = FaceGroups::Group.find(id: ENV['FB_GROUP_ID'])
|
55
61
|
|
56
|
-
|
57
|
-
|
58
|
-
|
62
|
+
feed = group.feed
|
63
|
+
feed.count.must_be :>, 1
|
64
|
+
end
|
59
65
|
|
60
|
-
|
61
|
-
|
62
|
-
id: ENV['FB_GROUP_ID']
|
63
|
-
)
|
66
|
+
it '(HAPPY) should get the postings on the feed with proper ID' do
|
67
|
+
group = FaceGroups::Group.find(id: ENV['FB_GROUP_ID'])
|
64
68
|
|
65
|
-
|
66
|
-
|
67
|
-
|
69
|
+
group.feed.postings.each do |posting|
|
70
|
+
posting.id.wont_be_nil
|
71
|
+
posting.updated_time.wont_be_nil
|
72
|
+
end
|
68
73
|
end
|
69
74
|
end
|
75
|
+
end
|
70
76
|
|
71
|
-
|
77
|
+
describe 'Finding Posting Information' do
|
78
|
+
it ' (HAPPY) should find all parts of a full posting' do
|
72
79
|
posting = FB_RESULT['posting']
|
73
80
|
attachment = posting['attachment'].first
|
74
81
|
retrieved = FaceGroups::Posting.find(id: posting['id'])
|
@@ -81,6 +88,13 @@ describe 'FaceGroups specifications' do
|
|
81
88
|
retrieved.attachment.url.must_match 'tutorialzine'
|
82
89
|
end
|
83
90
|
|
91
|
+
it '(SAD) should return nil if Posting ID is invalid' do
|
92
|
+
posting = FaceGroups::Posting.find(id: INVALID_RESOURCE_ID)
|
93
|
+
posting.must_be_nil
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe 'Command Line Executable Actions' do
|
84
98
|
it 'should run the executable file' do
|
85
99
|
output = FaceGroups::Runner.run!([ENV['FB_GROUP_ID']])
|
86
100
|
output.split("\n").length.must_be :>, 5
|
@@ -12,7 +12,7 @@ http_interactions:
|
|
12
12
|
Host:
|
13
13
|
- graph.facebook.com
|
14
14
|
User-Agent:
|
15
|
-
- http.rb/2.0
|
15
|
+
- http.rb/2.1.0
|
16
16
|
response:
|
17
17
|
status:
|
18
18
|
code: 200
|
@@ -31,13 +31,13 @@ http_interactions:
|
|
31
31
|
Content-Type:
|
32
32
|
- application/json; charset=UTF-8
|
33
33
|
X-Fb-Trace-Id:
|
34
|
-
-
|
34
|
+
- EIz8PlH74FI
|
35
35
|
X-Fb-Rev:
|
36
|
-
- '
|
36
|
+
- '2702404'
|
37
37
|
X-Fb-Debug:
|
38
|
-
-
|
38
|
+
- DZjMLSd0p4z+nNyu+XezdBvSa21+zvek2OxwgFMOf2nRmm4SbQMuAo77Vxgs1mfIr+JTyb6nn6crEVUBEdxQag==
|
39
39
|
Date:
|
40
|
-
-
|
40
|
+
- Fri, 25 Nov 2016 06:09:53 GMT
|
41
41
|
Connection:
|
42
42
|
- close
|
43
43
|
Content-Length:
|
@@ -46,165 +46,5 @@ http_interactions:
|
|
46
46
|
encoding: UTF-8
|
47
47
|
string: '{"access_token":"<ACCESS_TOKEN>","token_type":"bearer"}'
|
48
48
|
http_version:
|
49
|
-
recorded_at:
|
50
|
-
- request:
|
51
|
-
method: get
|
52
|
-
uri: https://graph.facebook.com/150352985174571?access_token=<CLIENT_ID>%7C0WiNEz4rbcf5Ki0Ge4vR7m4Wlts&fields=id,name,feed%7Bname,message,updated_time,created_time,attachments%7Btitle,description,url,media%7D%7D
|
53
|
-
body:
|
54
|
-
encoding: US-ASCII
|
55
|
-
string: ''
|
56
|
-
headers:
|
57
|
-
Connection:
|
58
|
-
- close
|
59
|
-
Host:
|
60
|
-
- graph.facebook.com
|
61
|
-
User-Agent:
|
62
|
-
- http.rb/2.0.3
|
63
|
-
response:
|
64
|
-
status:
|
65
|
-
code: 200
|
66
|
-
message: OK
|
67
|
-
headers:
|
68
|
-
Access-Control-Allow-Origin:
|
69
|
-
- "*"
|
70
|
-
Etag:
|
71
|
-
- '"5e198c115d2b08deb673e2609d0ba04745578f94"'
|
72
|
-
Pragma:
|
73
|
-
- no-cache
|
74
|
-
Cache-Control:
|
75
|
-
- private, no-cache, no-store, must-revalidate
|
76
|
-
Facebook-Api-Version:
|
77
|
-
- v2.7
|
78
|
-
Expires:
|
79
|
-
- Sat, 01 Jan 2000 00:00:00 GMT
|
80
|
-
Content-Type:
|
81
|
-
- text/javascript; charset=UTF-8
|
82
|
-
X-Fb-Trace-Id:
|
83
|
-
- GBItdk/tABx
|
84
|
-
X-Fb-Rev:
|
85
|
-
- '2657702'
|
86
|
-
Vary:
|
87
|
-
- Accept-Encoding
|
88
|
-
X-Fb-Debug:
|
89
|
-
- 62bwQNbMua8/VsTScByUN5uw8DWJmxKvYy4UYf4XuLcK+XhiWV91WNqFzn57Ts0BwZRvkVNvYPqE/Ab/DyB99A==
|
90
|
-
Date:
|
91
|
-
- Wed, 02 Nov 2016 05:07:23 GMT
|
92
|
-
Connection:
|
93
|
-
- close
|
94
|
-
body:
|
95
|
-
encoding: UTF-8
|
96
|
-
string: '{"id":"150352985174571","name":"Web Service Development \u0040 NTHU","feed":{"data":[{"name":"seriot.ch
|
97
|
-
- Parsing JSON is a Minefield \ud83d\udca3","message":"From the article: \"JSON
|
98
|
-
is not a data format you can rely on blindly [...] edge cases and maliciously
|
99
|
-
crafted payloads can cause bugs, crashes and denial of services, mainly because
|
100
|
-
JSON libraries rely on specifications that have evolved over time and that
|
101
|
-
left many details loosely specified or not specified at all.\" Long story
|
102
|
-
short: it seems XML will never die :D (actually, parsing XML is even worse...)","updated_time":"2016-10-28T02:09:39+0000","created_time":"2016-10-27T14:46:58+0000","id":"150352985174571_527664860776713","attachments":{"data":[{"title":"seriot.ch
|
103
|
-
- Parsing JSON is a Minefield \ud83d\udca3","description":"JSON is the de
|
104
|
-
facto standard when it comes to (un)serialising and exchanging data in web
|
105
|
-
and mobile programming. But how well do you really know JSON? We''ll read
|
106
|
-
the specifications and write test cases together. We''ll test common JSON
|
107
|
-
libraries against our test cases. I''ll show that JSON is not the...","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Fseriot.ch\u00252Fparsing_json.html&h=UAQGQRX4b&s=1&enc=AZPKGnoDkgEWd-V4gnZ12jSPx6qn9GwBc7fNMWXaO6MJkDRidifqdykfNzRcn1Iu_VSndfKRP0YJrzlaxVh3JZPz","media":{"image":{"height":720,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQBafep0D8nqgNS7&w=720&h=720&url=http\u00253A\u00252F\u00252Fseriot.ch\u00252Fjson\u00252Fpruned_results.png&cfs=1","width":720}}}]}},{"name":"GitHub
|
108
|
-
Dumps REST Calls for Facebook''s GraphQL - The New Stack","message":"Github''s
|
109
|
-
adoption of GraphQL for APIs, over RESTful services, might be the tipping
|
110
|
-
point that makes GraphQL ubiquitous. From what little exposure I have to it
|
111
|
-
(thanks to YenTing and Yen-Nan at Cardinal Blue), it seems we are taking the
|
112
|
-
complexity and burden of APIs away from API consumers, and putting it squarely
|
113
|
-
at the feet of API providers. That means using APIs is about to become significantly
|
114
|
-
easier (albeit more deeply nested) for everyone! But it also means that creating
|
115
|
-
APIs is about to become significantly harder. Read more about the big shift
|
116
|
-
at Github.","updated_time":"2016-10-20T08:29:06+0000","created_time":"2016-10-20T05:45:32+0000","id":"150352985174571_524070464469486","attachments":{"data":[{"title":"GitHub
|
117
|
-
Dumps REST Calls for Facebook''s GraphQL - The New Stack","description":"Hoping
|
118
|
-
to streamline the remote querying services of its site, GitHub is moving its
|
119
|
-
API (application programming interface) from REST calls to Facebook\u2019s
|
120
|
-
GraphQL API. In the company\u2019s recent user conference GitHub Universe,
|
121
|
-
Kyle Daigle, GitHub platform engineering manager, explained that the company...","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Fthenewstack.io\u00252Fgithub-dumps-rest-graphql-api\u00252F&h=_AQEI0kXl&s=1&enc=AZMG7qsP4WAE7z5rrdgoWuVPkGChRFMJZGQxyXDNXtFUArlUFhWgOwa5KblbIyuR7zmr5z2CGw8N0y8o5POnsSWE","media":{"image":{"height":720,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQC5HLw3s46cLqn7&w=720&h=720&url=http\u00253A\u00252F\u00252Fthenewstack.io\u00252Fwp-content\u00252Fuploads\u00252F2016\u00252F09\u00252FGHU-GraphQL-Woah.jpg&cfs=1&sx=0&sy=0&sw=2448&sh=2448","width":720}}}]}},{"name":"Taking
|
122
|
-
PHP Seriously","message":"https:\/\/m.facebook.com\/story.php?story_fbid=1098448240203391&id=100001146751327","updated_time":"2016-10-13T18:17:23+0000","created_time":"2016-10-13T17:15:20+0000","id":"150352985174571_521137638096102","attachments":{"data":[{"title":"Taking
|
123
|
-
PHP Seriously","description":"by Keith Adams, Slack Engineering","url":"https:\/\/www.facebook.com\/l.php?u=https\u00253A\u00252F\u00252Fslack.engineering\u00252Ftaking-php-seriously-cf7a60065329\u002523.g3w9ecf66&h=RAQFtsAiO&s=1&enc=AZN-5j4shGMS2JkJXLC5q7kCPj4qe6ycAuj8c_U_mRA4UamZICD_KTXPRsMa8EOmnihv20rFUrtxK8ge_8HZYKuF","media":{"image":{"height":669,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQCmbxAdG46sLBUD&w=720&h=720&url=https\u00253A\u00252F\u00252Fd262ilb51hltx0.cloudfront.net\u00252Fmax\u00252F1200\u00252F1\u00252Ax5N8tfTVEmQro2ySxoZtvw.jpeg&cfs=1","width":669}}}]}},{"name":"How
|
124
|
-
To Save The Princess In 8 Programming Languages","updated_time":"2016-10-06T08:39:47+0000","created_time":"2016-10-06T08:28:40+0000","id":"150352985174571_518029841740215","attachments":{"data":[{"title":"How
|
125
|
-
To Save The Princess In 8 Programming Languages","description":"Programming
|
126
|
-
sucks. This fairytale comic shows the different ways in which programming
|
127
|
-
languages could fail you in the fantasy kingdom.","url":"https:\/\/www.facebook.com\/l.php?u=https\u00253A\u00252F\u00252Ftoggl.com\u00252Fprogramming-princess&h=5AQGtDKXT&s=1&enc=AZOexDE35TO7ekXw1tL_NDKqddykXMcXshHtRNrMo6PAQEQyZXxmAj2CNTm93qHpXUX-yIbhUygt3Lhqqf97vpPE","media":{"image":{"height":630,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQDEZQJwFjW82Fzm&w=720&h=720&url=https\u00253A\u00252F\u00252Ftoggl.com\u00252Fimages\u00252Fshare-img\u00252Ffb-share-git-princess.jpg&cfs=1","width":630}}}]}},{"name":"Guess
|
128
|
-
the Programming Language | Tutorialzine","message":"A little quiz to keep
|
129
|
-
you sharp on programming trends.","updated_time":"2016-10-06T06:51:44+0000","created_time":"2016-10-04T02:21:25+0000","id":"150352985174571_517105121832687","attachments":{"data":[{"title":"Guess
|
130
|
-
the Programming Language | Tutorialzine","description":"Can you tell Java
|
131
|
-
from JavaScript? Awesome! So you are ready to take our ultimate programming
|
132
|
-
challenge.","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Ftutorialzine.com\u00252F2014\u00252F06\u00252Fguess-the-programming-language\u00252F&h=2AQG8RLQa&s=1&enc=AZNHAkruam89tHrbNhUDwn2CZnRGRn-dnlGpnCdBKu9G5q9UiMeLc0BMViE7HNzufAf2DwX3bVynC2XId_h4H1ga","media":{"image":{"height":490,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQB9saA-D40lNQqm&w=720&h=720&url=http\u00253A\u00252F\u00252Fcdn.tutorialzine.com\u00252Fwp-content\u00252Fuploads\u00252F2014\u00252F06\u00252Fguess-the-programming-language.jpg&cfs=1","width":490}}}]}},{"name":"How
|
133
|
-
it feels to learn JavaScript in 2016","updated_time":"2016-10-06T01:18:12+0000","created_time":"2016-10-05T13:47:43+0000","id":"150352985174571_517701838439682","attachments":{"data":[{"title":"How
|
134
|
-
it feels to learn JavaScript in 2016","description":"Edit: Thanks for pointing
|
135
|
-
typos and mistakes, I\u2019ll update the article as noted. Discussion in HackerNews
|
136
|
-
and Reddit.","url":"https:\/\/www.facebook.com\/l.php?u=https\u00253A\u00252F\u00252Fhackernoon.com\u00252Fhow-it-feels-to-learn-javascript-in-2016-d3a717dd577f\u002523.m0lkkfan1&h=NAQE1vnlE&s=1&enc=AZNB-AqGB3BNuEP-4XzWR7_3cYMuvNodRCgzAJAZx1lnYI2gi0er48ma1ilNuZ8pcZi51jpx5W72YkS9cGVnw588","media":{"image":{"height":720,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQBw5xIxnMhHtpnj&w=720&h=720&url=https\u00253A\u00252F\u00252Fcdn-images-2.medium.com\u00252Fmax\u00252F1200\u00252F1\u00252AraWO3dhM4jMjf9VY-kZzNg.png&cfs=1","width":720}}}]}},{"name":"5
|
137
|
-
emerging programming languages with a bright future","message":"Up and coming
|
138
|
-
languages worth keeping our eyes on. I''m already a huge fan of Crystal and
|
139
|
-
Rust, but the author has convinced me to pay more attention to Kotlin and
|
140
|
-
Elm.","updated_time":"2016-09-22T08:12:35+0000","created_time":"2016-09-21T10:13:58+0000","id":"150352985174571_511894255687107","attachments":{"data":[{"title":"5
|
141
|
-
emerging programming languages with a bright future","description":"Get the
|
142
|
-
elevator pitch for five of the most promising languages (some of them you
|
143
|
-
probably haven''t heard of before) that have the potential to grow...","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Ftechbeacon.com\u00252F5-emerging-programming-languages-bright-future\u00253Futm_content\u00253Dbuffer300a1\u002526utm_medium\u00253Dsocial\u002526utm_source\u00253Dtwitter.com\u002526utm_campaign\u00253Dbuffer&h=HAQHG9V0a&s=1&enc=AZPxF0KnzWXKWSxJhIsR-cEnbSv3pCjDdkR9j0h9m7ek_gmZz6wI1BDiraWKwzZpflf6v21rQhUqXGhmfipDT87E","media":{"image":{"height":480,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQAxbtCPHht3vWb6&w=720&h=720&url=http\u00253A\u00252F\u00252Ftechbeacon.com\u00252Fsites\u00252Fdefault\u00252Ffiles\u00252Fstyles\u00252Fsocial\u00252Fpublic\u00252Ffield\u00252Fimage\u00252F5_emerging_programming_languages_with_a_bright_future.jpg\u00253Fitok\u00253Dm0nlEinF&cfs=1","width":480}}}]}},{"name":"A
|
144
|
-
whole new Universe","message":"I can''t even wrap my head around all the new
|
145
|
-
features Github just released: code reviews, kanban boards, and much more.","updated_time":"2016-09-19T09:14:51+0000","created_time":"2016-09-15T03:42:48+0000","id":"150352985174571_509461352597064","attachments":{"data":[{"title":"A
|
146
|
-
whole new Universe","description":"Learn about the exciting features and announcements
|
147
|
-
revealed at this year\u2019s annual GitHub Universe conference at historic
|
148
|
-
Pier 70 in San Francisco.","url":"https:\/\/www.facebook.com\/l.php?u=https\u00253A\u00252F\u00252Fgithub.com\u00252Funiverse-2016&h=BAQGEWDdf&s=1&enc=AZOTH7qOaJiI2qGBBxtzbqzxx6mvbiZ-FU8x7pe8CJ4KGHdFMRFBP31626IfXIwjr__SY9RBJvdyt9jupfXcCHvu","media":{"image":{"height":630,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQBsb70KV75vMJ8B&w=720&h=720&url=https\u00253A\u00252F\u00252Fassets-cdn.github.com\u00252Fimages\u00252Fmodules\u00252Funiverse-2016\u00252Funiverse-open-graph.png&cfs=1","width":630}}}]}},{"name":"Vert.x","message":"http:\/\/vertx.io\/","updated_time":"2016-09-13T20:34:39+0000","created_time":"2016-09-13T20:34:39+0000","id":"150352985174571_508953969314469","attachments":{"data":[{"title":"Vert.x","description":"Vert.x
|
149
|
-
is a tool-kit for building reactive applications on the JVM.","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Fvertx.io\u00252F&h=BAQGEWDdf&s=1&enc=AZNMZ1fniUfBXdq2EmR_iYFDl3XQ3riZPkfiK6yDlnY31I-HXbCo4Xn6xI3M2MqNAxbcVjWBFqatJS95zz8GQ3r0","media":{"image":{"height":360,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQC13D8UqDGMX5IF&w=720&h=720&url=http\u00253A\u00252F\u00252Fvertx.io\u00252Fassets\u00252Fuser_logos\u00252Fswisscom.png&cfs=1","width":360}}}]}},{"name":"Codecademy","updated_time":"2016-09-13T02:04:20+0000","created_time":"2016-09-13T02:04:20+0000","id":"150352985174571_508631766013356","attachments":{"data":[{"title":"Timeline
|
150
|
-
Photos","description":"Are you a Javascript guru? Then you should check out
|
151
|
-
our course in React.js!\n\nReact enables websites to display complex animations,
|
152
|
-
large volumes of data, or other memory-heavy tasks without slowing down. At
|
153
|
-
the end of the course, you\u2019ll know how to build sophisticated React applications.
|
154
|
-
Check it out!\n\nhttp:\/\/codecademy.io\/YRFS3047CDf","url":"https:\/\/www.facebook.com\/codecademy\/photos\/a.553205214692855.138303.272256069454439\/1387442691269099\/?type=3","media":{"image":{"height":377,"src":"https:\/\/scontent.xx.fbcdn.net\/v\/t1.0-9\/s720x720\/14264951_1387442691269099_7557697962736020966_n.png?oh=1c67604ccd5679d98c72100f943f3863&oe=5891713F","width":720}}}]}}],"paging":{"previous":"https:\/\/graph.facebook.com\/v2.7\/150352985174571\/feed?fields=name,message,updated_time,created_time,attachments\u00257Btitle,description,url,media\u00257D&since=1477620579&access_token=<ACCESS_TOKEN>&limit=25&__paging_token=enc_AdAchevYgL0m5xCIn76hqJ3aBASZBLnnBkHzYtokZBey5PDaQuxdVxZBDfJm2ifeekq5qoALQ6ZA4IMrAhmfWQ5dqvhVBMLvnbwrEWU90LoviZCxtZBgZDZD&__previous=1","next":"https:\/\/graph.facebook.com\/v2.7\/150352985174571\/feed?fields=name,message,updated_time,created_time,attachments\u00257Btitle,description,url,media\u00257D&access_token=<ACCESS_TOKEN>&limit=25&until=1473732260&__paging_token=enc_AdA5yvCYKggN5gwcOMpKsofaKTcjoBDhX09ctf67EExuFDAc0wxCiNzAyIGndHrMAZCrp9QmVKgQaJrU3U5ORbHEtw7NHfA9kZAKWKz6jUvEBtYAZDZD"}}}'
|
155
|
-
http_version:
|
156
|
-
recorded_at: Wed, 02 Nov 2016 05:07:21 GMT
|
157
|
-
- request:
|
158
|
-
method: get
|
159
|
-
uri: https://graph.facebook.com/150352985174571_517105121832687?access_token=<CLIENT_ID>%7C0WiNEz4rbcf5Ki0Ge4vR7m4Wlts&fields=name,message,updated_time,created_time,attachments%7Btitle,description,url,media%7D
|
160
|
-
body:
|
161
|
-
encoding: US-ASCII
|
162
|
-
string: ''
|
163
|
-
headers:
|
164
|
-
Connection:
|
165
|
-
- close
|
166
|
-
Host:
|
167
|
-
- graph.facebook.com
|
168
|
-
User-Agent:
|
169
|
-
- http.rb/2.0.3
|
170
|
-
response:
|
171
|
-
status:
|
172
|
-
code: 200
|
173
|
-
message: OK
|
174
|
-
headers:
|
175
|
-
Access-Control-Allow-Origin:
|
176
|
-
- "*"
|
177
|
-
Etag:
|
178
|
-
- '"27327e2f51ece7cfe83c99526423bcabead41d2f"'
|
179
|
-
Pragma:
|
180
|
-
- no-cache
|
181
|
-
Cache-Control:
|
182
|
-
- private, no-cache, no-store, must-revalidate
|
183
|
-
Facebook-Api-Version:
|
184
|
-
- v2.7
|
185
|
-
Expires:
|
186
|
-
- Sat, 01 Jan 2000 00:00:00 GMT
|
187
|
-
Content-Type:
|
188
|
-
- text/javascript; charset=UTF-8
|
189
|
-
X-Fb-Trace-Id:
|
190
|
-
- DkYopdItcdU
|
191
|
-
X-Fb-Rev:
|
192
|
-
- '2657702'
|
193
|
-
Vary:
|
194
|
-
- Accept-Encoding
|
195
|
-
X-Fb-Debug:
|
196
|
-
- jXpN1eHL+3JeRAKJGdX2y71uGqZnqPusLzTnxojeTsCFpiC/nOjxpKLQLhP7vk3UOBhhBP9DWYmiXJFp6dA9xg==
|
197
|
-
Date:
|
198
|
-
- Wed, 02 Nov 2016 05:07:23 GMT
|
199
|
-
Connection:
|
200
|
-
- close
|
201
|
-
body:
|
202
|
-
encoding: UTF-8
|
203
|
-
string: '{"name":"Guess the Programming Language | Tutorialzine","message":"A
|
204
|
-
little quiz to keep you sharp on programming trends.","updated_time":"2016-10-06T06:51:44+0000","created_time":"2016-10-04T02:21:25+0000","attachments":{"data":[{"title":"Guess
|
205
|
-
the Programming Language | Tutorialzine","description":"Can you tell Java
|
206
|
-
from JavaScript? Awesome! So you are ready to take our ultimate programming
|
207
|
-
challenge.","url":"http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Ftutorialzine.com\u00252F2014\u00252F06\u00252Fguess-the-programming-language\u00252F&h=WAQF2RvSH&s=1&enc=AZNnPD9PkV-Fi2zXmBc0G2m2vfSBK13pfsnMUdi4CW0nr4vDwrP3zDG65w8tqf_gFbQZccbOzm8O5E9-Ofcur0WY","media":{"image":{"height":490,"src":"https:\/\/external.xx.fbcdn.net\/safe_image.php?d=AQB9saA-D40lNQqm&w=720&h=720&url=http\u00253A\u00252F\u00252Fcdn.tutorialzine.com\u00252Fwp-content\u00252Fuploads\u00252F2014\u00252F06\u00252Fguess-the-programming-language.jpg&cfs=1","width":490}}}]},"id":"150352985174571_517105121832687"}'
|
208
|
-
http_version:
|
209
|
-
recorded_at: Wed, 02 Nov 2016 05:07:22 GMT
|
49
|
+
recorded_at: Fri, 25 Nov 2016 06:09:33 GMT
|
210
50
|
recorded_with: VCR 3.0.3
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facegroups
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aditya Utama Wijaya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|