spree_pages 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![Build Status](https://travis-ci.org/public-market/spree_pages.svg?branch=master)](https://travis-ci.org/public-market/spree_pages)
|
3
|
-
[![Maintainability](https://api.codeclimate.com/v1/badges/5af5e44f4cf49e9f6f9b/maintainability)](https://codeclimate.com/github/public-market/spree_pages/maintainability)
|
4
|
-
[![Test Coverage](https://api.codeclimate.com/v1/badges/5af5e44f4cf49e9f6f9b/test_coverage)](https://codeclimate.com/github/public-market/spree_pages/test_coverage)
|
5
|
-
<!-- markdownlint-enable MD041 -->
|
1
|
+
![Abundance Labds](.github/AbundanceLabs_readme_banner.png)
|
6
2
|
|
7
3
|
# Spree Pages
|
8
4
|
|
5
|
+
[![Build Status](https://travis-ci.org/abundance-labs/spree_pages.svg?branch=master)](https://travis-ci.org/abundance-labs/spree_pages)
|
6
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/091271e9215d80067064/maintainability)](https://codeclimate.com/github/abundance-labs/spree_pages/maintainability)
|
7
|
+
[![Test Coverage](https://api.codeclimate.com/v1/badges/091271e9215d80067064/test_coverage)](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
|