rMeetup 1.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +21 -0
  3. data/README.md +65 -0
  4. data/Rakefile +6 -12
  5. data/lib/core_ext/string.rb +11 -0
  6. data/lib/rmeetup.rb +2 -63
  7. data/lib/rmeetup/client.rb +77 -0
  8. data/lib/rmeetup/errors.rb +15 -0
  9. data/lib/rmeetup/fetcher.rb +20 -33
  10. data/lib/rmeetup/fetcher/base.rb +66 -55
  11. data/lib/rmeetup/fetcher/open_events.rb +14 -0
  12. data/lib/rmeetup/fetcher/venues.rb +14 -0
  13. data/lib/rmeetup/poster.rb +17 -0
  14. data/lib/rmeetup/poster/base.rb +81 -0
  15. data/lib/rmeetup/{fetcher/comments.rb → poster/event_comment.rb} +5 -5
  16. data/lib/rmeetup/type.rb +2 -1
  17. data/lib/rmeetup/type/event.rb +21 -18
  18. data/lib/rmeetup/type/event_comment.rb +42 -0
  19. data/lib/rmeetup/type/rsvp.rb +9 -5
  20. data/lib/rmeetup/type/venue.rb +63 -0
  21. data/lib/rmeetup/version.rb +14 -0
  22. data/rmeetup.gemspec +34 -0
  23. data/spec/client_spec.rb +77 -29
  24. data/spec/fetcher_spec.rb +4 -4
  25. data/spec/fixtures/vcr_cassettes/fetching_cities.yml +358 -0
  26. data/spec/fixtures/vcr_cassettes/fetching_events.yml +54 -0
  27. data/spec/fixtures/vcr_cassettes/fetching_groups.yml +8627 -0
  28. data/spec/fixtures/vcr_cassettes/fetching_members.yml +3984 -0
  29. data/spec/fixtures/vcr_cassettes/fetching_photos.yml +54 -0
  30. data/spec/fixtures/vcr_cassettes/fetching_rsvps.yml +54 -0
  31. data/spec/spec_helper.rb +11 -69
  32. metadata +140 -101
  33. data/Manifest +0 -45
  34. data/README.rdoc +0 -34
  35. data/lib/rmeetup/fetcher/topics.rb +0 -14
  36. data/rMeetup.gemspec +0 -29
  37. data/spec/fetchers/base_spec.rb +0 -58
  38. data/spec/fetchers/cities_spec.rb +0 -18
  39. data/spec/fetchers/comments_spec.rb +0 -14
  40. data/spec/fetchers/events_spec.rb +0 -14
  41. data/spec/fetchers/groups_spec.rb +0 -14
  42. data/spec/fetchers/members_spec.rb +0 -14
  43. data/spec/fetchers/photos_spec.rb +0 -14
  44. data/spec/fetchers/rsvps_spec.rb +0 -14
  45. data/spec/fetchers/topics_spec.rb +0 -14
  46. data/spec/responses/cities.json +0 -1
  47. data/spec/responses/comments.json +0 -1
  48. data/spec/responses/error.json +0 -1
  49. data/spec/responses/events.json +0 -1
  50. data/spec/responses/groups.json +0 -1
  51. data/spec/responses/members.json +0 -1
  52. data/spec/responses/photos.json +0 -1
  53. data/spec/responses/rsvps.json +0 -1
  54. data/spec/responses/topics.json +0 -1
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.meetup.com/2/photos?event_id=13452536&key=663a24605a37767831495d6332546b4a&sign=true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Mon, 03 Nov 2014 20:16:19 GMT
23
+ Content-Type:
24
+ - application/json;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=d90dcb31576300b5f0efb2482636845b31415045779685; expires=Mon, 23-Dec-2019
31
+ 23:50:00 GMT; path=/; domain=.meetup.com; HttpOnly
32
+ X-Meetup-Server:
33
+ - api14.int.meetup.com
34
+ X-Meetup-Request-Id:
35
+ - f73363f6-df5a-4981-867b-ccd49b86f808
36
+ X-Oauth-Scopes:
37
+ - basic
38
+ X-Accepted-Oauth-Scopes:
39
+ - basic
40
+ Etag:
41
+ - W/"a79703d3e1abf49605af26d5ec8a9a1e"
42
+ Vary:
43
+ - Accept-Encoding,User-Agent
44
+ Server:
45
+ - cloudflare-nginx
46
+ Cf-Ray:
47
+ - 183b3fbb09740a2a-VIE
48
+ body:
49
+ encoding: UTF-8
50
+ string: |
51
+ {"results":[],"meta":{"lon":"","count":0,"signed_url":"http:\/\/api.meetup.com\/2\/photos?event_id=13452536&order=time&desc=True&offset=0&format=json&page=200&fields=&sig_id=90485442&sig=5e078a122689c659fc478d574b2143557c9de757","link":"http:\/\/api.meetup.com\/2\/photos","next":"","total_count":0,"url":"http:\/\/api.meetup.com\/2\/photos?key=663a24605a37767831495d6332546b4a&event_id=13452536&order=time&desc=True&offset=0&format=json&page=200&fields=&sign=True","id":"","title":"Photos","updated":0,"description":"Retrieve photos by album, member, photo, group, or tagging","method":"Photos","lat":""}}
52
+ http_version:
53
+ recorded_at: Mon, 03 Nov 2014 20:16:20 GMT
54
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.meetup.com/2/rsvps?event_id=1342342&key=663a24605a37767831495d6332546b4a&sign=true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Mon, 03 Nov 2014 20:16:11 GMT
23
+ Content-Type:
24
+ - application/json;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=d52482d5a1552af36cf25061f419f48591415045771085; expires=Mon, 23-Dec-2019
31
+ 23:50:00 GMT; path=/; domain=.meetup.com; HttpOnly
32
+ X-Meetup-Server:
33
+ - api10.int.meetup.com
34
+ X-Meetup-Request-Id:
35
+ - 4723c0cf-8af4-4eb9-9908-5500fd40c36c
36
+ X-Oauth-Scopes:
37
+ - basic
38
+ X-Accepted-Oauth-Scopes:
39
+ - basic
40
+ Etag:
41
+ - W/"87061501d586d4278fc106203f1967d1"
42
+ Vary:
43
+ - Accept-Encoding,User-Agent
44
+ Server:
45
+ - cloudflare-nginx
46
+ Cf-Ray:
47
+ - 183b3f854a890a2a-VIE
48
+ body:
49
+ encoding: UTF-8
50
+ string: |
51
+ {"results":[],"meta":{"lon":"","count":0,"signed_url":"http:\/\/api.meetup.com\/2\/rsvps?event_id=1342342&order=event&desc=false&offset=0&format=json&page=200&fields=&sig_id=90485442&sig=f603ae87c19dd5b439f1576623b9fd3ee0c66e59","link":"http:\/\/api.meetup.com\/2\/rsvps","next":"","total_count":0,"url":"http:\/\/api.meetup.com\/2\/rsvps?key=663a24605a37767831495d6332546b4a&event_id=1342342&order=event&desc=false&offset=0&format=json&page=200&fields=&sign=True","id":"","title":"Meetup RSVPs v2","updated":1415045771290,"description":"Query for Event RSVPs by event","method":"RSVPs v2","lat":""}}
52
+ http_version:
53
+ recorded_at: Mon, 03 Nov 2014 20:16:11 GMT
54
+ recorded_with: VCR 2.9.3
@@ -1,82 +1,24 @@
1
1
  $: << File.join(File.dirname(__FILE__), '..', 'lib')
2
- require 'rmeetup'
2
+ require 'coveralls'
3
+ Coveralls.wear!
3
4
 
5
+ require 'rmeetup'
4
6
  TEST_ROOT = File.dirname(__FILE__)
5
7
 
8
+ require 'vcr'
9
+
10
+ VCR.configure do |c|
11
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
12
+ c.hook_into :webmock # or :fakeweb
13
+ end
14
+
6
15
  # Meetup API Key
7
16
  #
8
17
  # Please provide your meetup api key to access
9
18
  # the API. Some of the spec require access to the API.
10
19
  # You can get your API key by loging in to meetup.com
11
20
  # and looking in your account info.
12
- API_KEY = '4824d125e1c13f6253694f65383d33' #nil
21
+ API_KEY = '663a24605a37767831495d6332546b4a' #nil
13
22
 
14
23
  # Don't let the specs run without an API key
15
24
  raise StandardError, 'Please enter your Meetup API key in the spec_helper.rb file to be used for testing purposes.' unless API_KEY
16
-
17
- # Override the get_response portion of fetchers
18
- # so that we don't have to go out and hit the internets
19
- module RMeetup::FakeResponse
20
- module Error
21
- protected
22
- def get_response(url)
23
- File.read(File.join(TEST_ROOT, 'responses', 'error.json'))
24
- end
25
- end
26
-
27
- module Cities
28
- protected
29
- def get_response(url)
30
- File.read(File.join(TEST_ROOT, 'responses', 'cities.json'))
31
- end
32
- end
33
-
34
- module Comments
35
- protected
36
- def get_response(url)
37
- File.read(File.join(TEST_ROOT, 'responses', 'comments.json'))
38
- end
39
- end
40
-
41
- module Events
42
- protected
43
- def get_response(url)
44
- File.read(File.join(TEST_ROOT, 'responses', 'events.json'))
45
- end
46
- end
47
-
48
- module Groups
49
- protected
50
- def get_response(url)
51
- File.read(File.join(TEST_ROOT, 'responses', 'groups.json'))
52
- end
53
- end
54
-
55
- module Members
56
- protected
57
- def get_response(url)
58
- File.read(File.join(TEST_ROOT, 'responses', 'members.json'))
59
- end
60
- end
61
-
62
- module Photos
63
- protected
64
- def get_response(url)
65
- File.read(File.join(TEST_ROOT, 'responses', 'photos.json'))
66
- end
67
- end
68
-
69
- module Rsvps
70
- protected
71
- def get_response(url)
72
- File.read(File.join(TEST_ROOT, 'responses', 'rsvps.json'))
73
- end
74
- end
75
-
76
- module Topics
77
- protected
78
- def get_response(url)
79
- File.read(File.join(TEST_ROOT, 'responses', 'topics.json'))
80
- end
81
- end
82
- end
metadata CHANGED
@@ -1,138 +1,177 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rMeetup
3
- version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- version: "1.0"
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.1
10
5
  platform: ruby
