camaleon_image_optimizer 0.1.0 → 0.2.0

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: 867ba9921e9adf85de5414f060ad9334c6d45b4b5386125c074a203772d9f146
4
- data.tar.gz: 7327557f0b96194031ce99813d437369ce6c8f62a59dc56d7d9188cafb572dcb
3
+ metadata.gz: 558b329de97ae0c60960f04bfaa2a00985aeaa517e4658318615885934c23197
4
+ data.tar.gz: b2133d331c8c4a7529bca995111985106bf8675381626cdbe6fd85036e4f4d0b
5
5
  SHA512:
6
- metadata.gz: fe873c0db1e3eb96103586df94be7c98cb6f801653254bf63a0cbc4b6379a5a17b09c847540977b3857c06f158c6e267b1f17b590488ff416f57e909f60db129
7
- data.tar.gz: 7f918fb5289319ddeb6a7fa7d7b69b7ec4687735ad86df632b36c8c73f263a61674a34916294fa5492be70c5f3b33682b49781bfd6842a7d4a50e809832b98ec
6
+ metadata.gz: 6bf54d5f1ba4e21c8abe0578fe72e5fb27cc49a48ed5b5b49b8a533e6823c681689945cf1d1821173fb3152c48a7cf265b662df05393439775744090d7c698ed
7
+ data.tar.gz: 3d14156b6f0e1646f46da31a752a667cfe32e9b344eb7012c571391544a99e9797374e1fc53a9dbaec995acce3f48e9a10d1a649bd434652d2e22713cdd3f725
data/README.md CHANGED
@@ -5,7 +5,7 @@ This is a convenient image optimizer plugin for Camaleon CMS. Compressing images
5
5
  Add this line to your application's Gemfile:
6
6
 
7
7
  ```ruby
8
- gem 'camaleon_image_optimizer', github: 'brian-kephart/camaleon_image_optimizer'
8
+ gem 'camaleon_image_optimizer'
9
9
  ```
10
10
 
11
11
  And then execute:
@@ -14,5 +14,4 @@ class Plugins::CamaleonImageOptimizer::AdminController < CamaleonCms::Apps::Plug
14
14
  @plugin.set_field_values(params[:field_options]) if params[:field_options].present? # save custom field values
15
15
  redirect_to url_for(action: :settings), notice: 'Settings Saved Successfully'
16
16
  end
17
- # add custom methods below ....
18
17
  end
@@ -5,37 +5,46 @@ module Plugins::CamaleonImageOptimizer::MainHelper
5
5
  # klass.helper_method [:my_helper_method] rescue "" # here your methods accessible from views
6
6
  end
7
7
 
8
- # here all actions on going to active
9
- # you can run sql commands like this:
10
- # results = ActiveRecord::Base.connection.execute(query);
11
- # plugin: plugin model
12
8
  def camaleon_image_optimizer_on_active(plugin)
9
+ camaleon_image_optimizer_options plugin
13
10
  end
14
11
 
15
- # here all actions on going to inactive
16
- # plugin: plugin model
17
12
  def camaleon_image_optimizer_on_inactive(plugin)
18
13
  end
19
14
 
20
- # here all actions to upgrade for a new version
21
- # plugin: plugin model
22
15
  def camaleon_image_optimizer_on_upgrade(plugin)
16
+ camaleon_image_optimizer_options plugin
23
17
  end
24
18
 
25
- # hook listener to add settings link below the title of current plugin (if it is installed)
26
- # args: {plugin (Hash), links (Array)}
27
- # permit to add unlimmited of links...
28
19
  def camaleon_image_optimizer_on_plugin_options(args)
29
20
  args[:links] << link_to('Settings', admin_plugins_camaleon_image_optimizer_settings_path)
30
21
  end
31
22
 
32
23
  def cama_optimize_image(settings)
33
- # settings in config/image_optim.yml
34
- spec = Gem::Specification.find_by_name("camaleon_image_optimizer")
35
- gem_root = Pathname.new spec.gem_dir
36
- image_optim = ImageOptim.new YAML.load_file(gem_root.join('config', 'image_optim.yml'))
24
+ image_optim = ImageOptim.new camaleon_image_optimizer_settings
37
25
  image_optim.optimize_image! settings[:uploaded_io].path
38
26
  settings[:uploaded_io] = File.open settings[:uploaded_io].path
39
27
  end
40
28
 
