moogle 0.1.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.
Files changed (68) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +35 -0
  4. data/Gemfile.lock +148 -0
  5. data/LICENSE.txt +202 -0
  6. data/NOTICE.txt +4 -0
  7. data/README.md +33 -0
  8. data/Rakefile +44 -0
  9. data/fixtures/vcr_cassettes/push_blog_entry.yml +48 -0
  10. data/fixtures/vcr_cassettes/push_webhook_ping.yml +41 -0
  11. data/lib/moogle/commands/create_link.rb +45 -0
  12. data/lib/moogle/commands/create_target.rb +46 -0
  13. data/lib/moogle/commands/destroy_link.rb +37 -0
  14. data/lib/moogle/commands/destroy_target.rb +37 -0
  15. data/lib/moogle/commands/find_targets.rb +31 -0
  16. data/lib/moogle/commands/push_blog_entry.rb +54 -0
  17. data/lib/moogle/commands/push_email.rb +60 -0
  18. data/lib/moogle/commands/push_webhook_ping.rb +58 -0
  19. data/lib/moogle/commands/update_target.rb +44 -0
  20. data/lib/moogle/commands.rb +9 -0
  21. data/lib/moogle/error.rb +6 -0
  22. data/lib/moogle/events/blog_entry_pushed.rb +34 -0
  23. data/lib/moogle/events/email_pushed.rb +36 -0
  24. data/lib/moogle/events/error.rb +24 -0
  25. data/lib/moogle/events/link_created.rb +21 -0
  26. data/lib/moogle/events/link_destroyed.rb +21 -0
  27. data/lib/moogle/events/target_created.rb +21 -0
  28. data/lib/moogle/events/target_destroyed.rb +21 -0
  29. data/lib/moogle/events/target_updated.rb +21 -0
  30. data/lib/moogle/events/webhook_ping_pushed.rb +34 -0
  31. data/lib/moogle/handlers/accept_notification.rb +96 -0
  32. data/lib/moogle/messages/notification.rb +34 -0
  33. data/lib/moogle/models/blog_target.rb +29 -0
  34. data/lib/moogle/models/email_target.rb +16 -0
  35. data/lib/moogle/models/facebook_target.rb +14 -0
  36. data/lib/moogle/models/link.rb +20 -0
  37. data/lib/moogle/models/post_log.rb +21 -0
  38. data/lib/moogle/models/target.rb +22 -0
  39. data/lib/moogle/models/twitter_target.rb +14 -0
  40. data/lib/moogle/models/webhook_target.rb +18 -0
  41. data/lib/moogle/models.rb +9 -0
  42. data/lib/moogle/representers/link_representer.rb +23 -0
  43. data/lib/moogle/representers/target_representer.rb +34 -0
  44. data/lib/moogle/requests/create_link.rb +24 -0
  45. data/lib/moogle/requests/create_target.rb +40 -0
  46. data/lib/moogle/requests/destroy_link.rb +22 -0
  47. data/lib/moogle/requests/destroy_target.rb +22 -0
  48. data/lib/moogle/requests/find_targets.rb +21 -0
  49. data/lib/moogle/requests/push_blog_entry.rb +67 -0
  50. data/lib/moogle/requests/push_email.rb +46 -0
  51. data/lib/moogle/requests/push_webhook_ping.rb +49 -0
  52. data/lib/moogle/requests/update_target.rb +22 -0
  53. data/lib/moogle/requests.rb +6 -0
  54. data/lib/moogle/version.rb +11 -0
  55. data/lib/moogle.rb +5 -0
  56. data/moogle.gemspec +160 -0
  57. data/spec/commands/find_targets_spec.rb +32 -0
  58. data/spec/commands/links_spec.rb +92 -0
  59. data/spec/commands/push_blog_entry_spec.rb +33 -0
  60. data/spec/commands/push_email_spec.rb +44 -0
  61. data/spec/commands/push_webhook_ping_spec.rb +30 -0
  62. data/spec/commands/targets_spec.rb +165 -0
  63. data/spec/handlers/accept_notification_spec.rb +55 -0
  64. data/spec/moogle_spec.rb +1 -0
  65. data/spec/spec_helper.rb +12 -0
  66. data/spec/support/dependencies.rb +10 -0
  67. data/spec/support/vcr.rb +6 -0
  68. metadata +326 -0