11
- authors:
6
+ authors:
7
+ - Jared Pace
12
8
  - Jason Berlinsky
9
+ - Tommy Chan
10
+ - Tanner Mares
11
+ - Zishan Ahmad
12
+ - Nikica Jokić
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
-
17
- date: 2011-01-21 00:00:00 -05:00
18
- default_executable:
19
- dependencies: []
20
-
21
- description: A simple Ruby gem, providing access to the Meetup API
22
- email: jason@jasonberlinsky.com
16
+ date: 2014-11-04 00:00:00.000000000 Z
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: json
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - "~>"
23
+ - !ruby/object:Gem::Version
24
+ version: '1.8'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - "~>"
30
+ - !ruby/object:Gem::Version
31
+ version: '1.8'
32
+ - !ruby/object:Gem::Dependency
33
+ name: buftok
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '0.2'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '0.2'
46
+ - !ruby/object:Gem::Dependency
47
+ name: http
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.6'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.6'
60
+ - !ruby/object:Gem::Dependency
61
+ name: http_parser.rb
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '0.6'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.6'
74
+ - !ruby/object:Gem::Dependency
75
+ name: bundler
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.6'
81
+ type: :development
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.6'
88
+ description: meetup.com ruby client lib
89
+ email:
90
+ - jdpace@github.com
91
+ - jason@jasonberlinsky.com
92
+ - tommytcchan@gmail.com
93
+ - tannermares@gmail.com
94
+ - me@zishanahmad.com
95
+ - neektza@gmail.com
23
96
  executables: []
24
-
25
97
  extensions: []
26
-
27
- extra_rdoc_files:
28
- - README.rdoc
29
- - lib/rmeetup.rb
30
- - lib/rmeetup/collection.rb
31
- - lib/rmeetup/fetcher.rb
32
- - lib/rmeetup/fetcher/base.rb
33
- - lib/rmeetup/fetcher/cities.rb
34
- - lib/rmeetup/fetcher/comments.rb
35
- - lib/rmeetup/fetcher/events.rb
36
- - lib/rmeetup/fetcher/groups.rb
37
- - lib/rmeetup/fetcher/members.rb
38
- - lib/rmeetup/fetcher/photos.rb
39
- - lib/rmeetup/fetcher/rsvps.rb
40
- - lib/rmeetup/fetcher/topics.rb
41
- - lib/rmeetup/type.rb
42
- - lib/rmeetup/type/city.rb
43
- - lib/rmeetup/type/comment.rb
44
- - lib/rmeetup/type/event.rb
45
- - lib/rmeetup/type/group.rb
46
- - lib/rmeetup/type/member.rb
47
- - lib/rmeetup/type/photo.rb
48
- - lib/rmeetup/type/rsvp.rb
49
- - lib/rmeetup/type/topic.rb
50
- files:
51
- - Manifest
52
- - README.rdoc
98
+ extra_rdoc_files: []
99
+ files:
100
+ - LICENSE.md
101
+ - README.md
53
102
  - Rakefile
103
+ - lib/core_ext/string.rb
54
104
  - lib/rmeetup.rb
105
+ - lib/rmeetup/client.rb
55
106
  - lib/rmeetup/collection.rb
107
+ - lib/rmeetup/errors.rb
56
108
  - lib/rmeetup/fetcher.rb
57
109
  - lib/rmeetup/fetcher/base.rb
58
110
  - lib/rmeetup/fetcher/cities.rb
59
- - lib/rmeetup/fetcher/comments.rb
60
111
  - lib/rmeetup/fetcher/events.rb
61
112
  - lib/rmeetup/fetcher/groups.rb
62
113
  - lib/rmeetup/fetcher/members.rb
114
+ - lib/rmeetup/fetcher/open_events.rb
63
115
  - lib/rmeetup/fetcher/photos.rb
