wcc-contentful 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +51 -0
  3. data/.gitignore +8 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +240 -0
  6. data/.rubocop_todo.yml +13 -0
  7. data/CHANGELOG.md +7 -1
  8. data/Gemfile +4 -2
  9. data/Guardfile +36 -0
  10. data/README.md +1 -1
  11. data/Rakefile +5 -3
  12. data/bin/rspec +3 -0
  13. data/lib/generators/wcc/USAGE +24 -0
  14. data/lib/generators/wcc/menu_generator.rb +67 -0
  15. data/lib/generators/wcc/templates/.keep +0 -0
  16. data/lib/generators/wcc/templates/Procfile +3 -0
  17. data/lib/generators/wcc/templates/contentful_shell_wrapper +342 -0
  18. data/lib/generators/wcc/templates/menu/generated_add_menus.ts +85 -0
  19. data/lib/generators/wcc/templates/menu/menu.rb +25 -0
  20. data/lib/generators/wcc/templates/menu/menu_button.rb +25 -0
  21. data/lib/generators/wcc/templates/release +9 -0
  22. data/lib/generators/wcc/templates/wcc_contentful.rb +18 -0
  23. data/lib/wcc/contentful.rb +93 -26
  24. data/lib/wcc/contentful/client_ext.rb +15 -0
  25. data/lib/wcc/contentful/configuration.rb +93 -0
  26. data/lib/wcc/contentful/content_type_indexer.rb +153 -0
  27. data/lib/wcc/contentful/exceptions.rb +34 -0
  28. data/lib/wcc/contentful/graphql.rb +15 -0
  29. data/lib/wcc/contentful/graphql/builder.rb +172 -0
  30. data/lib/wcc/contentful/graphql/types.rb +54 -0
  31. data/lib/wcc/contentful/helpers.rb +28 -0
  32. data/lib/wcc/contentful/indexed_representation.rb +111 -0
  33. data/lib/wcc/contentful/model.rb +24 -0
  34. data/lib/wcc/contentful/model/menu.rb +7 -0
  35. data/lib/wcc/contentful/model/menu_button.rb +15 -0
  36. data/lib/wcc/contentful/model_builder.rb +151 -0
  37. data/lib/wcc/contentful/model_validators.rb +64 -0
  38. data/lib/wcc/contentful/model_validators/dsl.rb +165 -0
  39. data/lib/wcc/contentful/simple_client.rb +127 -0
  40. data/lib/wcc/contentful/simple_client/response.rb +160 -0
  41. data/lib/wcc/contentful/store.rb +8 -0
  42. data/lib/wcc/contentful/store/cdn_adapter.rb +79 -0
  43. data/lib/wcc/contentful/store/memory_store.rb +75 -0
  44. data/lib/wcc/contentful/store/postgres_store.rb +132 -0
  45. data/lib/wcc/contentful/version.rb +3 -1
  46. data/wcc-contentful.gemspec +49 -24
  47. metadata +261 -16
  48. data/lib/wcc/contentful/redirect.rb +0 -33
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module WCC
2
4
  module Contentful
3
- VERSION = "0.0.3"
5
+ VERSION = '0.1.0'
4
6
  end
5
7
  end
@@ -1,30 +1,55 @@
1
+ # frozen_string_literal: true
1
2
 
