mingle 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +28 -0
  4. data/app/assets/javascripts/mingle/application.js +13 -0
  5. data/app/assets/stylesheets/mingle/application.css +15 -0
  6. data/app/controllers/mingle/application_controller.rb +4 -0
  7. data/app/helpers/mingle/application_helper.rb +4 -0
  8. data/app/jobs/mingle/facebook/fetch.rb +9 -0
  9. data/app/jobs/mingle/instagram/fetch.rb +10 -0
  10. data/app/jobs/mingle/twitter/fetch.rb +10 -0
  11. data/app/models/mingle.rb +5 -0
  12. data/app/models/mingle/facebook.rb +82 -0
  13. data/app/models/mingle/facebook/configuration.rb +8 -0
  14. data/app/models/mingle/facebook/post.rb +28 -0
  15. data/app/models/mingle/hashtag.rb +31 -0
  16. data/app/models/mingle/hashtagging.rb +4 -0
  17. data/app/models/mingle/instagram.rb +36 -0
  18. data/app/models/mingle/instagram/photo.rb +20 -0
  19. data/app/models/mingle/twitter.rb +48 -0
  20. data/app/models/mingle/twitter/tweet.rb +18 -0
  21. data/app/views/layouts/mingle/application.html.erb +14 -0
  22. data/config/initializers/facebook.rb +3 -0
  23. data/config/initializers/instagram.rb +3 -0
  24. data/config/routes.rb +2 -0
  25. data/db/migrate/20140222105907_create_mingle_hashtags.rb +9 -0
  26. data/db/migrate/20140222105956_create_mingle_hashtaggings.rb +13 -0
  27. data/db/migrate/20140222110925_create_mingle_twitter_tweets.rb +15 -0
  28. data/db/migrate/20140222112623_create_mingle_facebook_posts.rb +19 -0
  29. data/db/migrate/20140222112741_create_mingle_instagram_photos.rb +15 -0
  30. data/db/migrate/20140222125715_create_mingle_feed_items.rb +11 -0
  31. data/db/migrate/20140224155358_drop_mingle_feed_items.rb +5 -0
  32. data/lib/mingle.rb +8 -0
  33. data/lib/mingle/engine.rb +21 -0
  34. data/lib/mingle/version.rb +3 -0
  35. data/lib/tasks/mingle_tasks.rake +33 -0
  36. data/spec/dummy/README.rdoc +28 -0
  37. data/spec/dummy/Rakefile +6 -0
  38. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  39. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  40. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  41. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  42. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  43. data/spec/dummy/bin/bundle +3 -0
  44. data/spec/dummy/bin/rails +4 -0
  45. data/spec/dummy/bin/rake +4 -0
  46. data/spec/dummy/config.ru +4 -0
  47. data/spec/dummy/config/application.rb +23 -0
  48. data/spec/dummy/config/boot.rb +5 -0
  49. data/spec/dummy/config/database.yml +30 -0
  50. data/spec/dummy/config/environment.rb +5 -0
  51. data/spec/dummy/config/environments/development.rb +37 -0
  52. data/spec/dummy/config/environments/production.rb +83 -0
  53. data/spec/dummy/config/environments/test.rb +39 -0
  54. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  55. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  56. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  57. data/spec/dummy/config/initializers/inflections.rb +16 -0
  58. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  59. data/spec/dummy/config/initializers/session_store.rb +3 -0
  60. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  61. data/spec/dummy/config/locales/en.yml +23 -0
  62. data/spec/dummy/config/routes.rb +4 -0
  63. data/spec/dummy/config/secrets.yml +22 -0
  64. data/spec/dummy/db/development.sqlite3 +0 -0
  65. data/spec/dummy/db/schema.rb +75 -0
  66. data/spec/dummy/db/test.sqlite3 +0 -0
  67. data/spec/dummy/log/development.log +12964 -0
  68. data/spec/dummy/log/test.log +12630 -0
  69. data/spec/dummy/public/404.html +67 -0
  70. data/spec/dummy/public/422.html +67 -0
  71. data/spec/dummy/public/500.html +66 -0
  72. data/spec/dummy/public/favicon.ico +0 -0
  73. data/spec/factories/mingle/facebook/posts.rb +15 -0
  74. data/spec/factories/mingle/hashtaggings.rb +8 -0
  75. data/spec/factories/mingle/hashtags.rb +7 -0
  76. data/spec/factories/mingle/instagram/photos.rb +12 -0
  77. data/spec/factories/mingle/twitter/tweets.rb +12 -0
  78. data/spec/fixtures/mingle/facebook/page_posts.json +133 -0
  79. data/spec/fixtures/mingle/facebook/search_posts.json +119 -0
  80. data/spec/fixtures/mingle/instagram/photos.json +155 -0
  81. data/spec/fixtures/mingle/twitter/tweets.json +253 -0
  82. data/spec/jobs/mingle/facebook/fetch_spec.rb +9 -0
  83. data/spec/jobs/mingle/instagram/fetch_spec.rb +9 -0
  84. data/spec/jobs/mingle/twitter/fetch_spec.rb +9 -0
  85. data/spec/models/mingle/facebook/post_spec.rb +43 -0
  86. data/spec/models/mingle/facebook_spec.rb +105 -0
  87. data/spec/models/mingle/hashtag_spec.rb +41 -0
  88. data/spec/models/mingle/hashtagging_spec.rb +4 -0
  89. data/spec/models/mingle/instagram/photo_spec.rb +4 -0
  90. data/spec/models/mingle/instagram_spec.rb +58 -0
  91. data/spec/models/mingle/twitter/tweet_spec.rb +4 -0
  92. data/spec/models/mingle/twitter_spec.rb +69 -0
  93. data/spec/spec_helper.rb +21 -0
  94. data/spec/support/fixture.rb +8 -0
  95. metadata +340 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,15 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :mingle_facebook_post, class: Mingle::Facebook::Post do