29
+ private
30
+
31
+ 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?
33
+ end
34
+
35
+ def camaleon_image_optimizer_settings
36
+ @camaleon_image_optimizer_settings ||= camaleon_image_optimizer_default_settings.tap do |cios|
37
+ cios['jpegoptim']['max_quality'] = current_plugin.get_option('quality') unless current_plugin.get_option('quality').blank?
38
+ end
39
+ end
40
+
41
+ def camaleon_image_optimizer_default_settings
42
+ @camaleon_image_optimizer_default_settings ||= begin
43
+ # default settings in config/image_optim.yml
44
+ spec = Gem::Specification.find_by_name 'camaleon_image_optimizer'
45
+ gem_root = Pathname.new spec.gem_dir
46
+ YAML.load_file gem_root.join('config', 'image_optim.yml')
47
+ end
48
+ end
49
+
41
50
  end
@@ -1,21 +1,17 @@
1
1
  <div class="panel panel-default">
2
- <div class="panel-heading">
3
- <h4>My Plugin Settings</h4>
4
- </div>
5
- <div class="panel-body">
6
- <%= form_tag(url_for(action: :save_settings), class: 'validate') do %>
7
- <div class="form-group">
8
- <label>My Option Setting</label>
9
- <%= text_field_tag 'options[my_setting]', @plugin.get_option('my_setting'), class: 'form-control required' %>
10
- </div>
11
- <div class="form-group">
12
- <label>My Meta Setting</label>
13
- <%= text_field_tag 'metas[my_setting]', @plugin.get_meta('my_setting'), class: 'form-control required' %>
14
- </div>
15
- <%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: {record: @plugin, field_groups: @plugin.get_field_groups} %>
16
- <div class="form-group text-right">
17
- <%= submit_tag 'Save Settings', class: 'btn btn-primary' %>
18
- </div>
19
- <% end %>
20
- </div>
21
- </div>
2
+ <div class="panel-heading">
3
+ <h4><%= cama_t 'image_optimizer_settings' %></h4>
4
+ </div>
5
+ <div class="panel-body">
6
+ <%= form_tag(url_for(action: :save_settings), class: 'validate') do %>
7
+ <div class="form-group">
8
+ <label><%= cama_t 'max_quality' %>: 1 (<%= cama_t 'most_compressed' %>) – 100 (<%= cama_t 'highest_quality' %>), <%= cama_t 'default_is' %> 70.</label>
9
+ <%= number_field_tag 'options[quality]', @plugin.get_option('quality'), class: 'form-control required', min: 1, max: 100, step: 1, value: @plugin.get_option('quality') %>
10
+ </div>
11
+ <%= render partial: "camaleon_cms/admin/settings/custom_fields/render", locals: { record: @plugin, field_groups: @plugin.get_field_groups } %>
12
+ <div class="form-group text-right">
13
+ <%= submit_tag 'Save Settings', class: 'btn btn-primary' %>
14
+ </div>
15
+ <% end %>
16
+ </div>
17
+ </div>
@@ -8,7 +8,7 @@
8
8
  "hooks": {
9
9
  "on_active": ["camaleon_image_optimizer_on_active"],
10
10
  "on_inactive": ["camaleon_image_optimizer_on_inactive"],
11
- /* "plugin_options": ["camaleon_image_optimizer_on_plugin_options"], */
11
+ "plugin_options": ["camaleon_image_optimizer_on_plugin_options"],
12
12
  "before_upload": ["cama_optimize_image"]
13
13
  }
14
14
  }
@@ -0,0 +1,6 @@
1
+ en:
2
+ image_optimizer_settings: "Image Optimizer Settings"
3
+ max_quality: "Maximum Quality"
4
+ most_compressed: "most compressed"
5
+ highest_quality: "highest quality"
6
+ default_is: "default is"
data/config/routes.rb CHANGED
@@ -1,15 +1,6 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
3
  scope PluginRoutes.system_info["relative_url_root"] do
4
- scope '(:locale)', locale: /#{PluginRoutes.all_locales}/, :defaults => { } do
5
- # frontend
6
- namespace :plugins do
7
- namespace 'camaleon_image_optimizer' do
8
- get 'index' => 'front#index'
9
- end
10
- end
11
- end
12
-
13
4
  #Admin Panel
14
5
  scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
15
6
  namespace 'plugins' do
@@ -22,10 +13,5 @@ Rails.application.routes.draw do
22
13
  end