2
- lib = File.expand_path("../lib", __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "wcc/contentful/version"
5
+ require 'wcc/contentful/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "wcc-contentful"
8
+ spec.name = 'wcc-contentful'
8
9
  spec.version = WCC::Contentful::VERSION
9
- spec.authors = ["Watermark Dev"]
10
- spec.email = ["dev@watermark.org"]
11
-
12
- spec.summary = File.readlines("README.md").join
13
- spec.description = %q{Contentful API wrapper library for Watermark apps}
14
- spec.homepage = "https://github.com/watermarkchurch/wcc-contentful"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{^(test|spec|features)/})
19
- end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
23
-
24
- spec.add_development_dependency "bundler", "~> 1.16"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
27
- spec.add_development_dependency "webmock", "~> 3.0"
28
- spec.add_development_dependency "vcr", "~> 4.0"
29
- spec.add_dependency "contentful_model", "~> 0.2.0"
10
+ spec.authors = ['Watermark Dev']
11
+ spec.email = ['dev@watermark.org']
12
+
13
+ spec.summary = File.readlines('README.md').join
14
+ spec.description = 'Contentful API wrapper library for Watermark apps'
15
+ spec.homepage = 'https://github.com/watermarkchurch/wcc-contentful'
16
+ spec.license = 'MIT'
17
+
18
+ spec.required_ruby_version = '>= 2.3'
19
+
20
+ spec.files =
21
+ `git ls-files -z`.split("\x0").reject do |f|
22
+ f.match(%r{^(test|spec|features)/})
23
+ end
24
+
25
+ spec.require_paths = ['lib']
26
+
27
+ spec.add_development_dependency 'dotenv', '~> 2.2'
28
+ spec.add_development_dependency 'httplog', '~> 1.0'
29
+ spec.add_development_dependency 'rake', '~> 10.0'
30
+ spec.add_development_dependency 'rspec', '~> 3.0'
31
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
32
+ spec.add_development_dependency 'rubocop', '~> 0.52'
33
+ spec.add_development_dependency 'vcr', '~> 4.0'
34
+ spec.add_development_dependency 'webmock', '~> 3.0'
35
+
36
+ # Makes testing easy via `bundle exec guard`
37
+ spec.add_development_dependency 'guard', '~> 2.14'
38
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
39
+ spec.add_development_dependency 'guard-rubocop', '~> 1.3.0'
40
+
41
+ # for generators
42
+ spec.add_development_dependency 'generator_spec', '~> 0.9.4'
43
+ spec.add_development_dependency 'rails', '~> 5.1'
44
+ spec.add_development_dependency 'rspec-rails', '~> 3.7'
45
+ spec.add_development_dependency 'timecop', '~> 0.9.1'
46
+
47
+ # optional dependencies
48
+ spec.add_development_dependency 'contentful', '>= 0.12.0'
49
+ spec.add_development_dependency 'contentful-management', '>= 1.10.0'
50
+ spec.add_development_dependency 'graphql', '~> 1.7'
51
+ spec.add_development_dependency 'pg', '~> 1.0'
52
+
53
+ spec.add_dependency 'activesupport', '>= 5'
54
+ spec.add_dependency 'dry-validation', '~> 0.11.1'
30
55
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wcc-contentful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-20 00:00:00.000000000 Z
11
+ date: 2018-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: dotenv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '2.2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: httplog
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +67,33 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '3.0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: webmock
70
+ name: rspec_junit_formatter
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '3.0'
75
+ version: 0.3.0
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '3.0'
82
+ version: 0.3.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.52'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.52'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: vcr
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +109,201 @@ dependencies:
81
109
  - !ruby/object:Gem::Version
82
110
  version: '4.0'
83
111
  - !ruby/object:Gem::Dependency
84
- name: contentful_model
112
+ name: webmock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.14'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.14'
139
+ - !ruby/object:Gem::Dependency
140
+ name: guard-rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '4.7'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '4.7'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-rubocop
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.3.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.3.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: generator_spec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.9.4
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.9.4
181
+ - !ruby/object:Gem::Dependency
182
+ name: rails
85
183
  requirement: !ruby/object:Gem::Requirement
86
184
  requirements:
87
185
  - - "~>"
88
186
  - !ruby/object:Gem::Version
89
- version: 0.2.0
187
+ version: '5.1'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '5.1'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rspec-rails
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.7'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '3.7'
209
+ - !ruby/object:Gem::Dependency
210
+ name: timecop
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 0.9.1
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 0.9.1
223
+ - !ruby/object:Gem::Dependency
224
+ name: contentful
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: 0.12.0
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: 0.12.0
237
+ - !ruby/object:Gem::Dependency
238
+ name: contentful-management
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: 1.10.0
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: 1.10.0
251
+ - !ruby/object:Gem::Dependency
252
+ name: graphql
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '1.7'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '1.7'
265
+ - !ruby/object:Gem::Dependency
266
+ name: pg
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '1.0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: activesupport
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '5'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '5'
293
+ - !ruby/object:Gem::Dependency
294
+ name: dry-validation
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: 0.11.1
90
300
  type: :runtime
91
301
  prerelease: false
92
302
  version_requirements: !ruby/object:Gem::Requirement
93
303
  requirements:
94
304
  - - "~>"
95
305
  - !ruby/object:Gem::Version
96
- version: 0.2.0
306
+ version: 0.11.1
97
307
  description: Contentful API wrapper library for Watermark apps
