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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f999e0f6a38e2ae387badc6f1e5ca52abf07290d025686c4cd2e31caa7cb6071
4
- data.tar.gz: 4e68af456716ee031b77a37006b97fbb4d68dd08a4e1e7e26c58767d5f66aacf
3
+ metadata.gz: 9573f9b763c23a7b6114698dd3513b0b1919d851b8f2f2e039a53a1c345f12b4
4
+ data.tar.gz: a5a91903024705297a92b17463aea167adc9601cb4ae62ac0e58ee7225202496
5
5
  SHA512:
6
- metadata.gz: 800f43b9c67109819f9536d92dac1ef6fe16ba68e789896983fc12d5f7665f4c7178cba0f932bfe1e1c5616617fcd9fddf2a16aab3938e1564d0929dc46228ca
7
- data.tar.gz: 5dc1e4103ac4714ce97cf4698e623064e5453a9a4b817c563fd24351c83fcd4d5ec4c200a7290d58ffb9583252110f0b63b541e1aefcb3a66198dd21eb91b5b2
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-54 # https://github.com/codeclimate/codeclimate-rubocop/branches/all?utf8=%E2%9C%93&query=channel%2Frubocop
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
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
- <!-- markdownlint-disable MD041 -->
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 Public Market Foundation, released under the New BSD License
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(%i[title content slug meta_title meta_description meta_image live])
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
@@ -1,7 +1,6 @@
1
1
  module Spree
2
2
  class Page < ApplicationRecord
3
- has_attached_file :meta_image, styles: ->(i) { i.instance.class.meta_image_sizes }
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
- <div class="form-group">
36
- <%= f.label :meta_image %>
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
- <% if resource.meta_image.exists? %>
39
+
40
+ <% if resource.meta_image %>
39
41
  <%= image_tag resource.meta_image.url(:small) %>
40
42
  <% end %>
41
- </div>
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.exists? %>
6
+ <% if page.meta_image %>
7
7
  <meta property="og:image" content="<%= page.meta_image.url(:large) %>">
8
8
  <% end %>
9
9
  <% end %>
@@ -0,0 +1,5 @@
1
+ class RemoveMetaImageFieldsFromSpreePages < ActiveRecord::Migration[5.2]
2
+ def change
3
+ remove_attachment :spree_pages, :meta_image
4
+ end
5
+ end
@@ -10,7 +10,7 @@ module SpreePages
10
10
  module VERSION
11
11
  MAJOR = 1
12
12
  MINOR = 0
13
- TINY = 3
13
+ TINY = 4
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
16
16
  end
@@ -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
- meta_image { File.new(Spree::Core::Engine.root + 'spec/fixtures' + 'thinking-cat.jpg') }
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|
@@ -1,5 +1,6 @@
1
1
  require 'factory_bot'
2
2
 
3
+ require 'spree/testing_support/factories'
3
4
  FactoryBot.find_definitions
4
5
 
5
6
  RSpec.configure do |config|
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.3
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-08-28 00:00:00.000000000 Z
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.3
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