wcc-contentful-app 0.4.0.pre.alpha → 1.0.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 (94) hide show
  1. checksums.yaml +5 -5
  2. data/.rspec +2 -2
  3. data/README.md +11 -0
  4. data/Rakefile +125 -0
  5. data/app/assets/config/manifest.js +5 -0
  6. data/app/assets/images/down-arrow-primary.svg +3 -0
  7. data/app/assets/images/up-arrow-primary.svg +3 -0
  8. data/app/assets/javascripts/wcc/contentful/app/contact-form.js +70 -0
  9. data/app/assets/javascripts/wcc/contentful/app/index.js +1 -0
  10. data/app/assets/stylesheets/_wcc-contentful-app.scss +7 -0
  11. data/app/assets/stylesheets/components/_menu-item.scss +5 -0
  12. data/app/assets/stylesheets/sections/_faq.scss +39 -0
  13. data/app/controllers/wcc/contentful/app/contact_form_controller.rb +39 -0
  14. data/app/controllers/wcc/contentful/app/pages_controller.rb +48 -0
  15. data/app/helpers/wcc/contentful/app/menu_helper.rb +85 -0
  16. data/app/helpers/wcc/contentful/app/section_helper.rb +135 -0
  17. data/app/mailers/wcc/contentful/app/contact_mailer.rb +11 -0
  18. data/app/models/concerns/wcc/contentful/app/preview_password.rb +19 -0
  19. data/app/models/wcc/contentful/app/contact_form_submission.rb +9 -0
  20. data/app/models/wcc/contentful/app/custom_markdown_render.rb +43 -0
  21. data/app/views/components/_faq_row.html.erb +21 -0
  22. data/app/views/components/_menu-item.html.erb +41 -0
  23. data/app/views/components/_other-menu-item.html.erb +4 -0
  24. data/app/views/components/_section.html.erb +11 -0
  25. data/app/views/layouts/mailer.html.erb +9 -0
  26. data/app/views/layouts/mailer.text.erb +1 -0
  27. data/app/views/pages/show.html.erb +4 -0
  28. data/app/views/sections/_block_text.html.erb +5 -0
  29. data/app/views/sections/_code_widget.html.erb +3 -0
  30. data/app/views/sections/_contact_form.html.erb +53 -0
  31. data/app/views/sections/_faq.html.erb +36 -0
  32. data/app/views/sections/_http_error.html.erb +13 -0
  33. data/app/views/sections/_marquee_text.html.erb +12 -0
  34. data/app/views/sections/_testimonials.html.erb +38 -0
  35. data/app/views/sections/_video.html.erb +12 -0
  36. data/app/views/sections/_video_highlight.html.erb +18 -0
  37. data/app/views/wcc/contentful/app/contact_mailer/contact_form_email.html.erb +7 -0
  38. data/bin/rails +14 -0
  39. data/config/routes.rb +7 -0
  40. data/doc +1 -0
  41. data/lib/generators/wcc/model_generator.rb +16 -6
  42. data/lib/generators/wcc/templates/menu/migrations/generated_add_menus.ts +285 -0
  43. data/lib/generators/wcc/templates/menu/models/dropdown_menu.rb +19 -0
  44. data/lib/generators/wcc/templates/menu/models/menu.rb +0 -4
  45. data/lib/generators/wcc/templates/menu/models/menu_button.rb +0 -4
  46. data/lib/generators/wcc/templates/page/migrations/generated_add_pages.ts +147 -0
  47. data/lib/generators/wcc/templates/page/models/page.rb +0 -4
  48. data/lib/generators/wcc/templates/page/models/redirect.rb +19 -0
  49. data/lib/generators/wcc/templates/section-block-text/migrations/generated_add_section-block-texts.ts +40 -0
  50. data/lib/generators/wcc/templates/section-block-text/models/section_block_text.rb +19 -0
  51. data/lib/generators/wcc/templates/section-code-widget/migrations/generated_add_section-code-widget.ts +90 -0
  52. data/lib/generators/wcc/templates/section-code-widget/models/section_code_widget.rb +23 -0
  53. data/lib/generators/wcc/templates/section-contact-form/migrations/create_wcc_contentful_app_contact_form_submissions.rb +12 -0
  54. data/lib/generators/wcc/templates/section-contact-form/migrations/generated_add_section-contact-forms.ts +147 -0
  55. data/lib/generators/wcc/templates/section-contact-form/models/form_field.rb +19 -0
  56. data/lib/generators/wcc/templates/section-contact-form/models/section_contact_form.rb +19 -0
  57. data/lib/generators/wcc/templates/section-faq/migrations/generated_add_section-faqs.ts +148 -0
  58. data/lib/generators/wcc/templates/section-faq/models/section_faq.rb +19 -0
  59. data/lib/generators/wcc/templates/section-http-error/migrations/generated_add_section-http-errors.ts +87 -0
  60. data/lib/generators/wcc/templates/section-http-error/models/section_http_error.rb +19 -0
  61. data/lib/generators/wcc/templates/section-marquee-text/migrations/generated_add_section-marquee-texts.ts +64 -0
  62. data/lib/generators/wcc/templates/section-marquee-text/models/section_marquee_text.rb +19 -0
  63. data/lib/generators/wcc/templates/section-testimonial/migrations/generated_add_section-testimonials.ts +182 -0
  64. data/lib/generators/wcc/templates/section-testimonial/models/section_testimonial.rb +19 -0
  65. data/lib/generators/wcc/templates/section-video-highlight/migrations/generated_add_section-video-highlights.ts +80 -0
  66. data/lib/generators/wcc/templates/section-video-highlight/models/section_video_highlight.rb +19 -0
  67. data/lib/generators/wcc/templates/section-video/migrations/generated_add_section-videos.ts +77 -0
  68. data/lib/generators/wcc/templates/section-video/models/section_video.rb +19 -0
  69. data/lib/generators/wcc/templates/site-config/migrations/generated_add_site-configs.ts +97 -0
  70. data/lib/generators/wcc/templates/site-config/models/site_config.rb +19 -0
  71. data/lib/generators/wcc/templates/wcc_contentful.rb +1 -1
  72. data/lib/wcc/contentful/app.rb +46 -3
  73. data/lib/wcc/contentful/app/configuration.rb +60 -0
  74. data/lib/wcc/contentful/app/engine.rb +15 -0
  75. data/lib/wcc/contentful/app/exceptions.rb +9 -0
  76. data/lib/wcc/contentful/app/rails.rb +6 -0
  77. data/lib/wcc/contentful/app/version.rb +1 -1
  78. data/lib/wcc/contentful/model/dropdown_menu.rb +0 -3
  79. data/lib/wcc/contentful/model/form_field.rb +4 -0
  80. data/lib/wcc/contentful/model/menu.rb +0 -2
  81. data/lib/wcc/contentful/model/menu_button.rb +18 -5
  82. data/lib/wcc/contentful/model/page.rb +0 -4
  83. data/lib/wcc/contentful/model/redirect.rb +21 -11
  84. data/lib/wcc/contentful/model/section_contact_form.rb +42 -0
  85. data/lib/wcc/contentful/model/site_config.rb +7 -0
  86. data/wcc-contentful-app.gemspec +23 -15
  87. metadata +169 -106
  88. data/Gemfile +0 -8
  89. data/lib/generators/wcc/templates/menu/generated_add_menus.ts +0 -192
  90. data/lib/generators/wcc/templates/page/generated_add_pages.ts +0 -50
  91. data/lib/tasks/validate.rake +0 -20
  92. data/lib/wcc/contentful/app/model_validators.rb +0 -121
  93. data/lib/wcc/contentful/app/model_validators/dsl.rb +0 -166
  94. data/lib/wcc/contentful/ext/model.rb +0 -5
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WCC::Contentful::App
4
+ class Engine < ::Rails::Engine
5
+ config.assets.precompile += %w[*.jpg *.png *.svg]
6
+ config.assets.precompile +=
7
+ [
8
+ 'config/manifest.js'
9
+ ].map { |f| File.expand_path("../../../../../app/assets/#{f}", __FILE__) }
10
+
11
+ config.generators do |g|
12
+ g.test_framework :rspec, fixture: false
13
+ end
14
+ end
15
+ end
@@ -33,4 +33,13 @@ module WCC::Contentful::App
33
33
  ret.flatten(1)
34
34
  end
35
35
  end
36
+
37
+ class PageNotFoundError < StandardError
38
+ attr_reader :slug
39
+
40
+ def initialize(slug)
41
+ super("Page not found: '#{slug}'")
42
+ @slug = slug
43
+ end
44
+ end
36
45
  end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'wcc/rails'
4
+ require 'wcc/contentful/rails'
5
+ require 'wcc/contentful/app'
6
+ require 'wcc/contentful/app/engine'
@@ -3,7 +3,7 @@
3
3
  module WCC
4
4
  module Contentful
5
5
  module App
6
- VERSION = '0.4.0-alpha'
6
+ VERSION = '1.0.0'
7
7
  end
8
8
  end
9
9
  end
@@ -1,7 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WCC::Contentful::Model::DropdownMenu < WCC::Contentful::Model
4
- validate_field :name, :String
5
- validate_field :label, :Link, link_to: 'menuButton'
6
- validate_field :items, :Array, link_to: 'menuButton'
7
4
  end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WCC::Contentful::Model::FormField < WCC::Contentful::Model
4
+ end
@@ -1,6 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WCC::Contentful::Model::Menu < WCC::Contentful::Model
4
- validate_field :name, :String
5
- validate_field :items, :Array, link_to: %w[dropdownMenu menuButton]
6
4
  end
@@ -1,16 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WCC::Contentful::Model::MenuButton < WCC::Contentful::Model
4
- validate_field :text, :String, :required
5
- validate_field :icon, :Asset, :optional
6
- validate_field :external_link, :String, :optional
7
- validate_field :link, :Link, :optional, link_to: 'page'
4
+ def external_uri
5
+ @external_url ||= URI(external_link) if external_link.present?
6
+ end
7
+
8
+ # A menu link is external if `external_link` is present and not relative.
9
+ def external?
10
+ external_uri&.scheme.present?
11
+ end
8
12
 
9
13
  # Gets either the external link or the slug from the referenced page.
10
14
  # Example usage: `<%= link_to button.title, button.href %>`
11
15
  def href
12
16
  return external_link if external_link
13
17
 
14
- link&.try(:slug) || link&.try(:url)
18
+ url = (link&.try(:slug) || link&.try(:url))
19
+ return url unless fragment.present?
20
+
21
+ url = URI(url || '')
22
+ url.fragment = fragment
23
+ url.to_s
24
+ end
25
+
26
+ def fragment
27
+ WCC::Contentful::App::SectionHelper.section_id(section_link) if section_link
15
28
  end
16
29
  end
@@ -1,8 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WCC::Contentful::Model::Page < WCC::Contentful::Model
4
- validate_field :title, :String
5
- validate_field :slug, :String
6
- validate_field :subpages, :Array, link_to: %w[page]
7
- validate_field :sections, :Array, link_to: /^section/
8
4
  end
@@ -1,19 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WCC::Contentful::Model::Redirect < WCC::Contentful::Model
4
+ def external_uri
5
+ @external_uri ||= URI(external_link) if external_link.present?
6
+ end
7
+
8
+ # A menu link is external if `external_link` is present and not relative.
9
+ def external?
10
+ external_uri&.scheme.present?
11
+ end
12
+
13
+ # Gets either the external link or the slug from the referenced page.
14
+ # Example usage: `redirect_to redirect.href`
4
15
  def href
5
- if !url.nil?
6
- url
7
- elsif valid_page_reference?(pageReference)
8
- "/#{pageReference.url}"
9
- end
16
+ return external_link if external_link
17
+
18
+ url = (link&.try(:slug) || link&.try(:url))
19
+ return url unless fragment.present?
20
+
21
+ url = URI(url || '')
22
+ url.fragment = fragment
23
+ url.to_s
10
24
  end
11
25
 
12
- def valid_page_reference?(page_ref)
13
- if !page_ref.nil? && !defined?(page_ref.url).nil?
14
- true
15
- else
16
- false
17
- end
26
+ def fragment
27
+ WCC::Contentful::App::SectionHelper.section_id(section_link) if section_link
18
28
  end
19
29
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WCC::Contentful::Model::SectionContactForm < WCC::Contentful::Model
4
+ def send_email(data)
5
+ save_contact_form(data)
6
+
7
+ ::WCC::Contentful::App::ContactMailer.contact_form_email(data[:notification_email], data).deliver
8
+ end
9
+
10
+ def page
11
+ ::WCC::Contentful::Model::Page.find_by(sections: { id: id })
12
+ end
13
+
14
+ def to_address(email_object_id: nil)
15
+ return email_address(email_model(email_object_id)) if email_object_id.present?
16
+
17
+ notification_email
18
+ end
19
+
20
+ private
21
+
22
+ def email_address(entry)
23
+ return entry.email if defined?(entry.email)
24
+
25
+ raise ArgumentError, 'email is not defined on this entry'
26
+ end
27
+
28
+ def email_model(email_object_id)
29
+ raise ArgumentError, 'contentful entry does not exist' unless
30
+ entry = ::WCC::Contentful::Model.find(email_object_id, options: sys.context.to_h)
31
+
32
+ entry
33
+ end
34
+
35
+ def save_contact_form(data)
36
+ return unless ::WCC::Contentful::App.db_connected?
37
+ return unless ::ActiveRecord::Base.connection
38
+ .table_exists? 'wcc_contentful_app_contact_form_submissions'
39
+
40
+ ::WCC::Contentful::App::ContactFormSubmission.create!(form_id: id, data: data)
41
+ end
42
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WCC::Contentful::Model::SiteConfig < WCC::Contentful::Model
4
+ def self.instance(preview = false)
5
+ find_by(foreign_key: 'default', options: { include: 4, preview: preview })
6
+ end
7
+ end
@@ -4,6 +4,9 @@ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'wcc/contentful/app/version'
6
6
 
7
+ doc_version = Gem::Version.new(WCC::Contentful::App::VERSION).release.to_s.sub(/\.\d+$/, '')
8
+
9
+ # rubocop:disable Metrics/LineLength
7
10
  Gem::Specification.new do |spec|
8
11
  spec.name = 'wcc-contentful-app'
9
12
  spec.version = WCC::Contentful::App::VERSION
@@ -12,9 +15,13 @@ Gem::Specification.new do |spec|
12
15
 
13
16
  spec.summary = File.readlines(File.expand_path('README.md', __dir__)).join
14
17
  spec.description = 'Models, Controllers, and Views common to Watermark Church apps'
15
- spec.homepage = 'https://github.com/watermarkchurch/wcc-contentful/wcc-cms'
18
+ spec.homepage = 'https://github.com/watermarkchurch/wcc-contentful'
16
19
  spec.license = 'MIT'
17
20
 
21
+ spec.metadata = {
22
+ 'documentation_uri' => "https://watermarkchurch.github.io/wcc-contentful/#{doc_version}/wcc-contentful-app"
23
+ }
24
+
18
25
  spec.required_ruby_version = '>= 2.3'
19
26
 
20
27
  spec.files =
@@ -24,36 +31,37 @@ Gem::Specification.new do |spec|
24
31
 
25
32
  spec.require_paths = ['lib']
26
33
 
34
+ spec.add_development_dependency 'capybara', '~> 3.9'
27
35
  spec.add_development_dependency 'coveralls'
28
36
  spec.add_development_dependency 'dotenv', '~> 2.2'
37
+ spec.add_development_dependency 'erb_lint', '~> 0.0.26'
29
38
  spec.add_development_dependency 'httplog', '~> 1.0'
30
- spec.add_development_dependency 'rake', '~> 10.0'
39
+ spec.add_development_dependency 'rails-controller-testing', '~> 1.0'
40
+ spec.add_development_dependency 'rake', '~> 13.0'
31
41
  spec.add_development_dependency 'rspec', '~> 3.0'
32
- spec.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
33
- spec.add_development_dependency 'rubocop', '~> 0.52'
42
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
43
+ spec.add_development_dependency 'rubocop', '0.68'
34
44
  spec.add_development_dependency 'simplecov', '~> 0.16.1'
35
- spec.add_development_dependency 'vcr', '~> 4.0'
45
+ spec.add_development_dependency 'vcr', '~> 5.0'
36
46
  spec.add_development_dependency 'webmock', '~> 3.0'
37
47
 
38
48
  # Makes testing easy via `bundle exec guard`
39
49
  spec.add_development_dependency 'guard', '~> 2.14'
40
50
  spec.add_development_dependency 'guard-rspec', '~> 4.7'
41
51
  spec.add_development_dependency 'guard-rubocop', '~> 1.3.0'
52
+ spec.add_development_dependency 'guard-shell', '~> 0.7.1'
42
53
 
43
54
  # for generators
44
55
  spec.add_development_dependency 'generator_spec', '~> 0.9.4'
45
- spec.add_development_dependency 'rails', '~> 5.1'
56
+
57
+ # wcc-contentful-app needs rails to function, so require it for specs.
58
+ spec.add_development_dependency 'rails', '~> 5'
46
59
  spec.add_development_dependency 'rspec-rails', '~> 3.7'
47
- spec.add_development_dependency 'sqlite3'
60
+ spec.add_development_dependency 'sqlite3', '~> 1.3.6'
48
61
  spec.add_development_dependency 'timecop', '~> 0.9.1'
62
+ spec.add_development_dependency 'typhoeus', '~> 1.4.0'
49
63
 
50
- # optional dependencies
51
- spec.add_development_dependency 'contentful', '2.6.0'
52
- spec.add_development_dependency 'contentful-management', '2.0.2'
53
- spec.add_development_dependency 'graphql', '~> 1.7'
54
- spec.add_development_dependency 'http', '> 1.0', '< 3.0'
55
- spec.add_development_dependency 'pg', '~> 1.0'
56
- spec.add_development_dependency 'typhoeus', '~> 1.3'
57
-
64
+ spec.add_dependency 'redcarpet', '~> 3.4'
58
65
  spec.add_dependency 'wcc-contentful', "~> #{WCC::Contentful::App::VERSION}"
59
66
  end
67
+ # rubocop:enable Metrics/LineLength
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wcc-contentful-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.pre.alpha
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-17 00:00:00.000000000 Z
11
+ date: 2021-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: capybara
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.9'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: coveralls
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: erb_lint
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.26
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.26
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: httplog
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +80,34 @@ dependencies:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
82
  version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails-controller-testing
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: rake
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - "~>"
60
102
  - !ruby/object:Gem::Version
61
- version: '10.0'
103
+ version: '13.0'
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
- version: '10.0'
110
+ version: '13.0'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: rspec
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +128,28 @@ dependencies:
86
128
  requirements:
87
129
  - - "~>"
88
130
  - !ruby/object:Gem::Version
89
- version: 0.3.0
131
+ version: 0.4.1
90
132
  type: :development
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - "~>"
95
137
  - !ruby/object:Gem::Version
96
- version: 0.3.0
138
+ version: 0.4.1
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: rubocop
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
- - - "~>"
143
+ - - '='
102
144
  - !ruby/object:Gem::Version
103
- version: '0.52'
145
+ version: '0.68'
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
- - - "~>"
150
+ - - '='
109
151
  - !ruby/object:Gem::Version
110
- version: '0.52'
152
+ version: '0.68'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: simplecov
113
155
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +170,14 @@ dependencies:
128
170
  requirements:
129
171
  - - "~>"
130
172
  - !ruby/object:Gem::Version
131
- version: '4.0'
173
+ version: '5.0'
132
174
  type: :development
133
175
  prerelease: false
134
176
  version_requirements: !ruby/object:Gem::Requirement
135
177
  requirements:
136
178
  - - "~>"
137
179
  - !ruby/object:Gem::Version
138
- version: '4.0'
180
+ version: '5.0'
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: webmock
141
183
  requirement: !ruby/object:Gem::Requirement
@@ -193,179 +235,131 @@ dependencies:
193
235
  - !ruby/object:Gem::Version
194
236
  version: 1.3.0
195
237
  - !ruby/object:Gem::Dependency
196
- name: generator_spec
238
+ name: guard-shell
197
239
  requirement: !ruby/object:Gem::Requirement
198
240
  requirements:
199
241
  - - "~>"
200
242
  - !ruby/object:Gem::Version
201
- version: 0.9.4
243
+ version: 0.7.1
202
244
  type: :development
203
245
  prerelease: false
204
246
  version_requirements: !ruby/object:Gem::Requirement
205
247
  requirements:
206
248
  - - "~>"
207
249
  - !ruby/object:Gem::Version
208
- version: 0.9.4
250
+ version: 0.7.1
209
251
  - !ruby/object:Gem::Dependency
210
- name: rails
252
+ name: generator_spec
211
253
  requirement: !ruby/object:Gem::Requirement
212
254
  requirements:
213
255
  - - "~>"
214
256
  - !ruby/object:Gem::Version
215
- version: '5.1'
257
+ version: 0.9.4
216
258
  type: :development
217
259
  prerelease: false
218
260
  version_requirements: !ruby/object:Gem::Requirement
219
261
  requirements:
220
262
  - - "~>"
221
263
  - !ruby/object:Gem::Version
222
- version: '5.1'
264
+ version: 0.9.4
223
265
  - !ruby/object:Gem::Dependency
224
- name: rspec-rails
266
+ name: rails
225
267
  requirement: !ruby/object:Gem::Requirement
226
268
  requirements:
227
269
  - - "~>"
228
270
  - !ruby/object:Gem::Version
229
- version: '3.7'
271
+ version: '5'
230
272
  type: :development
231
273
  prerelease: false
232
274
  version_requirements: !ruby/object:Gem::Requirement
233
275
  requirements:
234
276
  - - "~>"
235
277
  - !ruby/object:Gem::Version
236
- version: '3.7'
278
+ version: '5'
237
279
  - !ruby/object:Gem::Dependency
238
- name: sqlite3
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: timecop
280
+ name: rspec-rails
253
281
  requirement: !ruby/object:Gem::Requirement
254
282
  requirements:
255
283
  - - "~>"
256
284
  - !ruby/object:Gem::Version
257
- version: 0.9.1
285
+ version: '3.7'
258
286
  type: :development
259
287
  prerelease: false
260
288
  version_requirements: !ruby/object:Gem::Requirement
261
289
  requirements:
262
290
  - - "~>"
263
291
  - !ruby/object:Gem::Version
264
- version: 0.9.1
265
- - !ruby/object:Gem::Dependency
266
- name: contentful
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - '='
270
- - !ruby/object:Gem::Version
271
- version: 2.6.0
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - '='
277
- - !ruby/object:Gem::Version
278
- version: 2.6.0
279
- - !ruby/object:Gem::Dependency
280
- name: contentful-management
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - '='
284
- - !ruby/object:Gem::Version
285
- version: 2.0.2
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - '='
291
- - !ruby/object:Gem::Version
292
- version: 2.0.2
292
+ version: '3.7'
293
293
  - !ruby/object:Gem::Dependency
294
- name: graphql
294
+ name: sqlite3
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '1.7'
299
+ version: 1.3.6
300
300
  type: :development
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '1.7'
306
+ version: 1.3.6
307
307
  - !ruby/object:Gem::Dependency
308
- name: http
308
+ name: timecop
309
309
  requirement: !ruby/object:Gem::Requirement
310
310
  requirements:
311
- - - ">"
312
- - !ruby/object:Gem::Version
313
- version: '1.0'
314
- - - "<"
311
+ - - "~>"
315
312
  - !ruby/object:Gem::Version
316
- version: '3.0'
313
+ version: 0.9.1
317
314
  type: :development
318
315
  prerelease: false
319
316
  version_requirements: !ruby/object:Gem::Requirement
320
317
  requirements:
321
- - - ">"
322
- - !ruby/object:Gem::Version
323
- version: '1.0'
324
- - - "<"
318
+ - - "~>"
325
319
  - !ruby/object:Gem::Version
326
- version: '3.0'
320
+ version: 0.9.1
327
321
  - !ruby/object:Gem::Dependency
328
- name: pg
322
+ name: typhoeus
329
323
  requirement: !ruby/object:Gem::Requirement
330
324
  requirements:
331
325
  - - "~>"
332
326
  - !ruby/object:Gem::Version
333
- version: '1.0'
327
+ version: 1.4.0
334
328
  type: :development
335
329
  prerelease: false
336
330
  version_requirements: !ruby/object:Gem::Requirement
337
331
  requirements:
338
332
  - - "~>"
339
333
  - !ruby/object:Gem::Version
340
- version: '1.0'
334
+ version: 1.4.0
341
335
  - !ruby/object:Gem::Dependency
342
- name: typhoeus
336
+ name: redcarpet
343
337
  requirement: !ruby/object:Gem::Requirement
344
338
  requirements:
345
339
  - - "~>"
346
340
  - !ruby/object:Gem::Version
347
- version: '1.3'
348
- type: :development
341
+ version: '3.4'
342
+ type: :runtime
349
343
  prerelease: false
350
344
  version_requirements: !ruby/object:Gem::Requirement
351
345
  requirements:
352
346
  - - "~>"
353
347
  - !ruby/object:Gem::Version
354
- version: '1.3'
348
+ version: '3.4'
355
349
  - !ruby/object:Gem::Dependency
356
350
  name: wcc-contentful
357
351
  requirement: !ruby/object:Gem::Requirement
358
352
  requirements:
359
353
  - - "~>"
360
354
  - !ruby/object:Gem::Version
361
- version: 0.4.0.pre.alpha
355
+ version: 1.0.0
362
356
  type: :runtime
363
357
  prerelease: false
364
358
  version_requirements: !ruby/object:Gem::Requirement
365
359
  requirements:
366
360
  - - "~>"
367
361
  - !ruby/object:Gem::Version
368
- version: 0.4.0.pre.alpha
362
+ version: 1.0.0
369
363
  description: Models, Controllers, and Views common to Watermark Church apps
370
364
  email:
371
365
  - dev@watermark.org
@@ -374,39 +368,102 @@ extensions: []
374
368
  extra_rdoc_files: []
