rMeetup 1.0 → 2.0.1

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.
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: