spree_pages 1.0.3 → 1.0.4
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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +1 -1
- data/.github/AbundanceLabs_readme_banner.png +0 -0
- data/README.md +6 -6
- data/app/controllers/spree/admin/pages_controller.rb +11 -1
- data/app/models/spree/page.rb +1 -8
- data/app/views/spree/admin/pages/_form.html.erb +6 -4
- data/app/views/spree/pages/_og_meta_tags.html.erb +1 -1
- data/db/migrate/20181024132911_remove_meta_image_fields_from_spree_pages.rb +5 -0
- data/lib/spree_pages/version.rb +1 -1
- data/spec/factories/pages.rb +3 -1
- data/spec/features/visit_pages_spec.rb +1 -1
- data/spec/fixtures/thinking-cat.jpg +0 -0
- data/spec/models/spree/page_spec.rb +0 -8
- data/spec/spec_helper.rb +1 -1
- data/spec/support/factory_bot.rb +1 -0
- data/spree_pages.gemspec +0 -1
- metadata +7 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9573f9b763c23a7b6114698dd3513b0b1919d851b8f2f2e039a53a1c345f12b4
|
4
|
+
data.tar.gz: a5a91903024705297a92b17463aea167adc9601cb4ae62ac0e58ee7225202496
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 809b58b27f0a7d4055f1aad6ec1cf998cddfa03b656087c35023e1c8bab178da1a9e70b63a458fb74015a25fbd7c11098f62f48439579d7de3882b6263a838f3
|
7
|
+
data.tar.gz: 1bef45e14a3b632d429a5047bf87092d738104a80f07d9cebff5bdfcc3374f2850450543a116becdccfca7f3399f732f88980f455951b28ffde21e6d3d8aafc3
|
data/.codeclimate.yml
CHANGED
@@ -14,7 +14,7 @@ plugins:
|
|
14
14
|
enabled: true
|
15
15
|
rubocop:
|
16
16
|
enabled: true
|
17
|
-
channel: rubocop-0-
|
17
|
+
channel: rubocop-0-58 # https://github.com/codeclimate/codeclimate-rubocop/branches/all?utf8=%E2%9C%93&query=channel%2Frubocop
|
18
18
|
# css
|
19
19
|
csslint:
|
20
20
|
enabled: true
|
Binary file
|
data/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
|
2
|
-
[](https://travis-ci.org/public-market/spree_pages)
|
3
|
-
[](https://codeclimate.com/github/public-market/spree_pages/maintainability)
|
4
|
-
[](https://codeclimate.com/github/public-market/spree_pages/test_coverage)
|
5
|
-
<!-- markdownlint-enable MD041 -->
|
1
|
+

|
6
2
|
|
7
3
|
# Spree Pages
|
8
4
|
|
5
|
+
[](https://travis-ci.org/abundance-labs/spree_pages)
|
6
|
+
[](https://codeclimate.com/github/abundance-labs/spree_pages/maintainability)
|
7
|
+
[](https://codeclimate.com/github/abundance-labs/spree_pages/test_coverage)
|
8
|
+
|
9
9
|
Simplified version of `spree_static_pages` without localisation overhead
|
10
10
|
|
11
11
|
## Installation
|
@@ -80,4 +80,4 @@ If you'd like to contribute, please take a look at the
|
|
80
80
|
[instructions](CONTRIBUTING.md) for installing dependencies and crafting a good
|
81
81
|
pull request.
|
82
82
|
|
83
|
-
Copyright (c) 2018
|
83
|
+
Copyright (c) 2018 Abundance Labs, Inc., released under the New BSD License
|
@@ -1,10 +1,20 @@
|
|
1
1
|
module Spree
|
2
2
|
module Admin
|
3
3
|
class PagesController < ResourceController
|
4
|
+
custom_callback(:update).before(:build_image)
|
5
|
+
|
4
6
|
private
|
5
7
|
|
8
|
+
def build_image
|
9
|
+
@object.build_meta_image(attachment: permitted_meta_image_params[:meta_image])
|
10
|
+
end
|
11
|
+
|
6
12
|
def permitted_resource_params
|
7
|
-
params.require(:page).permit(
|
13
|
+
params.require(:page).permit(:title, :content, :slug, :meta_title, :meta_description, :live)
|
14
|
+
end
|
15
|
+
|
16
|
+
def permitted_meta_image_params
|
17
|
+
params.require(:page).permit(:meta_image)
|
8
18
|
end
|
9
19
|
end
|
10
20
|
end
|
data/app/models/spree/page.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
module Spree
|
2
2
|
class Page < ApplicationRecord
|
3
|
-
|
4
|
-
validates_attachment_content_type :meta_image, content_type: %r{\Aimage\/.*\z}
|
3
|
+
has_one :meta_image, as: :viewable, dependent: :destroy, class_name: 'Spree::Image'
|
5
4
|
|
6
5
|
validates :title, :slug, :content, presence: true
|
7
6
|
validates :slug, uniqueness: true
|
@@ -13,11 +12,5 @@ module Spree
|
|
13
12
|
def remove_leading_slash_from_slug
|
14
13
|
self.slug = slug[1..-1] if slug.start_with?('/') # ensure that slugs don't start with a slash
|
15
14
|
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def self.meta_image_sizes
|
20
|
-
{ large: '1200x630>', medium: '600x315>', small: '200x200>' }
|
21
|
-
end
|
22
15
|
end
|
23
16
|
end
|
@@ -32,13 +32,15 @@
|
|
32
32
|
<%= f.text_field :meta_description, class: 'form-control' %>
|
33
33
|
</div>
|
34
34
|
|
35
|
-
|
36
|
-
|
35
|
+
|
36
|
+
<%= f.field_container :meta_image, class: ['form-group'] do %>
|
37
|
+
<%= f.label :meta_image, Spree.t(:meta_image) %>
|
37
38
|
<%= f.file_field :meta_image %>
|
38
|
-
|
39
|
+
|
40
|
+
<% if resource.meta_image %>
|
39
41
|
<%= image_tag resource.meta_image.url(:small) %>
|
40
42
|
<% end %>
|
41
|
-
|
43
|
+
<% end %>
|
42
44
|
|
43
45
|
<div class="form-group">
|
44
46
|
<%= f.label :live %>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<meta name="title" content="<%= page_meta_title %>">
|
4
4
|
<meta property="og:title" content="<%= page_meta_title %>">
|
5
5
|
<meta property="og:description" content="<%= page.meta_description || meta_data[:description] %>">
|
6
|
-
<% if page.meta_image
|
6
|
+
<% if page.meta_image %>
|
7
7
|
<meta property="og:image" content="<%= page.meta_image.url(:large) %>">
|
8
8
|
<% end %>
|
9
9
|
<% end %>
|
data/lib/spree_pages/version.rb
CHANGED
data/spec/factories/pages.rb
CHANGED
@@ -6,10 +6,12 @@ FactoryBot.define do
|
|
6
6
|
meta_title { generate(:random_string) }
|
7
7
|
meta_description { generate(:random_string) }
|
8
8
|
|
9
|
+
meta_image { nil }
|
10
|
+
|
9
11
|
sequence(:slug) { |n| "page#{n}" }
|
10
12
|
|
11
13
|
trait :with_image do
|
12
|
-
|
14
|
+
after(:create) { |page| page.create_meta_image(attachment: File.new(Spree::Core::Engine.root + 'spec/fixtures' + 'thinking-cat.jpg')) }
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -45,7 +45,7 @@ RSpec.describe 'Visits page', type: :feature do
|
|
45
45
|
let(:spree_page) { create(:page, :with_image) }
|
46
46
|
|
47
47
|
it 'includes meta image' do
|
48
|
-
expect(page).to have_css("meta[property='og:image'][content='#{spree_page.meta_image.url(:large)}']", visible: false)
|
48
|
+
expect(page).to have_css("meta[property='og:image'][content='#{spree_page.reload.meta_image.url(:large)}']", visible: false)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
Binary file
|
@@ -15,12 +15,4 @@ RSpec.describe Spree::Page, type: :model do
|
|
15
15
|
expect(page.slug).to eq 'slash'
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
19
|
-
describe '#meta_image' do
|
20
|
-
subject(:image) { page.meta_image }
|
21
|
-
|
22
|
-
let(:page) { build_stubbed(:page, :with_image) }
|
23
|
-
|
24
|
-
it { expect(image.styles).to include(:large, :medium, :small) }
|
25
|
-
end
|
26
18
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative './support/simplecov'
|
|
2
2
|
|
3
3
|
# Configure Rails Environment
|
4
4
|
ENV['RAILS_ENV'] = 'test'
|
5
|
+
ENV['SPREE_USE_PAPERCLIP'] = 'true'
|
5
6
|
|
6
7
|
require File.expand_path('dummy/config/environment.rb', __dir__)
|
7
8
|
|
@@ -15,7 +16,6 @@ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
|
15
16
|
# Requires factories and other useful helpers defined in spree_core.
|
16
17
|
require 'spree/testing_support/authorization_helpers'
|
17
18
|
require 'spree/testing_support/controller_requests'
|
18
|
-
require 'spree/testing_support/factories'
|
19
19
|
require 'spree/testing_support/url_helpers'
|
20
20
|
|
21
21
|
RSpec.configure do |config|
|
data/spec/support/factory_bot.rb
CHANGED
data/spree_pages.gemspec
CHANGED
@@ -34,7 +34,6 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.add_development_dependency 'database_cleaner'
|
35
35
|
s.add_development_dependency 'factory_bot'
|
36
36
|
s.add_development_dependency 'ffaker'
|
37
|
-
s.add_development_dependency 'mysql2', '0.4.10'
|
38
37
|
s.add_development_dependency 'pg', '~> 0.18'
|
39
38
|
s.add_development_dependency 'rspec-rails'
|
40
39
|
s.add_development_dependency 'simplecov'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kozaev Artem
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paperclip
|
@@ -162,20 +162,6 @@ dependencies:
|
|
162
162
|
- - ">="
|
163
163
|
- !ruby/object:Gem::Version
|
164
164
|
version: '0'
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
|
-
name: mysql2
|
167
|
-
requirement: !ruby/object:Gem::Requirement
|
168
|
-
requirements:
|
169
|
-
- - '='
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: 0.4.10
|
172
|
-
type: :development
|
173
|
-
prerelease: false
|
174
|
-
version_requirements: !ruby/object:Gem::Requirement
|
175
|
-
requirements:
|
176
|
-
- - '='
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: 0.4.10
|
179
165
|
- !ruby/object:Gem::Dependency
|
180
166
|
name: pg
|
181
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -239,6 +225,7 @@ extensions: []
|
|
239
225
|
extra_rdoc_files: []
|
240
226
|
files:
|
241
227
|
- ".codeclimate.yml"
|
228
|
+
- ".github/AbundanceLabs_readme_banner.png"
|
242
229
|
- ".gitignore"
|
243
230
|
- ".rspec"
|
244
231
|
- ".rubocop.yml"
|
@@ -270,6 +257,7 @@ files:
|
|
270
257
|
- db/migrate/20180319090554_create_pages.rb
|
271
258
|
- db/migrate/20180321105816_add_meta_fields_to_pages.rb
|
272
259
|
- db/migrate/20180321122609_add_live_to_spree_pages.rb
|
260
|
+
- db/migrate/20181024132911_remove_meta_image_fields_from_spree_pages.rb
|
273
261
|
- gemfiles/.bundle/config
|
274
262
|
- gemfiles/spree_3_1.gemfile
|
275
263
|
- gemfiles/spree_3_2.gemfile
|
@@ -286,6 +274,7 @@ files:
|
|
286
274
|
- spec/controllers/spree/pages_controller_spec.rb
|
287
275
|
- spec/factories/pages.rb
|
288
276
|
- spec/features/visit_pages_spec.rb
|
277
|
+
- spec/fixtures/thinking-cat.jpg
|
289
278
|
- spec/models/spree/page_spec.rb
|
290
279
|
- spec/spec_helper.rb
|
291
280
|
- spec/support/capybara.rb
|
@@ -315,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
315
304
|
requirements:
|
316
305
|
- none
|
317
306
|
rubyforge_project:
|
318
|
-
rubygems_version: 2.7.
|
307
|
+
rubygems_version: 2.7.6
|
319
308
|
signing_key:
|
320
309
|
specification_version: 4
|
321
310
|
summary: Simple static pages for spree
|
@@ -324,6 +313,7 @@ test_files:
|
|
324
313
|
- spec/controllers/spree/pages_controller_spec.rb
|
325
314
|
- spec/factories/pages.rb
|
326
315
|
- spec/features/visit_pages_spec.rb
|
316
|
+
- spec/fixtures/thinking-cat.jpg
|
327
317
|
- spec/models/spree/page_spec.rb
|
328
318
|
- spec/spec_helper.rb
|
329
319
|
- spec/support/capybara.rb
|