camaleon_image_optimizer 0.3.2 → 1.1.0

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: f33fac74bfc9382ef00affbcde4f0e76f529cf952951e98f334cbf3ba1498e0b
4
- data.tar.gz: 2a76e96bec4dbc6a827918cd75178a93eb622ac4c9764e24adbbb4c47e4fae1f
3
+ metadata.gz: 63c0637156a18c434f3cf55f18aebbbd2b588c96ce4d74c318390e0c7e64640d
4
+ data.tar.gz: e10bee82fac13c798a0229a93bfb139a864ac7f1408061b5ebed80d2c538d71d
5
5
  SHA512:
6
- metadata.gz: 53b62becdb349921339c9a5d27bbe9650e329d9fc5482a3a323eb270a05181f7af9b166498e0ec5312206959d88c51e65f772e91b100d2e6d9b21b44922b79f8
7
- data.tar.gz: f0908a34d397ece5315b887c7d91f152fbb3b351a2100f0c3135600b3bc23bf9b1770b5708659f5bfe88c9c805e64654953e0a5ac78e7bac07668b91d5872db2
6
+ metadata.gz: 0ea712828780ac059ae02185010acb39b84197a3e3b8d995b2b2c5d4f11bc7428fe7e78c5d50fcb8770789b34ba119ef75f88a970f087d24b0a568c75bf26a0c
7
+ data.tar.gz: af1a279deb1a77b62dd6f701415dbd7aac04b4ee0c5ebe18aa899df9bf4088437475d4620d8c3910e518bbad95b61509705e1f96ca0e454cb392fa382b5ff53b
data/README.md CHANGED
@@ -1,3 +1,10 @@
1
+ ![](https://img.shields.io/badge/ruby-2.6%2B-red.svg)
2
+ ![Gem Version](https://img.shields.io/gem/v/camaleon_image_optimizer.svg?colorB=blue)
3
+ [![Ruby Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://github.com/testdouble/standard)
4
+ [![Build](https://github.com/brian-kephart/camaleon_image_optimizer/actions/workflows/build.yml/badge.svg)](https://github.com/brian-kephart/camaleon_image_optimizer/actions/workflows/build.yml)
5
+
6
+
7
+
1
8
  # Camaleon Image Optimizer
2
9
  This is a convenient image optimizer plugin for Camaleon CMS. Compressing images improves load times and thus SEO. It uses the [image_optim gem](https://github.com/toy/image_optim) under the hood. This gem contains multiple utilities for compressing GIF, JPEG, PNG, and SVG files. My experience has been that GIFs JPEGs are easily crushable with these tools, but using multiple PNG compressors is extremely slow. Thus, only one of the PNG compressors is enabled here.
3
10
 
@@ -41,5 +48,8 @@ SVGO_BIN='node_modules/svgo/bin/svgo'
41
48
  ## Usage
42
49
  Just activate the plugin in Camaleon's admin panel.
43
50
 
51
+ ## Contributing
52
+ See CONTRIBUTING.md
53
+
44
54
  ## License
45
55
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -1,31 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
- require 'bundler/setup'
4
+ require "bundler/setup"
3
5
  rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ puts "You must `gem install bundler` and `bundle install` to run rake tasks"
5
7
  end
6
8
 
7
- require 'rdoc/task'
9
+ require "rdoc/task"
8
10
 
9
11
  RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'CamaleonImageOptimizer'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.md')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
12
+ rdoc.rdoc_dir = "rdoc"
13
+ rdoc.title = "CamaleonImageOptimizer"
14
+ rdoc.options << "--line-numbers"
15
+ rdoc.rdoc_files.include("README.md")
16
+ rdoc.rdoc_files.include("lib/**/*.rb")
15
17
  end
16
18
 
17
19
  APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
18
- load 'rails/tasks/engine.rake'
20
+ load "rails/tasks/engine.rake"
19
21
 
20
- load 'rails/tasks/statistics.rake'
22
+ load "rails/tasks/statistics.rake"
21
23
 
22
- require 'bundler/gem_tasks'
24
+ require "bundler/gem_tasks"
23
25
 
24
- require 'rake/testtask'
26
+ require "rake/testtask"
25
27
 
26
28
  Rake::TestTask.new(:test) do |t|
27
- t.libs << 'test'
28
- t.pattern = 'test/**/*_test.rb'
29
+ t.libs << "test"
30
+ t.pattern = "test/**/*_test.rb"
29
31
  t.verbose = false
30
32
  end
31
33
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::PluginsAdminController
2
4
  include Plugins::CamaleonImageOptimizer::MainHelper
3
5
  def index
@@ -12,6 +14,6 @@ class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::Plug
12
14
  @plugin.set_options(params[:options]) if params[:options].present? # save option values
13
15
  @plugin.set_metas(params[:metas]) if params[:metas].present? # save meta values
14
16
  @plugin.set_field_values(params[:field_options]) if params[:field_options].present? # save custom field values
15
- redirect_to url_for(action: :settings), notice: 'Settings Saved Successfully'
17
+ redirect_to url_for(action: :settings), notice: "Settings Saved Successfully"
16
18
  end
17
19
  end
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This modules public methods are called via hooks defined in config/camaleon_plugin.json
1
4
  module Plugins::CamaleonImageOptimizer::MainHelper
2
- require 'image_optim'
5
+ require "image_optim"
3
6
 
4
7
  def self.included(klass)
5
- # klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
8
+ # klass.helper_method [:my_helper_method] rescue "" # methods accessible from views
6
9
  end
7
10
 
8
11
  def camaleon_image_optimizer_on_active(plugin)
@@ -17,7 +20,7 @@ module Plugins::CamaleonImageOptimizer::MainHelper
17
20
  end
18
21
 
19
22
  def camaleon_image_optimizer_on_plugin_options(args)
20
- args[:links] << link_to('Settings', admin_plugins_camaleon_image_optimizer_settings_path)
23
+ args[:links] << link_to("Settings", admin_plugins_camaleon_image_optimizer_settings_path)
21
24
  end
22
25
 
23
26
  def cama_optimize_image(settings)
@@ -26,28 +29,27 @@ module Plugins::CamaleonImageOptimizer::MainHelper
26
29
  settings[:uploaded_io] = File.open settings[:uploaded_io].path
27
30
  end
28
31
 
29
- private
32
+ private
30
33
 
31
34
  def camaleon_image_optimizer_options(plugin)
32
- plugin.set_option('quality', camaleon_image_optimizer_default_settings['jpegoptim']['max_quality']) unless plugin.get_option('quality').present?
35
+ plugin.set_option("quality", camaleon_image_optimizer_default_settings["jpegoptim"]["max_quality"]) unless plugin.get_option("quality").present?
33
36
  end
34
37
 
35
38
  def camaleon_image_optimizer_settings
36
39
  @camaleon_image_optimizer_settings ||= camaleon_image_optimizer_default_settings.tap do |cios|
37
- unless current_plugin.get_option('quality').blank?
38
- cios['jpegoptim']['max_quality'] = current_plugin.get_option 'quality'
39
- cios['pngquant']['quality'] = (0..current_plugin.get_option('quality'))
40
+ unless current_plugin.get_option("quality").blank?
41
+ cios["jpegoptim"]["max_quality"] = current_plugin.get_option "quality"
42
+ cios["pngquant"]["quality"] = (0..current_plugin.get_option("quality"))
40
43
  end
41
44
  end
42
45
  end
43
46
 
47
+ # default settings in config/image_optim.yml
44
48
  def camaleon_image_optimizer_default_settings
45
49
  @camaleon_image_optimizer_default_settings ||= begin
46
- # default settings in config/image_optim.yml
47
- spec = Gem::Specification.find_by_name 'camaleon_image_optimizer'
50
+ spec = Gem::Specification.find_by_name "camaleon_image_optimizer"
48
51
  gem_root = Pathname.new spec.gem_dir
49
- YAML.load_file gem_root.join('config', 'image_optim.yml')
52
+ YAML.safe_load File.open(gem_root.join("config", "image_optim.yml")), permitted_classes: [Range]
50
53
  end
51
54
  end
52
-
53
55
  end
data/config/routes.rb CHANGED
@@ -1,17 +1,21 @@
1
- Rails.application.routes.draw do
1
+ # frozen_string_literal: true
2
+
3
+ require "plugin_routes"
4
+ require "camaleon_cms/engine"
2
5
 
3
- scope PluginRoutes.system_info["relative_url_root"] do
4
- #Admin Panel
5
- scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
6
- namespace 'plugins' do
7
- namespace 'camaleon_image_optimizer' do
8
- controller :admin do
9
- get :index
10
- get :settings
11
- post :save_settings
12
- end
6
+ Rails.application.routes.draw do
7
+ scope PluginRoutes.system_info["relative_url_root"] do
8
+ # Admin Panel
9
+ scope :admin, as: "admin", path: PluginRoutes.system_info["admin_path_name"] do
10
+ namespace "plugins" do
11
+ namespace "camaleon_image_optimizer" do
12
+ controller :admin do
13
+ get :index
14
+ get :settings
15
+ post :save_settings
13
16
  end
14
17
  end
15
18
  end
16
19
  end
17
20
  end
21
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaleonImageOptimizer
2
4
  class Engine < ::Rails::Engine
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaleonImageOptimizer
2
- VERSION = '0.3.2'
4
+ VERSION = "1.1.0"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "camaleon_image_optimizer/engine"
2
4
 
3
5
  module CamaleonImageOptimizer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_image_optimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Kephart
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-16 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: camaleon_cms
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.4'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.4'
69
69
  description: Compress uploaded images for faster page loads and better SEO.
70
70
  email:
71
71
  - briantkephart@gmail.com
@@ -93,7 +93,8 @@ metadata:
93
93
  homepage_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer
94
94
  changelog_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer/blob/master/CHANGELOG.md
95
95
  source_code_uri: https://www.github.com/brian-kephart/camaleon_image_optimizer
96
- post_install_message:
96
+ rubygems_mfa_required: 'true'
97
+ post_install_message:
97
98
  rdoc_options: []
98
99
  require_paths:
99
100
  - lib
@@ -101,16 +102,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - ">="
103
104
  - !ruby/object:Gem::Version
104
- version: '0'
105
+ version: '2.6'
105
106
  required_rubygems_version: !ruby/object:Gem::Requirement
106
107
  requirements:
107
108
  - - ">="
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.7.5
113
- signing_key:
112
+ rubygems_version: 3.2.32
113
+ signing_key:
114
114
  specification_version: 4
115
115
  summary: Compress uploaded images for faster page loads and better SEO.
116
116
  test_files: []