375
369
  files:
376
370
  - ".rspec"
377
- - Gemfile
378
371
  - Guardfile
379
372
  - README.md
373
+ - Rakefile
374
+ - app/assets/config/manifest.js
375
+ - app/assets/images/down-arrow-primary.svg
376
+ - app/assets/images/up-arrow-primary.svg
377
+ - app/assets/javascripts/wcc/contentful/app/contact-form.js
378
+ - app/assets/javascripts/wcc/contentful/app/index.js
379
+ - app/assets/stylesheets/_wcc-contentful-app.scss
380
+ - app/assets/stylesheets/components/_menu-item.scss
381
+ - app/assets/stylesheets/sections/_faq.scss
382
+ - app/controllers/wcc/contentful/app/contact_form_controller.rb
383
+ - app/controllers/wcc/contentful/app/pages_controller.rb
384
+ - app/helpers/wcc/contentful/app/menu_helper.rb
385
+ - app/helpers/wcc/contentful/app/section_helper.rb
386
+ - app/mailers/wcc/contentful/app/contact_mailer.rb
387
+ - app/models/concerns/wcc/contentful/app/preview_password.rb
388
+ - app/models/wcc/contentful/app/contact_form_submission.rb
389
+ - app/models/wcc/contentful/app/custom_markdown_render.rb
390
+ - app/views/components/_faq_row.html.erb
391
+ - app/views/components/_menu-item.html.erb
392
+ - app/views/components/_other-menu-item.html.erb
393
+ - app/views/components/_section.html.erb
394
+ - app/views/layouts/mailer.html.erb
395
+ - app/views/layouts/mailer.text.erb
396
+ - app/views/pages/show.html.erb
397
+ - app/views/sections/_block_text.html.erb
398
+ - app/views/sections/_code_widget.html.erb
399
+ - app/views/sections/_contact_form.html.erb
400
+ - app/views/sections/_faq.html.erb
401
+ - app/views/sections/_http_error.html.erb
402
+ - app/views/sections/_marquee_text.html.erb
403
+ - app/views/sections/_testimonials.html.erb
404
+ - app/views/sections/_video.html.erb
405
+ - app/views/sections/_video_highlight.html.erb
406
+ - app/views/wcc/contentful/app/contact_mailer/contact_form_email.html.erb
407
+ - bin/rails
408
+ - config/routes.rb
409
+ - doc
380
410
  - lib/generators/wcc/USAGE
381
411
  - lib/generators/wcc/model_generator.rb
382
412
  - lib/generators/wcc/templates/.keep
383
413
  - lib/generators/wcc/templates/Procfile
384
414
  - lib/generators/wcc/templates/contentful_shell_wrapper
385
- - lib/generators/wcc/templates/menu/generated_add_menus.ts
415
+ - lib/generators/wcc/templates/menu/migrations/generated_add_menus.ts
416
+ - lib/generators/wcc/templates/menu/models/dropdown_menu.rb
386
417
  - lib/generators/wcc/templates/menu/models/menu.rb
387
418
  - lib/generators/wcc/templates/menu/models/menu_button.rb
388
- - lib/generators/wcc/templates/page/generated_add_pages.ts
419
+ - lib/generators/wcc/templates/page/migrations/generated_add_pages.ts
389
420
  - lib/generators/wcc/templates/page/models/page.rb
421
+ - lib/generators/wcc/templates/page/models/redirect.rb
390
422
  - lib/generators/wcc/templates/release