64
116
  - lib/rmeetup/fetcher/rsvps.rb
65
- - lib/rmeetup/fetcher/topics.rb
117
+ - lib/rmeetup/fetcher/venues.rb
118
+ - lib/rmeetup/poster.rb
119
+ - lib/rmeetup/poster/base.rb
120
+ - lib/rmeetup/poster/event_comment.rb
66
121
  - lib/rmeetup/type.rb
67
122
  - lib/rmeetup/type/city.rb
68
123
  - lib/rmeetup/type/comment.rb
69
124
  - lib/rmeetup/type/event.rb
125
+ - lib/rmeetup/type/event_comment.rb
70
126
  - lib/rmeetup/type/group.rb
71
127
  - lib/rmeetup/type/member.rb
72
128
  - lib/rmeetup/type/photo.rb
73
129
  - lib/rmeetup/type/rsvp.rb
74
130
  - lib/rmeetup/type/topic.rb
131
+ - lib/rmeetup/type/venue.rb
132
+ - lib/rmeetup/version.rb
133
+ - rmeetup.gemspec
75
134
  - spec/client_spec.rb
76
135
  - spec/fetcher_spec.rb
77
- - spec/fetchers/base_spec.rb
78
- - spec/fetchers/cities_spec.rb
79
- - spec/fetchers/comments_spec.rb
80
- - spec/fetchers/events_spec.rb
81
- - spec/fetchers/groups_spec.rb
82
- - spec/fetchers/members_spec.rb
83
- - spec/fetchers/photos_spec.rb
84
- - spec/fetchers/rsvps_spec.rb
85
- - spec/fetchers/topics_spec.rb
86
- - spec/responses/cities.json
87
- - spec/responses/comments.json
88
- - spec/responses/error.json
89
- - spec/responses/events.json
90
- - spec/responses/groups.json
91
- - spec/responses/members.json
92
- - spec/responses/photos.json
93
- - spec/responses/rsvps.json
94
- - spec/responses/topics.json
136
+ - spec/fixtures/vcr_cassettes/fetching_cities.yml
137
+ - spec/fixtures/vcr_cassettes/fetching_events.yml
138
+ - spec/fixtures/vcr_cassettes/fetching_groups.yml
139
+ - spec/fixtures/vcr_cassettes/fetching_members.yml
140
+ - spec/fixtures/vcr_cassettes/fetching_photos.yml
141
+ - spec/fixtures/vcr_cassettes/fetching_rsvps.yml
95
142
  - spec/spec_helper.rb
96
- - rMeetup.gemspec
97
- has_rdoc: true
98
- homepage: https://github.com/Jberlinsky/rmeetup
99
- licenses: []
100
-
143
+ homepage: https://github.com/neektza/rmeetup
144
+ licenses:
145
+ - MIT
146
+ metadata: {}
101
147
  post_install_message:
102
- rdoc_options:
103
- - --line-numbers
104
- - --inline-source
105
- - --title
106
- - rMeetup
107
- - --main
108
- - README.rdoc
109
- require_paths:
148
+ rdoc_options: []
149
+ require_paths:
110
150
  - lib
111
- required_ruby_version: !ruby/object:Gem::Requirement
112
- none: false
113
- requirements:
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
114
153
  - - ">="
115
- - !ruby/object:Gem::Version
116
- hash: 3
117
- segments:
118
- - 0
119
- version: "0"
120
- required_rubygems_version: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
123
158
  - - ">="
124
- - !ruby/object:Gem::Version
125
- hash: 11
126
- segments:
127
- - 1
128
- - 2
129
- version: "1.2"
159
+ - !ruby/object:Gem::Version
160
+ version: 1.3.6
130
161
  requirements: []
131
-
132
- rubyforge_project: rmeetup
133
- rubygems_version: 1.4.2
162
+ rubyforge_project:
163
+ rubygems_version: 2.2.2
134
164
  signing_key:
135
- specification_version: 3
136
- summary: A simple Ruby gem, providing access to the Meetup API
137
- test_files: []
138
-
165
+ specification_version: 4
166
+ summary: A Ruby wrapper for the Meetup REST API v2
167
+ test_files:
168
+ - spec/client_spec.rb
169
+ - spec/fetcher_spec.rb
170
+ - spec/fixtures/vcr_cassettes/fetching_cities.yml
171
+ - spec/fixtures/vcr_cassettes/fetching_events.yml
172
+ - spec/fixtures/vcr_cassettes/fetching_groups.yml
173
+ - spec/fixtures/vcr_cassettes/fetching_members.yml
174
+ - spec/fixtures/vcr_cassettes/fetching_photos.yml
175
+ - spec/fixtures/vcr_cassettes/fetching_rsvps.yml
176
+ - spec/spec_helper.rb
177
+ has_rdoc: