solidus_content 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 (89) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +72 -0
  3. data/.gem_release.yml +5 -0
  4. data/.github/stale.yml +17 -0
  5. data/.gitignore +20 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +38 -0
  8. data/Gemfile +38 -0
  9. data/LICENSE +26 -0
  10. data/README.md +439 -0
  11. data/Rakefile +6 -0
  12. data/app/assets/javascripts/spree/backend/solidus_content.js +2 -0
  13. data/app/assets/javascripts/spree/frontend/solidus_content.js +2 -0
  14. data/app/assets/stylesheets/spree/backend/solidus_content.css +4 -0
  15. data/app/assets/stylesheets/spree/frontend/solidus_content.css +4 -0
  16. data/app/controllers/solidus_content/resource_controller.rb +35 -0
  17. data/app/controllers/spree/admin/entries_controller.rb +25 -0
  18. data/app/controllers/spree/admin/entry_types_controller.rb +25 -0
  19. data/app/controllers/spree/solidus_content_controller.rb +13 -0
  20. data/app/models/solidus_content/application_record.rb +5 -0
  21. data/app/models/solidus_content/entry.rb +44 -0
  22. data/app/models/solidus_content/entry_type.rb +55 -0
  23. data/app/models/solidus_content/provider/fields.rb +20 -0
  24. data/app/views/spree/admin/entries/_form.html.erb +31 -0
  25. data/app/views/spree/admin/entries/_options_form.html.erb +18 -0
  26. data/app/views/spree/admin/entries/edit.html.erb +16 -0
  27. data/app/views/spree/admin/entries/index.html.erb +54 -0
  28. data/app/views/spree/admin/entries/new.html.erb +21 -0
  29. data/app/views/spree/admin/entry_types/_form.html.erb +30 -0
  30. data/app/views/spree/admin/entry_types/_options_form.html.erb +16 -0
  31. data/app/views/spree/admin/entry_types/edit.html.erb +16 -0
  32. data/app/views/spree/admin/entry_types/index.html.erb +54 -0
  33. data/app/views/spree/admin/entry_types/new.html.erb +21 -0
  34. data/app/views/spree/admin/shared/_solidus_content_sub_menu.html.erb +9 -0
  35. data/bin/console +17 -0
  36. data/bin/rails +7 -0
  37. data/bin/rails-engine +13 -0
  38. data/bin/rails-sandbox +16 -0
  39. data/bin/rake +7 -0
  40. data/bin/rspec +7 -0
  41. data/bin/sandbox +84 -0
  42. data/bin/setup +8 -0
  43. data/config/initializers/spree.rb +12 -0
  44. data/config/locales/en.yml +51 -0
  45. data/config/routes.rb +14 -0
  46. data/db/migrate/20200207135842_create_solidus_content_entries.rb +11 -0
  47. data/db/migrate/20200306110114_create_solidus_content_entry_types.rb +12 -0
  48. data/lib/generators/solidus_content/install/install_generator.rb +36 -0
  49. data/lib/generators/solidus_content/install/templates/initializer.rb +20 -0
  50. data/lib/solidus_content.rb +10 -0
  51. data/lib/solidus_content/active_record.rb +7 -0
  52. data/lib/solidus_content/configuration.rb +38 -0
  53. data/lib/solidus_content/engine.rb +19 -0
  54. data/lib/solidus_content/factories.rb +13 -0
  55. data/lib/solidus_content/providers.rb +23 -0
  56. data/lib/solidus_content/providers/contentful.rb +36 -0
  57. data/lib/solidus_content/providers/json.rb +27 -0
  58. data/lib/solidus_content/providers/prismic.rb +36 -0
  59. data/lib/solidus_content/providers/raw.rb +22 -0
  60. data/lib/solidus_content/providers/solidus_static_content.rb +23 -0
  61. data/lib/solidus_content/providers/yaml.rb +33 -0
  62. data/lib/solidus_content/version.rb +5 -0
  63. data/solidus_content.gemspec +36 -0
  64. data/spec/features/admin/content/create_entry_spec.rb +36 -0
  65. data/spec/features/admin/content/create_entry_type_spec.rb +36 -0
  66. data/spec/features/admin/content/delete_entry_spec.rb +20 -0
  67. data/spec/features/admin/content/delete_entry_type_spec.rb +20 -0
  68. data/spec/features/admin/content/edit_entry_spec.rb +45 -0
  69. data/spec/features/admin/content/edit_entry_type_spec.rb +44 -0
  70. data/spec/features/admin/content/list_entries_spec.rb +33 -0
  71. data/spec/features/admin/content/list_entry_types_spec.rb +33 -0
  72. data/spec/features/admin/sidebar_spec.rb +19 -0
  73. data/spec/features/render_content_with_views_spec.rb +41 -0
  74. data/spec/fixtures/content/example.json +1 -0
  75. data/spec/fixtures/content/example.yaml +1 -0
  76. data/spec/fixtures/content/example.yml +1 -0
  77. data/spec/fixtures/content/example_2.yaml +1 -0
  78. data/spec/models/solidus_content/entry_spec.rb +100 -0
  79. data/spec/models/solidus_content/entry_type_spec.rb +106 -0
  80. data/spec/solidus_content/configuration_spec.rb +37 -0
  81. data/spec/solidus_content/providers/contentful_spec.rb +56 -0
  82. data/spec/solidus_content/providers/json_spec.rb +33 -0
  83. data/spec/solidus_content/providers/prismic_spec.rb +82 -0
  84. data/spec/solidus_content/providers/solidus_static_content_spec.rb +34 -0
  85. data/spec/solidus_content/providers/yaml_spec.rb +51 -0
  86. data/spec/solidus_content_spec.rb +23 -0
  87. data/spec/spec_helper.rb +32 -0
  88. data/spec/support/warden.rb +5 -0
  89. metadata +206 -0
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Configuration do
6
+ subject(:configuration) { described_class.new }
7
+
8
+ describe '#providers' do
9
+ context 'without a configuration' do
10
+ it 'is an empty hash' do
11
+ expect(configuration.providers).to eq({})
12
+ end
13
+ end
14
+
15
+ context 'with a configuration' do
16
+ let(:foo_provider) { double(:foo_provider) }
17
+
18
+ before { configuration.providers[:foo] = foo_provider }
19
+
20
+ context 'when asking for an existing configuration' do
21
+ it 'returns the configuration' do
22
+ expect(configuration.providers[:foo]).to eq(foo_provider)
23
+ end
24
+ end
25
+
26
+ context 'when asking for a not existing configuration' do
27
+ it 'returns the configuration' do
28
+ expect { configuration.providers[:bar] }
29
+ .to raise_error(
30
+ SolidusContent::Configuration::UnknownProvider,
31
+ "Can't find a provider for :bar"
32
+ )
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Providers::Contentful do
6
+ describe '.entry_type_fields' do
7
+ subject { described_class.entry_type_fields }
8
+
9
+ it { is_expected.to eq(%i[contentful_space_id contentful_access_token]) }
10
+ end
11
+
12
+ describe '.call' do
13
+ subject do
14
+ described_class.call(
15
+ type_options: {
16
+ contentful_space_id: contentful_space_id,
17
+ contentful_access_token: contentful_access_token
18
+ },
19
+ options: {
20
+ entry_id: entry_id
21
+ }
22
+ )
23
+ end
24
+
25
+ let(:contentful_space_id) { 'contentful_space_id' }
26
+ let(:contentful_access_token) { 'contentful_access_token' }
27
+ let(:entry_id) { 'entry_id' }
28
+
29
+ let(:contentful) { instance_double(Contentful::Client) }
30
+ let(:entry) { instance_double(Contentful::Entry) }
31
+ let(:data) { instance_double(Hash) }
32
+
33
+ before do
34
+ allow(Contentful::Client)
35
+ .to receive(:new)
36
+ .and_return(contentful)
37
+
38
+ allow(contentful)
39
+ .to receive(:entry)
40
+ .and_return(entry)
41
+
42
+ allow(entry).to receive(:fields).and_return(data)
43
+ end
44
+
45
+ it 'returns data using Contentful client' do
46
+ expect(Contentful::Client)
47
+ .to receive(:new)
48
+ .with(space: contentful_space_id, access_token: contentful_access_token)
49
+ .and_return(contentful)
50
+
51
+ expect(contentful).to receive(:entry).with(entry_id).and_return(entry)
52
+
53
+ expect(subject[:data]).to eq(data)
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Providers::JSON do
6
+ describe '.entry_type_fields' do
7
+ subject { described_class.entry_type_fields }
8
+
9
+ it { is_expected.to eq(%i[path]) }
10
+ end
11
+
12
+ context 'with an absolute path' do
13
+ let(:path) { File.absolute_path('content', FIXTURE_PATH) }
14
+
15
+ it 'uses the absolute path as is' do
16
+ expect(described_class.call(
17
+ slug: 'example',
18
+ type_options: { path: path },
19
+ )[:data]).to eq(foo: 'json_bar')
20
+ end
21
+ end
22
+
23
+ context 'with a relative path' do
24
+ before { allow(Rails).to receive(:root).and_return(Pathname(FIXTURE_PATH)) }
25
+
26
+ it 'uses the absolute path as is' do
27
+ expect(described_class.call(
28
+ slug: 'example',
29
+ type_options: { path: 'content' },
30
+ )[:data]).to eq(foo: 'json_bar')
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Providers::Prismic do
6
+ describe '.entry_type_fields' do
7
+ subject { described_class.entry_type_fields }
8
+
9
+ it { is_expected.to eq(%i[api_entry_point api_token]) }
10
+ end
11
+
12
+ describe '.call' do
13
+ subject do
14
+ described_class.call(
15
+ type_options: type_options,
16
+ options: {
17
+ id: id
18
+ }
19
+ )
20
+ end
21
+
22
+ let(:api_entry_point) { 'api_entry_point' }
23
+ let(:id) { 'id' }
24
+
25
+ let(:prismic) { instance_double(Prismic::API) }
26
+ let(:entry) { instance_double(Prismic::Form) }
27
+ let(:data) { instance_double(Hash) }
28
+
29
+ before do
30
+ allow(::Prismic)
31
+ .to receive(:api)
32
+ .and_return(prismic)
33
+
34
+ allow(prismic)
35
+ .to receive(:getByID)
36
+ .and_return(entry)
37
+
38
+ allow(entry).to receive(:fields).and_return(data)
39
+ end
40
+
41
+ context 'when using private repository' do
42
+ let(:api_token) { 'api_token' }
43
+
44
+ let(:type_options) do
45
+ {
46
+ api_entry_point: api_entry_point,
47
+ api_token: api_token,
48
+ }
49
+ end
50
+
51
+ it 'returns data using Prismic client' do
52
+ expect(::Prismic)
53
+ .to receive(:api)
54
+ .with(api_entry_point, api_token)
55
+ .and_return(prismic)
56
+
57
+ expect(prismic).to receive(:getByID).with(id).and_return(entry)
58
+
59
+ expect(subject[:data]).to eq(data)
60
+ end
61
+ end
62
+
63
+ context 'when using public repository' do
64
+ let(:type_options) do
65
+ {
66
+ api_entry_point: api_entry_point
67
+ }
68
+ end
69
+
70
+ it 'returns data using Prismic client' do
71
+ expect(::Prismic)
72
+ .to receive(:api)
73
+ .with(api_entry_point, nil)
74
+ .and_return(prismic)
75
+
76
+ expect(prismic).to receive(:getByID).with(id).and_return(entry)
77
+
78
+ expect(subject[:data]).to eq(data)
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Providers::SolidusStaticContent do
6
+ let(:page) { create(:page) }
7
+
8
+ describe '.entry_type_fields' do
9
+ subject { described_class.entry_type_fields }
10
+
11
+ it { is_expected.to eq(%i[]) }
12
+ end
13
+
14
+ context 'when passing the slug in the options' do
15
+ it 'returns static content data' do
16
+ expect(
17
+ described_class.call(slug: page.slug)[:data]
18
+ ).to eq(page.reload.attributes.symbolize_keys)
19
+ end
20
+ end
21
+
22
+ context 'when using the entry slug' do
23
+ it 'returns static content data' do
24
+ expect(
25
+ described_class.call(
26
+ slug: page.slug,
27
+ options: {
28
+ slug: page.slug
29
+ }
30
+ )[:data]
31
+ ).to eq(page.reload.attributes.symbolize_keys)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent::Providers::YAML do
6
+ let(:path) { File.absolute_path('content', FIXTURE_PATH) }
7
+
8
+ describe '.entry_type_fields' do
9
+ subject { described_class.entry_type_fields }
10
+
11
+ it { is_expected.to eq(%i[path]) }
12
+ end
13
+
14
+ context 'when the yml extension isn\'t available' do
15
+ it 'uses the yaml extension' do
16
+ expect(described_class.call(
17
+ slug: 'example_2',
18
+ type_options: { path: path },
19
+ )[:data]).to eq(foo: 'yaml_bar')
20
+ end
21
+ end
22
+
23
+ context 'when both yml and yaml extensions are available' do
24
+ it 'uses the yml one' do
25
+ expect(described_class.call(
26
+ slug: 'example',
27
+ type_options: { path: path },
28
+ )[:data]).to eq(foo: 'yml_bar')
29
+ end
30
+ end
31
+
32
+ context 'with an absolute path' do
33
+ it 'uses the absolute path as is' do
34
+ expect(described_class.call(
35
+ slug: 'example',
36
+ type_options: { path: path },
37
+ )[:data]).to eq(foo: 'yml_bar')
38
+ end
39
+ end
40
+
41
+ context 'with a relative path' do
42
+ before { allow(Rails).to receive(:root).and_return(Pathname(FIXTURE_PATH)) }
43
+
44
+ it 'uses the absolute path as is' do
45
+ expect(described_class.call(
46
+ slug: 'example',
47
+ type_options: { path: 'content' },
48
+ )[:data]).to eq(foo: 'yml_bar')
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe SolidusContent do
6
+ describe '.table_name_prefix' do
7
+ it 'returns the correct prefix' do
8
+ expect(described_class.table_name_prefix).to eq('solidus_content_')
9
+ end
10
+ end
11
+
12
+ describe '.configure' do
13
+ it 'yields the configuration' do
14
+ expect { |b| described_class.configure(&b) }.to yield_with_args(described_class.config)
15
+ end
16
+ end
17
+
18
+ describe '.config' do
19
+ it 'returns an instance of SolidusContent::Config' do
20
+ expect(described_class.config).to be_instance_of(SolidusContent::Configuration)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Configure Rails Environment
4
+ ENV['RAILS_ENV'] = 'test'
5
+
6
+ # Run Coverage report
7
+ require 'solidus_dev_support/rspec/coverage'
8
+
9
+ File.expand_path('dummy/config/environment.rb', __dir__).tap { |dummy_app|
10
+ # Create the dummy app if it's still missing.
11
+ system 'bin/rake extension:test_app' unless File.exist? dummy_app
12
+
13
+ require dummy_app
14
+ }
15
+
16
+ # Requires factories and other useful helpers defined in spree_core.
17
+ require 'solidus_dev_support/rspec/feature_helper'
18
+
19
+ # Requires supporting ruby files with custom matchers and macros, etc,
20
+ # in spec/support/ and its subdirectories.
21
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
22
+
23
+ # Requires factories defined in lib/solidus_content/factories.rb
24
+ require 'solidus_content/factories'
25
+ require 'solidus_static_content/factories'
26
+
27
+ RSpec.configure do |config|
28
+ config.infer_spec_type_from_file_location!
29
+ config.use_transactional_fixtures = false
30
+ end
31
+
32
+ FIXTURE_PATH = File.expand_path('fixtures', __dir__)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.configure do |config|
4
+ config.include Warden::Test::Helpers
5
+ end
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: solidus_content
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrea Vassallo
8
+ - Elia Schito
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2020-07-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: solidus_core
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 2.0.0
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '3'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 2.0.0
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ - !ruby/object:Gem::Dependency
35
+ name: solidus_support
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.5'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.5'
48
+ - !ruby/object:Gem::Dependency
49
+ name: solidus_dev_support
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: ''
63
+ email: contact@solidus.io
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - ".circleci/config.yml"
69
+ - ".gem_release.yml"
70
+ - ".github/stale.yml"
71
+ - ".gitignore"
72
+ - ".rspec"
73
+ - ".rubocop.yml"
74
+ - Gemfile
75
+ - LICENSE
76
+ - README.md
77
+ - Rakefile
78
+ - app/assets/javascripts/spree/backend/solidus_content.js
79
+ - app/assets/javascripts/spree/frontend/solidus_content.js
80
+ - app/assets/stylesheets/spree/backend/solidus_content.css
81
+ - app/assets/stylesheets/spree/frontend/solidus_content.css
82
+ - app/controllers/solidus_content/resource_controller.rb
83
+ - app/controllers/spree/admin/entries_controller.rb
84
+ - app/controllers/spree/admin/entry_types_controller.rb
85
+ - app/controllers/spree/solidus_content_controller.rb
86
+ - app/models/solidus_content/application_record.rb
87
+ - app/models/solidus_content/entry.rb
88
+ - app/models/solidus_content/entry_type.rb
89
+ - app/models/solidus_content/provider/fields.rb
90
+ - app/views/spree/admin/entries/_form.html.erb
91
+ - app/views/spree/admin/entries/_options_form.html.erb
92
+ - app/views/spree/admin/entries/edit.html.erb
93
+ - app/views/spree/admin/entries/index.html.erb
94
+ - app/views/spree/admin/entries/new.html.erb
95
+ - app/views/spree/admin/entry_types/_form.html.erb
96
+ - app/views/spree/admin/entry_types/_options_form.html.erb
97
+ - app/views/spree/admin/entry_types/edit.html.erb
98
+ - app/views/spree/admin/entry_types/index.html.erb
99
+ - app/views/spree/admin/entry_types/new.html.erb
100
+ - app/views/spree/admin/shared/_solidus_content_sub_menu.html.erb
101
+ - bin/console
102
+ - bin/rails
103
+ - bin/rails-engine
104
+ - bin/rails-sandbox
105
+ - bin/rake
106
+ - bin/rspec
107
+ - bin/sandbox
108
+ - bin/setup
109
+ - config/initializers/spree.rb
110
+ - config/locales/en.yml
111
+ - config/routes.rb
112
+ - db/migrate/20200207135842_create_solidus_content_entries.rb
113
+ - db/migrate/20200306110114_create_solidus_content_entry_types.rb
114
+ - lib/generators/solidus_content/install/install_generator.rb
115
+ - lib/generators/solidus_content/install/templates/initializer.rb
116
+ - lib/solidus_content.rb
117
+ - lib/solidus_content/active_record.rb
118
+ - lib/solidus_content/configuration.rb
119
+ - lib/solidus_content/engine.rb
120
+ - lib/solidus_content/factories.rb
121
+ - lib/solidus_content/providers.rb
122
+ - lib/solidus_content/providers/contentful.rb
123
+ - lib/solidus_content/providers/json.rb
124
+ - lib/solidus_content/providers/prismic.rb
125
+ - lib/solidus_content/providers/raw.rb
126
+ - lib/solidus_content/providers/solidus_static_content.rb
127
+ - lib/solidus_content/providers/yaml.rb
128
+ - lib/solidus_content/version.rb
129
+ - solidus_content.gemspec
130
+ - spec/features/admin/content/create_entry_spec.rb
131
+ - spec/features/admin/content/create_entry_type_spec.rb
132
+ - spec/features/admin/content/delete_entry_spec.rb
133
+ - spec/features/admin/content/delete_entry_type_spec.rb
134
+ - spec/features/admin/content/edit_entry_spec.rb
135
+ - spec/features/admin/content/edit_entry_type_spec.rb
136
+ - spec/features/admin/content/list_entries_spec.rb
137
+ - spec/features/admin/content/list_entry_types_spec.rb
138
+ - spec/features/admin/sidebar_spec.rb
139
+ - spec/features/render_content_with_views_spec.rb
140
+ - spec/fixtures/content/example.json
141
+ - spec/fixtures/content/example.yaml
142
+ - spec/fixtures/content/example.yml
143
+ - spec/fixtures/content/example_2.yaml
144
+ - spec/models/solidus_content/entry_spec.rb
145
+ - spec/models/solidus_content/entry_type_spec.rb
146
+ - spec/solidus_content/configuration_spec.rb
147
+ - spec/solidus_content/providers/contentful_spec.rb
148
+ - spec/solidus_content/providers/json_spec.rb
149
+ - spec/solidus_content/providers/prismic_spec.rb
150
+ - spec/solidus_content/providers/solidus_static_content_spec.rb
151
+ - spec/solidus_content/providers/yaml_spec.rb
152
+ - spec/solidus_content_spec.rb
153
+ - spec/spec_helper.rb
154
+ - spec/support/warden.rb
155
+ homepage: https://github.com/nebulab/solidus_content#readme
156
+ licenses:
157
+ - BSD-3-Clause
158
+ metadata:
159
+ homepage_uri: https://github.com/nebulab/solidus_content#readme
160
+ source_code_uri: https://github.com/nebulab/solidus_content#readme
161
+ changelog_uri: https://github.com/nebulab/solidus_content/releases
162
+ post_install_message:
163
+ rdoc_options: []
164
+ require_paths:
165
+ - lib
166
+ required_ruby_version: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: '2.5'
171
+ required_rubygems_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ requirements: []
177
+ rubygems_version: 3.1.2
178
+ signing_key:
179
+ specification_version: 4
180
+ summary: Manage your Solidus content sources
181
+ test_files:
182
+ - spec/features/admin/content/create_entry_spec.rb
183
+ - spec/features/admin/content/create_entry_type_spec.rb
184
+ - spec/features/admin/content/delete_entry_spec.rb
185
+ - spec/features/admin/content/delete_entry_type_spec.rb
186
+ - spec/features/admin/content/edit_entry_spec.rb
187
+ - spec/features/admin/content/edit_entry_type_spec.rb
188
+ - spec/features/admin/content/list_entries_spec.rb
189
+ - spec/features/admin/content/list_entry_types_spec.rb
190
+ - spec/features/admin/sidebar_spec.rb
191
+ - spec/features/render_content_with_views_spec.rb
192
+ - spec/fixtures/content/example.json
193
+ - spec/fixtures/content/example.yaml
194
+ - spec/fixtures/content/example.yml
195
+ - spec/fixtures/content/example_2.yaml
196
+ - spec/models/solidus_content/entry_spec.rb
197
+ - spec/models/solidus_content/entry_type_spec.rb
198
+ - spec/solidus_content/configuration_spec.rb
199
+ - spec/solidus_content/providers/contentful_spec.rb
200
+ - spec/solidus_content/providers/json_spec.rb
201
+ - spec/solidus_content/providers/prismic_spec.rb
202
+ - spec/solidus_content/providers/solidus_static_content_spec.rb
203
+ - spec/solidus_content/providers/yaml_spec.rb
204
+ - spec/solidus_content_spec.rb
205
+ - spec/spec_helper.rb
206
+ - spec/support/warden.rb