423
+ - lib/generators/wcc/templates/section-block-text/migrations/generated_add_section-block-texts.ts
424
+ - lib/generators/wcc/templates/section-block-text/models/section_block_text.rb
425
+ - lib/generators/wcc/templates/section-code-widget/migrations/generated_add_section-code-widget.ts
426
+ - lib/generators/wcc/templates/section-code-widget/models/section_code_widget.rb
427
+ - lib/generators/wcc/templates/section-contact-form/migrations/create_wcc_contentful_app_contact_form_submissions.rb
428
+ - lib/generators/wcc/templates/section-contact-form/migrations/generated_add_section-contact-forms.ts
429
+ - lib/generators/wcc/templates/section-contact-form/models/form_field.rb
430
+ - lib/generators/wcc/templates/section-contact-form/models/section_contact_form.rb
431
+ - lib/generators/wcc/templates/section-faq/migrations/generated_add_section-faqs.ts
432
+ - lib/generators/wcc/templates/section-faq/models/section_faq.rb
433
+ - lib/generators/wcc/templates/section-http-error/migrations/generated_add_section-http-errors.ts
434
+ - lib/generators/wcc/templates/section-http-error/models/section_http_error.rb
435
+ - lib/generators/wcc/templates/section-marquee-text/migrations/generated_add_section-marquee-texts.ts
436
+ - lib/generators/wcc/templates/section-marquee-text/models/section_marquee_text.rb
437
+ - lib/generators/wcc/templates/section-testimonial/migrations/generated_add_section-testimonials.ts
438
+ - lib/generators/wcc/templates/section-testimonial/models/section_testimonial.rb
439
+ - lib/generators/wcc/templates/section-video-highlight/migrations/generated_add_section-video-highlights.ts
440
+ - lib/generators/wcc/templates/section-video-highlight/models/section_video_highlight.rb
441
+ - lib/generators/wcc/templates/section-video/migrations/generated_add_section-videos.ts
442
+ - lib/generators/wcc/templates/section-video/models/section_video.rb
443
+ - lib/generators/wcc/templates/site-config/migrations/generated_add_site-configs.ts
444
+ - lib/generators/wcc/templates/site-config/models/site_config.rb
391
445
  - lib/generators/wcc/templates/wcc_contentful.rb
392
- - lib/tasks/validate.rake
393
446
  - lib/wcc/contentful/app.rb
447
+ - lib/wcc/contentful/app/configuration.rb
448
+ - lib/wcc/contentful/app/engine.rb
394
449
  - lib/wcc/contentful/app/exceptions.rb
395
- - lib/wcc/contentful/app/model_validators.rb
396
- - lib/wcc/contentful/app/model_validators/dsl.rb
450
+ - lib/wcc/contentful/app/rails.rb
397
451
  - lib/wcc/contentful/app/version.rb
398
- - lib/wcc/contentful/ext/model.rb
399
452
  - lib/wcc/contentful/model/dropdown_menu.rb
453
+ - lib/wcc/contentful/model/form_field.rb
400
454
  - lib/wcc/contentful/model/menu.rb
401
455
  - lib/wcc/contentful/model/menu_button.rb
402
456
  - lib/wcc/contentful/model/page.rb
403
457
  - lib/wcc/contentful/model/redirect.rb
458
+ - lib/wcc/contentful/model/section_contact_form.rb
459
+ - lib/wcc/contentful/model/site_config.rb
404
460
  - wcc-contentful-app.gemspec
405
- homepage: https://github.com/watermarkchurch/wcc-contentful/wcc-cms
461
+ homepage: https://github.com/watermarkchurch/wcc-contentful
406
462
  licenses:
407
463
  - MIT
408
- metadata: {}
409
- post_install_message:
464
+ metadata:
465
+ documentation_uri: https://watermarkchurch.github.io/wcc-contentful/1.0/wcc-contentful-app
466
+ post_install_message:
410
467
  rdoc_options: []
411
468
  require_paths:
412
469
  - lib
@@ -417,13 +474,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
417
474
  version: '2.3'
418
475
  required_rubygems_version: !ruby/object:Gem::Requirement
419
476
  requirements:
420
- - - ">"
477
+ - - ">="
421
478
  - !ruby/object:Gem::Version
422
- version: 1.3.1
479
+ version: '0'
423
480
  requirements: []
424
- rubyforge_project:
425
- rubygems_version: 2.6.11
426
- signing_key:
481
+ rubyforge_project:
482
+ rubygems_version: 2.7.6.2
483
+ signing_key:
427
484
  specification_version: 4
428
- summary: ''
485
+ summary: "[![Gem Version](https://badge.fury.io/rb/wcc-contentful-app.svg)](https://rubygems.org/gems/wcc-contentful-app)
486
+ [![Build Status](https://travis-ci.org/watermarkchurch/wcc-contentful.svg?branch=master)](https://travis-ci.org/watermarkchurch/wcc-contentful)
487
+ [![Coverage Status](https://coveralls.io/repos/github/watermarkchurch/wcc-contentful/badge.svg?branch=master)](https://coveralls.io/github/watermarkchurch/wcc-contentful?branch=master)
488
+ \ # WCC::Contentful::App This gem specifies default models, controllers, views,
489
+ and javascripts that get installed into all Watermarkchurch apps that use contentful.
490
+ \ It is a highly opinionated starting point for a very flexible site design using
491
+ Contentful. You probably should not use this."
429
492
  test_files: []