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 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