4
+ caption 'Caption'
5
+ description 'Description'
6
+ link 'http://hyper.no'
7
+ message 'Post content'
8
+ name 'Tim Kurvers'
9
+ picture nil
10
+ post_id { "#{rand(2 ** 32).to_s}_#{rand(2 ** 32).to_s}" }
11
+ user_id 'timkurvers'
12
+ user_name 'Tim Kurvers'
13
+ end
14
+
15
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :mingle_hashtaggings, class: 'Mingle::Hashtagging' do
4
+ association :hashtaggable, factory: :mingle_facebook_post
5
+ association :hashtag, factory: :mingle_hashtag
6
+ end
7
+
8
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :mingle_hashtag, class: 'Mingle::Hashtag' do
4
+ tag_name "#klhd"
5
+ end
6
+
7
+ end
@@ -0,0 +1,12 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :mingle_instagram_photo, class: Mingle::Instagram::Photo do
4
+ photo_id 1
5
+ url 'http://instagram.com/photo.jpg'
6
+ link 'http://instagram.com/link/to/photo'
7
+ user_id 1
8
+ user_handle 'timkurvers'
9
+ user_image_url 'http://instagram.com/profile/image/url.jpg'
10
+ end
11
+
12
+ end
@@ -0,0 +1,12 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :mingle_twitter_tweet, class: Mingle::Twitter::Tweet do
4
+ text 'Tweet content'
5
+ tweet_id { rand(2 ** 32).to_s }
6
+ user_handle 'timkurvers'
7
+ user_name 'Tim Kurvers'
8
+ user_id '84070520'
9
+ user_image_url 'http://a0.twimg.com/profile_images/1511444315/tim.oslo_normal.png'
10
+ end
11
+
12
+ end
@@ -0,0 +1,133 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "id": "133713366690788_541643492564438",
5
+ "from": {
6
+ "id": "133713366690788",
7
+ "category": "Company",
8
+ "name": "Ole Robert Reitan, REMA 1000"
9
+ },
10
+ "message": "Denne uken sitter nye REMA 1000-kj\u00f8pmenn i Gladengveien p\u00e5 skolebenken i Gladengveien, her seks av dem. N\u00e5 st\u00e5r en god \u00f8kt med REMA-filosofi og -kultur p\u00e5 programmet.",
11
+ "picture": "http://photos-e.ak.fbcdn.net/hphotos-ak-frc3/312138_541643485897772_481929988_s.jpg",
12
+ "link": "https://www.facebook.com/photo.php?fbid=541643485897772&set=a.133719816690143.26618.133713366690788&type=1&relevant_count=1",
13
+ "icon": "http://static.ak.fbcdn.net/rsrc.php/v2/yz/r/StEh3RhPvjk.gif",
14
+ "privacy": {
15
+ "value": ""
16
+ },
17
+ "type": "photo",
18
+ "status_type": "added_photos",
19
+ "object_id": "541643485897772",
20
+ "created_time": "2013-05-29T08:01:00+0000",
21
+ "updated_time": "2013-05-29T08:01:00+0000",
22
+ "likes": {
23
+ "data": [
24
+ {
25
+ "name": "Kathrine Dorothea von Tangen",
26
+ "id": "734960483"
27
+ },
28
+ {
29
+ "name": "Vivian Roska",
30
+ "id": "1643327041"
31
+ },
32
+ {
33
+ "name": "Anders Fjeldstad",
34
+ "id": "100004715856459"
35
+ },
36
+ {
37
+ "name": "Reidar Molthe",
38
+ "id": "100001611521635"
39
+ }
40
+ ],
41
+ "count": 34
42
+ }
43
+ },
44
+ {
45
+ "id": "133713366690788_541208022607985",
46
+ "from": {
47
+ "id": "133713366690788",
48
+ "category": "Company",
49
+ "name": "Ole Robert Reitan, REMA 1000"
50
+ },
51
+ "message": "10 av 10 pristester vunnet hittil i \u00e5r.",
52
+ "picture": "http://external.ak.fbcdn.net/safe_image.php?d=AQDFGTVlfnpIRdi9&w=154&h=154&url=http\u00253A\u00252F\u00252Fwww.nettavisen.no\u00252Fmultimedia\u00252Fna\u00252Farchive\u00252F01210\u00252FHandlekurv_matv_121052116x9.jpg",
53
+ "link": "http://www.side2.no/livsstil/article3628296.ece",
54
+ "name": "Her er frukt og gr\u00f8nt billigst",
55
+ "caption": "www.side2.no",
56
+ "icon": "http://static.ak.fbcdn.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif",
57
+ "privacy": {
58
+ "value": ""
59
+ },
60
+ "type": "link",
61
+ "status_type": "shared_story",
62
+ "created_time": "2013-05-28T09:03:53+0000",
63
+ "updated_time": "2013-05-28T09:03:53+0000",
64
+ "shares": {
65
+ "count": 1
66
+ },
67
+ "likes": {
68
+ "data": [
69
+ {
70
+ "name": "Bj\u00f8rn Vegard Nilsen",
71
+ "id": "100001923335829"
72
+ },
73
+ {
74
+ "name": "Ida Halvorsen",
75
+ "id": "540426359"
76
+ },
77
+ {
78
+ "name": "Wendy S\u00e6thre",
79
+ "id": "633956975"
80
+ },
81
+ {
82
+ "name": "Rolf Erik Lie",
83
+ "id": "1816980318"
84
+ }
85
+ ],
86
+ "count": 96
87
+ }
88
+ },
89
+ {
90
+ "id": "133713366690788_291182004348539",
91
+ "from": {
92
+ "id": "133713366690788",
93
+ "category": "Company",
94
+ "name": "Ole Robert Reitan, REMA 1000"
95
+ },
96
+ "message": "Streetfootball Academy 2013 er nå i gang. Ungdom med ulik bakgrunn som faller utenfor den organiserte idretten, i yrkeslivet og i samfunnet generelt, får gjennom dette prosjektet nye muligheter. Lær mer om prosjektet på http://www.streetfootball.no/ og via dette innslaget på RTV: http://www.rema1000.tv/?channel=Nyheter#v_5f6ab20a-7111-491a-bc6c-a11900e7c63c",
97
+ "picture": "http://external.ak.fbcdn.net/safe_image.php?d=AQD0kmjJlgYHPjCU&w=154&h=154&url=http%3A%2F%2Fa1.mndcdn.com%2Fimage%2Fupload%2Ft_article_v2%2Fvyocdkw3iyxoxvmnzwin.jpg",
98
+ "link": "http://www.mynewsdesk.com/no/pressroom/reitangruppen/pressrelease/view/i-dag-starter-streetfootball-academy-853087?utm_source=realtime&utm_medium=email&utm_campaign=Subscription&utm_content",
99
+ "name": "I dag starter Streetfootball Academy",
100
+ "caption": "www.mynewsdesk.com",
101
+ "description": "Gjennom sponsoravtalen med REMA 1000 starter Streetfootball Norway i dag Streetfootball Academy 2013 med 100 deltakere. Programmet består av gratis...",
102
+ "icon": "http://static.ak.fbcdn.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif",
103
+ "privacy": {
104
+ "value": ""
105
+ },
106
+ "type": "link",
107
+ "status_type": "shared_story",
108
+ "created_time": "2013-04-06T08:33:19+0000",
109
+ "updated_time": "2013-04-06T08:33:19+0000",
110
+ "likes": {
111
+ "data": [
112
+ {
113
+ "name": "Sjølvaste Trude",
114
+ "id": "37006551"
115
+ },
116
+ {
117
+ "name": "Christopher Andersen",
118
+ "id": "529331325"
119
+ },
120
+ {
121
+ "name": "Geir Lindstrøm",
122
+ "id": "1350416838"
123
+ },
124
+ {
125
+ "name": "Anne K. Eggen Lervik",
126
+ "id": "657942656"
127
+ }
128
+ ]
129
+ },
130
+ "count": 18
131
+ }
132
+ ]
133
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "id": "197103030469110_208042732708473",
5
+ "from": {
6
+ "category": "Website",
7
+ "name": "ZXY OLK",
8
+ "id": "197103030469110"
9
+ },
10
+ "message": "Message without KLHD hashtag in it, so should be ignored.",
11
+ "actions": [
12
+ {
13
+ "name": "Comment",
14
+ "link": "https://www.facebook.com/197103030469110/posts/208042732708473"
15
+ }
16
+ ],
17
+ "privacy": {
18
+ "value": ""
19
+ },
20
+ "type": "status",
21
+ "application": {
22
+ "name": "Zurtak",
23
+ "id": "1422869047929657"
24
+ },
25
+ "created_time": "2013-10-30T12:16:36+0000",
26
+ "updated_time": "2013-10-30T12:16:36+0000"
27
+ },
28
+ {
29
+ "id": "577910407_10153357728425408",
30
+ "from": {
31
+ "name": "John-John Myhrvold",
32
+ "id": "577910407"
33
+ },
34
+ "message": "#KLHD",
35
+ "privacy": {
36
+ "value": ""
37
+ },
38
+ "type": "status",
39
+ "application": {
40
+ "name": "Facebook for iPhone",
41
+ "namespace": "fbiphone",
42
+ "id": "6628568379"
43
+ },
44
+ "created_time": "2013-10-29T09:21:59+0000",
45
+ "updated_time": "2013-10-29T09:21:59+0000"
46
+ },
47
+ {
48
+ "id": "880440296_10153410989865297",
49
+ "from": {
50
+ "name": "Chris-Stian Tjorven Selstad",
51
+ "id": "880440296"
52
+ },
53
+ "message": "#klhd Rema skolen :D",
54
+ "actions": [
55
+ {
56
+ "name": "Comment",
57
+ "link": "https://www.facebook.com/880440296/posts/10153410989865297"
58
+ }
59
+ ],
60
+ "privacy": {
61
+ "value": ""
62
+ },
63
+ "place": {
64
+ "id": "171030549607846",
65
+ "name": "Letohallen",
66
+ "location": {
67
+ "street": "Koloniveien",
68
+ "zip": "",
69
+ "latitude": 60.250360444128,
70
+ "longitude": 11.180622556789
71
+ }
72
+ },
73
+ "type": "status",
74
+ "application": {
75
+ "name": "Facebook for iPhone",
76
+ "namespace": "fbiphone",
77
+ "id": "6628568379"
78
+ },
79
+ "created_time": "2013-10-29T09:00:42+0000",
80
+ "updated_time": "2013-10-29T09:35:51+0000",
81
+ "likes": {
82
+ "data": [
83
+ {
84
+ "id": "737555370",
85
+ "name": "Magnus Bodan"
86
+ }
87
+ ],
88
+ "paging": {
89
+ "cursors": {
90
+ "after": "NzM3NTU1Mzcw",
91
+ "before": "NzM3NTU1Mzcw"
92
+ }
93
+ }
94
+ },
95
+ "comments": {
96
+ "data": [
97
+ {
98
+ "id": "10153410989865297_44649107",
99
+ "from": {
100
+ "name": "Ole Morten Nyrud",
101
+ "id": "1493514690"
102
+ },
103
+ "message": "Jøss, er du rett borti veien her.....:)",
104
+ "can_remove": false,
105
+ "created_time": "2013-10-29T09:35:51+0000",
106
+ "like_count": 0,
107
+ "user_likes": false
108
+ }
109
+ ],
110
+ "paging": {
111
+ "cursors": {
112
+ "after": "MQ==",
113
+ "before": "MQ=="
114
+ }
115
+ }
116
+ }
117
+ }
118
+ ]
119
+ }