98
308
  email:
99
309
  - dev@watermark.org
@@ -101,19 +311,54 @@ executables: []
101
311
  extensions: []
102
312
  extra_rdoc_files: []
103
313
  files:
314
+ - ".circleci/config.yml"
104
315
  - ".gitignore"
105
316
  - ".rspec"
317
+ - ".rubocop.yml"
318
+ - ".rubocop_todo.yml"
106
319
  - ".travis.yml"
107
320
  - CHANGELOG.md
108
321
  - CODE_OF_CONDUCT.md
109
322
  - Gemfile
323
+ - Guardfile
110
324
  - LICENSE.txt
111
325
  - README.md
112
326
  - Rakefile
113
327
  - bin/console
328
+ - bin/rspec
114
329
  - bin/setup
330
+ - lib/generators/wcc/USAGE
331
+ - lib/generators/wcc/menu_generator.rb
332
+ - lib/generators/wcc/templates/.keep
333
+ - lib/generators/wcc/templates/Procfile
334
+ - lib/generators/wcc/templates/contentful_shell_wrapper
335
+ - lib/generators/wcc/templates/menu/generated_add_menus.ts
336
+ - lib/generators/wcc/templates/menu/menu.rb
337
+ - lib/generators/wcc/templates/menu/menu_button.rb
338
+ - lib/generators/wcc/templates/release
339
+ - lib/generators/wcc/templates/wcc_contentful.rb
115
340
  - lib/wcc/contentful.rb
116
- - lib/wcc/contentful/redirect.rb
341
+ - lib/wcc/contentful/client_ext.rb
342
+ - lib/wcc/contentful/configuration.rb
343
+ - lib/wcc/contentful/content_type_indexer.rb
344
+ - lib/wcc/contentful/exceptions.rb
345
+ - lib/wcc/contentful/graphql.rb
346
+ - lib/wcc/contentful/graphql/builder.rb
347
+ - lib/wcc/contentful/graphql/types.rb
348
+ - lib/wcc/contentful/helpers.rb
349
+ - lib/wcc/contentful/indexed_representation.rb
350
+ - lib/wcc/contentful/model.rb
351
+ - lib/wcc/contentful/model/menu.rb
352
+ - lib/wcc/contentful/model/menu_button.rb
353
+ - lib/wcc/contentful/model_builder.rb
354
+ - lib/wcc/contentful/model_validators.rb
355
+ - lib/wcc/contentful/model_validators/dsl.rb
356
+ - lib/wcc/contentful/simple_client.rb
357
+ - lib/wcc/contentful/simple_client/response.rb
358
+ - lib/wcc/contentful/store.rb
359
+ - lib/wcc/contentful/store/cdn_adapter.rb
360
+ - lib/wcc/contentful/store/memory_store.rb
361
+ - lib/wcc/contentful/store/postgres_store.rb
117
362
  - lib/wcc/contentful/version.rb
118
363
  - wcc-contentful.gemspec
119
364
  homepage: https://github.com/watermarkchurch/wcc-contentful
@@ -128,7 +373,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
373
  requirements:
129
374
  - - ">="
130
375
  - !ruby/object:Gem::Version
131
- version: '0'
376
+ version: '2.3'
132
377
  required_rubygems_version: !ruby/object:Gem::Requirement
133
378
  requirements:
134
379
  - - ">="
@@ -136,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
381
  version: '0'
137
382
  requirements: []
138
383
  rubyforge_project:
139
- rubygems_version: 2.6.11
384
+ rubygems_version: 2.5.2
140
385
  signing_key:
141
386
  specification_version: 4
142
387
  summary: '# WCC::Contentful ## Installation Add this line to your application''s
@@ -155,6 +400,6 @@ summary: '# WCC::Contentful ## Installation Add this line to your application'
155
400
  are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org)
156
401
  code of conduct. ## License The gem is available as open source under the terms
157
402
  of the [MIT License](http://opensource.org/licenses/MIT). ## Code of Conduct Everyone
158
- interacting in the WCC::Contentful projects codebases, issue trackers, chat rooms
403
+ interacting in the WCC::Contentful project''s codebases, issue trackers, chat rooms
159
404
  and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/wcc-contentful/blob/master/CODE_OF_CONDUCT.md).'
160
405
  test_files: []