camaleon_image_optimizer 0.1.0 → 0.2.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: 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