wcc-contentful 0.0.3 → 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 (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: []