metadata ADDED
@@ -0,0 +1,326 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: moogle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Benjamin Yu
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: addressable
16
+ requirement: &70213404459380 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 2.2.7
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70213404459380
25
+ - !ruby/object:Gem::Dependency
26
+ name: aequitas
27
+ requirement: &70213404472000 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 0.0.2
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70213404472000
36
+ - !ruby/object:Gem::Dependency
37
+ name: data_mapper
38
+ requirement: &70213404467800 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.0
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70213404467800
47
+ - !ruby/object:Gem::Dependency
48
+ name: mail
49
+ requirement: &70213404464900 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.4.3
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70213404464900
58
+ - !ruby/object:Gem::Dependency
59
+ name: faraday
60
+ requirement: &70213404475620 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: 0.7.6
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70213404475620
69
+ - !ruby/object:Gem::Dependency
70
+ name: rafaday
71
+ requirement: &70213404515960 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.1.0
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *70213404515960
80
+ - !ruby/object:Gem::Dependency
81
+ name: roar
82
+ requirement: &70213404512000 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 0.9.2
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70213404512000
91
+ - !ruby/object:Gem::Dependency
92
+ name: serf
93
+ requirement: &70213404546960 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: 0.8.0
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *70213404546960
102
+ - !ruby/object:Gem::Dependency
103
+ name: uuidtools
104
+ requirement: &70213404542140 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 2.1.2
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *70213404542140
113
+ - !ruby/object:Gem::Dependency
114
+ name: virtus
115
+ requirement: &70213404589820 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: 0.3.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *70213404589820
124
+ - !ruby/object:Gem::Dependency
125
+ name: rspec
126
+ requirement: &70213404585680 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 2.8.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *70213404585680
135
+ - !ruby/object:Gem::Dependency
136
+ name: yard
137
+ requirement: &70213404600380 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 0.7.5
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: *70213404600380
146
+ - !ruby/object:Gem::Dependency
147
+ name: bundler
148
+ requirement: &70213404599420 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ~>
152
+ - !ruby/object:Gem::Version
153
+ version: 1.1.3
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: *70213404599420
157
+ - !ruby/object:Gem::Dependency
158
+ name: jeweler
159
+ requirement: &70213404598060 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: 1.8.3
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: *70213404598060
168
+ - !ruby/object:Gem::Dependency
169
+ name: simplecov
170
+ requirement: &70213404596860 !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: *70213404596860
179
+ - !ruby/object:Gem::Dependency
180
+ name: vcr
181
+ requirement: &70213404595760 !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ~>
185
+ - !ruby/object:Gem::Version
186
+ version: 2.0.0
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: *70213404595760
190
+ - !ruby/object:Gem::Dependency
191
+ name: webmock
192
+ requirement: &70213404594520 !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: 1.8.1
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: *70213404594520
201
+ - !ruby/object:Gem::Dependency
202
+ name: dm-sqlite-adapter
203
+ requirement: &70213404608580 !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: *70213404608580
212
+ - !ruby/object:Gem::Dependency
213
+ name: dm-mysql-adapter
214
+ requirement: &70213404606900 !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ! '>='
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: *70213404606900
223
+ description: Notification pushing to 3rd parties
224
+ email: benjaminlyu@gmail.com
225
+ executables: []
226
+ extensions: []
227
+ extra_rdoc_files:
228
+ - LICENSE.txt
229
+ - README.md
230
+ files:
231
+ - .document
232
+ - .rspec
233
+ - Gemfile
234
+ - Gemfile.lock
235
+ - LICENSE.txt
236
+ - NOTICE.txt
237
+ - README.md
238
+ - Rakefile
239
+ - fixtures/vcr_cassettes/push_blog_entry.yml
240
+ - fixtures/vcr_cassettes/push_webhook_ping.yml
241
+ - lib/moogle.rb
242
+ - lib/moogle/commands.rb
243
+ - lib/moogle/commands/create_link.rb
244
+ - lib/moogle/commands/create_target.rb
245
+ - lib/moogle/commands/destroy_link.rb
246
+ - lib/moogle/commands/destroy_target.rb
247
+ - lib/moogle/commands/find_targets.rb
248
+ - lib/moogle/commands/push_blog_entry.rb
249
+ - lib/moogle/commands/push_email.rb
250
+ - lib/moogle/commands/push_webhook_ping.rb
251
+ - lib/moogle/commands/update_target.rb
252
+ - lib/moogle/error.rb
253
+ - lib/moogle/events/blog_entry_pushed.rb
254
+ - lib/moogle/events/email_pushed.rb
255
+ - lib/moogle/events/error.rb
256
+ - lib/moogle/events/link_created.rb
257
+ - lib/moogle/events/link_destroyed.rb
258
+ - lib/moogle/events/target_created.rb
259
+ - lib/moogle/events/target_destroyed.rb
260
+ - lib/moogle/events/target_updated.rb
261
+ - lib/moogle/events/webhook_ping_pushed.rb
262
+ - lib/moogle/handlers/accept_notification.rb
263
+ - lib/moogle/messages/notification.rb
264
+ - lib/moogle/models.rb
265
+ - lib/moogle/models/blog_target.rb
266
+ - lib/moogle/models/email_target.rb
267
+ - lib/moogle/models/facebook_target.rb
268
+ - lib/moogle/models/link.rb
269
+ - lib/moogle/models/post_log.rb
270
+ - lib/moogle/models/target.rb
271
+ - lib/moogle/models/twitter_target.rb
272
+ - lib/moogle/models/webhook_target.rb
273
+ - lib/moogle/representers/link_representer.rb
274
+ - lib/moogle/representers/target_representer.rb
275
+ - lib/moogle/requests.rb
276
+ - lib/moogle/requests/create_link.rb
277
+ - lib/moogle/requests/create_target.rb
278
+ - lib/moogle/requests/destroy_link.rb
279
+ - lib/moogle/requests/destroy_target.rb
280
+ - lib/moogle/requests/find_targets.rb
281
+ - lib/moogle/requests/push_blog_entry.rb
282
+ - lib/moogle/requests/push_email.rb
283
+ - lib/moogle/requests/push_webhook_ping.rb
284
+ - lib/moogle/requests/update_target.rb
285
+ - lib/moogle/version.rb
286
+ - moogle.gemspec
287
+ - spec/commands/find_targets_spec.rb
288
+ - spec/commands/links_spec.rb
289
+ - spec/commands/push_blog_entry_spec.rb
290
+ - spec/commands/push_email_spec.rb
291
+ - spec/commands/push_webhook_ping_spec.rb
292
+ - spec/commands/targets_spec.rb
293
+ - spec/handlers/accept_notification_spec.rb
294
+ - spec/moogle_spec.rb
295
+ - spec/spec_helper.rb
296
+ - spec/support/dependencies.rb
297
+ - spec/support/vcr.rb
298
+ homepage: http://github.com/byu/moogle
299
+ licenses:
300
+ - Apache 2.0
301
+ post_install_message:
302
+ rdoc_options: []
303
+ require_paths:
304
+ - lib
305
+ required_ruby_version: !ruby/object:Gem::Requirement
306
+ none: false
307
+ requirements:
308
+ - - ! '>='
309
+ - !ruby/object:Gem::Version
310
+ version: '0'
311
+ segments:
312
+ - 0
313
+ hash: -341119792465891169
314
+ required_rubygems_version: !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - ! '>='
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ requirements: []
321
+ rubyforge_project:
322
+ rubygems_version: 1.8.17
323
+ signing_key:
324
+ specification_version: 3
325
+ summary: Notification pushing to 3rd parties
326
+ test_files: []