23
14
  end
24
15
  end
25
-
26
- # main routes
27
- #scope 'camaleon_image_optimizer', module: 'plugins/camaleon_image_optimizer/', as: 'camaleon_image_optimizer' do
28
- # Here my routes for main routes
29
- #end
30
16
  end
31
17
  end
@@ -1,3 +1,3 @@
1
1
  module CamaleonImageOptimizer
2
- VERSION = '0.1.0'
2
+ VERSION = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_image_optimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Kephart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-02 00:00:00.000000000 Z
11
+ date: 2018-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '4.2'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '4.2'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: camaleon_cms
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -39,33 +25,33 @@ dependencies:
39
25
  - !ruby/object:Gem::Version
40
26
  version: '2.0'
41
27
  - !ruby/object:Gem::Dependency
42
- name: image_optim_rails
28
+ name: image_optim
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 0.4.1
33
+ version: '0.26'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 0.4.1
40
+ version: '0.26'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: image_optim_pack
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: 0.5.0
47
+ version: '0.5'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: 0.5.0
54
+ version: '0.5'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: sqlite3
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -90,23 +76,16 @@ files:
90
76
  - MIT-LICENSE
91
77
  - README.md
92
78
  - Rakefile
93
- - app/assets/config/camaleon_image_optimizer_manifest.js
94
79
  - app/controllers/plugins/camaleon_image_optimizer/admin_controller.rb
95
- - app/controllers/plugins/camaleon_image_optimizer/front_controller.rb
96
80
  - app/helpers/plugins/camaleon_image_optimizer/main_helper.rb
97
- - app/models/plugins/camaleon_image_optimizer/camaleon_image_optimizer.rb
98
- - app/views/plugins/camaleon_image_optimizer/admin/index.html.erb
99
81
  - app/views/plugins/camaleon_image_optimizer/admin/settings.html.erb
100
- - app/views/plugins/camaleon_image_optimizer/front/index.html.erb
101
- - app/views/plugins/camaleon_image_optimizer/layouts/readme.txt
102
82
  - config/camaleon_plugin.json
103
83
  - config/image_optim.yml
104
- - config/initializers/custom_models.rb
84
+ - config/locales/en.yml
105
85
  - config/routes.rb
106
86
  - lib/camaleon_image_optimizer.rb
107
87
  - lib/camaleon_image_optimizer/engine.rb
108
88
  - lib/camaleon_image_optimizer/version.rb
109
- - lib/tasks/camaleon_image_optimizer_tasks.rake
110
89
  homepage: ''
111
90
  licenses:
112
91
  - MIT
@@ -1,8 +0,0 @@
1
- class Plugins::CamaleonImageOptimizer::FrontController < CamaleonCms::Apps::PluginsFrontController
2
- include Plugins::CamaleonImageOptimizer::MainHelper
3
- def index
4
- # actions for frontend module
5
- end
6
-
7
- # add custom methods below
8
- end
@@ -1,6 +0,0 @@
1
- # class Plugins::CamaleonImageOptimizer::CamaleonImageOptimizer < ActiveRecord::Base
2
- # belongs_to :site, class_name: "CamleonCms::Site"
3
-
4
- # here create your models normally
5
- # notice: your tables in database will be plugins_camaleon_image_optimizer in plural (check rails documentation)
6
- # end
@@ -1,9 +0,0 @@
1
- <%#= javascript_include_tag plugin_asset("my_file.js") %>
2
- <div class="panel panel-default">
3
- <div class="panel-heading">
4
- <h4>My Title</h4>
5
- </div>
6
- <div class="panel-body">
7
- <p>Plugin ready to use in admin panel!.</p>
8
- </div>
9
- </div>
@@ -1,2 +0,0 @@
1
- <%#= javascript_include_tag plugin_gem_asset("js/my_file.js") %>
2
- Plugin ready to use! in frontend.
@@ -1,2 +0,0 @@
1
- You can create your layouts here.
2
- To load your custom layout you can use: layout: plugin_layout(<layout_name>) in your controller
@@ -1,5 +0,0 @@
1
- #Rails.application.config.to_prepare do
2
- # CamaleonCms::Site.class_eval do
3
- # has_many :attack, class_name: "Plugins::Attack::Models::Attack"
4
- # end
5
- # end
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :camaleon_image_optimizer do
3
- # # Task goes here
4
- # end