cama_meta_tag 1.7.2 → 1.7.3

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -0
  3. data/Rakefile +6 -21
  4. data/app/controllers/plugins/cama_meta_tag/admin_controller.rb +4 -0
  5. data/app/helpers/plugins/cama_meta_tag/main_helper.rb +53 -53
  6. data/app/views/plugins/cama_meta_tag/admin/_meta_tag_fields.html.erb +0 -1
  7. data/config/camaleon_plugin.json +2 -5
  8. data/config/initializers/custom_models.rb +4 -2
  9. data/config/routes.rb +11 -9
  10. data/lib/cama_meta_tag/engine.rb +2 -0
  11. data/lib/cama_meta_tag/version.rb +3 -1
  12. data/lib/cama_meta_tag.rb +5 -1
  13. data/lib/tasks/cama_meta_tag_tasks.rake +2 -0
  14. metadata +11 -99
  15. data/test/cama_meta_tag_test.rb +0 -7
  16. data/test/dummy/README.rdoc +0 -28
  17. data/test/dummy/Rakefile +0 -6
  18. data/test/dummy/app/assets/javascripts/application.js +0 -13
  19. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  20. data/test/dummy/app/controllers/application_controller.rb +0 -5
  21. data/test/dummy/app/helpers/application_helper.rb +0 -2
  22. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  23. data/test/dummy/bin/bundle +0 -3
  24. data/test/dummy/bin/rails +0 -4
  25. data/test/dummy/bin/rake +0 -4
  26. data/test/dummy/bin/setup +0 -29
  27. data/test/dummy/config/application.rb +0 -26
  28. data/test/dummy/config/boot.rb +0 -5
  29. data/test/dummy/config/database.yml +0 -25
  30. data/test/dummy/config/environment.rb +0 -5
  31. data/test/dummy/config/environments/development.rb +0 -41
  32. data/test/dummy/config/environments/production.rb +0 -79
  33. data/test/dummy/config/environments/test.rb +0 -42
  34. data/test/dummy/config/initializers/assets.rb +0 -11
  35. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  36. data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
  37. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  38. data/test/dummy/config/initializers/inflections.rb +0 -16
  39. data/test/dummy/config/initializers/mime_types.rb +0 -4
  40. data/test/dummy/config/initializers/session_store.rb +0 -3
  41. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  42. data/test/dummy/config/locales/en.yml +0 -23
  43. data/test/dummy/config/routes.rb +0 -56
  44. data/test/dummy/config/secrets.yml +0 -22
  45. data/test/dummy/config.ru +0 -4
  46. data/test/dummy/public/404.html +0 -67
  47. data/test/dummy/public/422.html +0 -67
  48. data/test/dummy/public/500.html +0 -66
  49. data/test/dummy/public/favicon.ico +0 -0
  50. data/test/integration/navigation_test.rb +0 -8
  51. data/test/test_helper.rb +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f820766a56fe6eb7875859a8153eb97bb17c4ddad7b222f9b39aec5f3438aded
4
- data.tar.gz: 52bff464e68cc4d17d966921acbe458ef94cf81ff7d0493b0ccbc7952f07da17
3
+ metadata.gz: 9de91d1a13ed3f14bce219ab7f843d9bc11a7126dbfaf9cb475ade2a293381e5
4
+ data.tar.gz: 99ec370351b9fe5a167fba07058420cbb877dc5c7088769d2ec79d66b273337b
5
5
  SHA512:
6
- metadata.gz: 486ffaf74ba4192e1a772475d563f3ff890570914917b7fe215e8d33f9b9f388e9156772188e85553cda997ad5cc4265019bee1dce74ce0af563c355f86d8d31
7
- data.tar.gz: '07925587bcecfcf0706a27c19521fdd3671636d501e3ed3bae9295ed4c58e27e0e4b8ad6d439e1affbf06771e5b37e92884c8e686980bd706b2f458368ca0672'
6
+ metadata.gz: 70d9d4a672e694f44e8a48fcc21f4b136a9261b3dbfec818b5cfb68d788cc5966bc281064926e6543643f08fdcbe4a680448808e5f9dd29bfb1a91de21f75736
7
+ data.tar.gz: 9a9960ea97a7ee74d1e250796a2e954e67bbed160b467da4d63b296a72294e0c9ff9ada4f31596fe4ee9d3c2e5734778d2548395c65fa9db05e5278e7c0b2e1e
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Seo For Camaleon CMS
2
+ Permit to manage the seo attributes for each page of Camaleon CMS.
3
+ ![Alt text](/screenshot.png?raw=true)
4
+
5
+ ## Installation
6
+ - Go to admin -> plugins and activate the plugin
7
+ - Edit your Post Types "Content Types" settings to enable or disable SEO
8
+
9
+ ## Development
10
+
11
+ The suite runs against a camaleon_cms-backed dummy Rails app under `spec/` (the Ruby version comes
12
+ from `.tool-versions`):
13
+
14
+ ```bash
15
+ bundle install
16
+ (cd spec/dummy && RAILS_ENV=test bin/rails db:test:prepare)
17
+ bin/rspec
18
+ ```
19
+
20
+ Lint with the same configuration CI enforces:
21
+
22
+ ```bash
23
+ bin/rubocop
24
+ ```
25
+
26
+ ## Releasing
27
+
28
+ Bump `lib/cama_meta_tag/version.rb`, cut a `## <version>` section in `CHANGELOG.md`, merge, then
29
+ run the **Release** workflow from the Actions tab on `master`, typing that same version. The
30
+ workflow refuses to run without a green CI run for the released commit, publishes the gem to
31
+ RubyGems, and creates the tag and GitHub release.
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'bundler/setup'
3
5
  rescue LoadError
@@ -10,28 +12,11 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
12
  rdoc.rdoc_dir = 'rdoc'
11
13
  rdoc.title = 'CamaMetaTag'
12
14
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
15
+ rdoc.rdoc_files.include('README.md')
14
16
  rdoc.rdoc_files.include('lib/**/*.rb')
15
17
  end
16
18
 
17
- APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
- load 'rails/tasks/engine.rake'
19
-
20
-
21
- load 'rails/tasks/statistics.rake'
22
-
23
-
24
-
19
+ # The suite is run with bin/rspec against the camaleon_cms-backed dummy app under spec/dummy, so the
20
+ # dummy-app engine tasks and the default `test` task are intentionally absent.
21
+ # `Bundler::GemHelper.install_tasks` still provides build/install/release.
25
22
  Bundler::GemHelper.install_tasks
26
-
27
- require 'rake/testtask'
28
-
29
- Rake::TestTask.new(:test) do |t|
30
- t.libs << 'lib'
31
- t.libs << 'test'
32
- t.pattern = 'test/**/*_test.rb'
33
- t.verbose = false
34
- end
35
-
36
-
37
- task default: :test
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The plugin's admin settings page, which stores the post types selected for the SEO fields.
1
4
  class Plugins::CamaMetaTag::AdminController < CamaleonCms::Apps::PluginsAdminController
2
5
  include Plugins::CamaMetaTag::MainHelper
6
+
3
7
  def settings
4
8
  # actions for admin panel
5
9
  end
@@ -1,83 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Hook handlers for the cama_meta_tag plugin, named in config/camaleon_plugin.json. They add the SEO
4
+ # fields to the admin post, category and post type forms, store the ones submitted for a category or
5
+ # a post type (camaleon_cms stores a post's own), and override the frontend meta tags with the options
6
+ # saved on the visited object.
1
7
  module Plugins::CamaMetaTag::MainHelper
8
+ # The SEO attributes the plugin manages, keyed by meta tag, with the option each is stored under.
9
+ META_TAG_OPTIONS = { title: 'seo_title', keywords: 'keywords', description: 'seo_description',
10
+ author: 'seo_author', image: 'seo_image', canonical: 'seo_canonical' }.freeze
2
11
 
3
12
  # here all actions on going to active
4
13
  # you can run sql commands like this:
5
14
  # results = ActiveRecord::Base.connection.execute(query);
6
15
  # plugin: plugin model
7
- def cama_meta_tag_on_active(plugin)
8
- end
16
+ def cama_meta_tag_on_active(plugin); end
9
17
 
10
18
  # here all actions on going to inactive
11
19
  # plugin: plugin model
12
- def cama_meta_tag_on_inactive(plugin)
13
- end
20
+ def cama_meta_tag_on_inactive(plugin); end
14
21
 
22
+ # Overrides camaleon_cms's default meta tags on a visited post, post type or category with the SEO
23
+ # options saved on it.
15
24
  def cama_meta_tag_on_seo(args)
16
- if is_page? || is_category? || is_post_type?
17
- page = args[:object].present? ? args[:object] : @cama_visited_post
18
- tmp = {
19
- title: page.get_option('seo_title').to_s.translate,
20
- keywords: page.get_option('keywords').to_s.translate,
21
- descr: page.get_option('seo_description').to_s.translate,
22
- author: page.get_option('seo_author').to_s.translate,
23
- image: page.get_option('seo_image').to_s.translate,
24
- canonical: page.get_option('seo_canonical').to_s.translate
25
- }
26
- args[:seo_data][:keywords] = tmp[:keywords] if tmp[:keywords].present?
27
- args[:seo_data][:author] = tmp[:author] if tmp[:author].present?
28
- args[:seo_data][:canonical] = tmp[:canonical] if tmp[:canonical].present?
29
- if tmp[:title].present?
30
- args[:seo_data][:title] = tmp[:title]
31
- args[:seo_data][:og][:title] = tmp[:title]
32
- args[:seo_data][:twitter][:title] = tmp[:title]
33
- end
34
- if tmp[:descr].present?
35
- args[:seo_data][:description] = tmp[:descr]
36
- args[:seo_data][:og][:description] = tmp[:descr]
37
- args[:seo_data][:twitter][:description] = tmp[:descr]
38
- end
39
- if tmp[:image].present?
40
- args[:seo_data][:image] = tmp[:image]
41
- args[:seo_data][:twitter][:image] = tmp[:image]
42
- args[:seo_data][:og][:image] = tmp[:image]
43
- end
44
- end
45
- end
46
-
47
- # fix for old versions of camaleon cms
48
- def cama_meta_tag_post_saved(args)
49
- if cama_meta_tag_post_is_for_old_version?(args[:post])
50
- args[:post].set_multiple_options(params[:options].permit!.to_h)
51
- end
52
- end
25
+ return unless is_page? || is_category? || is_post_type?
53
26
 
54
- # check if seo plugin is running for Camaleon CMS <= 2.3.6
55
- def cama_meta_tag_post_is_for_old_version?(post)
56
- !post.respond_to?(:manage_seo?)
27
+ # camaleon_cms passes the visited object; the controller ivar is the fallback when it does not.
28
+ page = args[:object].presence || @cama_visited_post # rubocop:disable Rails/HelperInstanceVariable
29
+ seo = META_TAG_OPTIONS.transform_values { |option| page.get_option(option).to_s.translate }
30
+ cama_meta_tag_apply_seo(args[:seo_data], seo)
57
31
  end
58
32
 
59
33
  def cama_meta_tag_post_type_saved(args)
60
- args[:post_type].set_multiple_options(params[:options].permit!.to_h)
34
+ args[:post_type].set_multiple_options(cama_meta_tag_submitted_options)
61
35
  end
62
36
 
63
37
  def cama_meta_tag_category_saved(args)
64
- args[:category].set_multiple_options(params[:options].permit!.to_h)
38
+ args[:category].set_multiple_options(cama_meta_tag_submitted_options)
65
39
  end
66
40
 
67
41
  def cama_meta_tag_post_type_form_custom_html(args)
68
- args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'), locals: {post: args[:post_type]})
42
+ args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
43
+ locals: { post: args[:post_type] })
69
44
  end
70
45
 
71
46
  def cama_meta_tag_category_form_custom_html(args)
72
- args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'), locals: {post: args[:category], post_type: args[:category].post_type})
47
+ args[:html] << render(partial: plugin_view('admin/meta_tag_fields', 'cama_meta_tag'),
48
+ locals: { post: args[:category],
49
+ post_type: args[:category].post_type })
73
50
  end
74
51
 
75
52
  def cama_meta_tag_post_form_custom_html(args)
76
- unless cama_meta_tag_post_is_for_old_version?(args[:post])
77
- manage_seo = args[:post].manage_seo?
78
- else
79
- manage_seo = args[:post].manage_keywords?(args[:post_type]) # support for old Camaleon CMS versions (use keywords setting instead of seo setting)
53
+ return unless args[:post].manage_seo?
54
+
55
+ args[:html] << render(partial: plugin_view('admin/meta_tag_fields'),
56
+ locals: { post: args[:post],
57
+ post_type: args[:post_type] })
58
+ end
59
+
60
+ private
61
+
62
+ # Writes each non-blank SEO value over its default; the title, description and image also replace
63
+ # their Open Graph and Twitter copies.
64
+ def cama_meta_tag_apply_seo(seo_data, seo)
65
+ %i[keywords author canonical].each { |key| seo_data[key] = seo[key] if seo[key].present? }
66
+ %i[title description image].each do |key|
67
+ next if seo[key].blank?
68
+
69
+ [seo_data, seo_data[:og], seo_data[:twitter]].each { |data| data[key] = seo[key] }
80
70
  end
81
- args[:html] << render(partial: plugin_view('admin/meta_tag_fields'), locals: {post: args[:post], post_type: args[:post_type]}) if manage_seo
71
+ end
72
+
73
+ # The submitted SEO fields, as text values. Nothing else under `options` is stored: on a post type
74
+ # it would bypass camaleon_cms's own allowlist of post type options. The values are picked directly
75
+ # rather than through `permit`, which reports a nested value under an SEO key as unpermitted and,
76
+ # on a host that raises for those, would fail the save after the record was stored.
77
+ def cama_meta_tag_submitted_options
78
+ options = params[:options]
79
+ return {} unless options.is_a?(ActionController::Parameters)
80
+
81
+ options.to_unsafe_h.slice(*META_TAG_OPTIONS.values).select { |_key, value| value.is_a?(String) }
82
82
  end
83
83
  end
@@ -36,6 +36,5 @@
36
36
  <script type="application/javascript">
37
37
  jQuery(function(){
38
38
  $("#options_seo_image").input_upload({label: '', title: '<%= t('.seo_image', default: t('.seo_image', locale: :en)) %>', type: 'image'});
39
- <% if cama_meta_tag_post_is_for_old_version?(post) %> $('#post_keywords').closest('.form-group').remove(); <% end %>
40
39
  })
41
40
  </script>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "title": "Cama Meta Tags",
3
3
  "descr": "",
4
- "key": "cama_meta_tag", // must be the name of the folder of your plugin, sample: app/views/plugins/<my_plugin> ==> 'my_plugin'
4
+ "key": "cama_meta_tag",
5
5
  "helpers": [
6
6
  "Plugins::CamaMetaTag::MainHelper"
7
7
  ],
@@ -16,12 +16,9 @@
16
16
  "post_form_custom_html": ["cama_meta_tag_post_form_custom_html"],
17
17
  "created_post_type": ["cama_meta_tag_post_type_saved"],
18
18
  "updated_post_type": ["cama_meta_tag_post_type_saved"],
19
- "created_post": ["cama_meta_tag_post_saved"],
20
- "updated_post": ["cama_meta_tag_post_saved"],
21
19
  "category_form": ["cama_meta_tag_category_form_custom_html"],
22
20
  "created_category": ["cama_meta_tag_category_saved"],
23
21
  "updated_category": ["cama_meta_tag_category_saved"],
24
22
  "post_type_settings_form": ["cama_meta_tag_post_type_form_custom_html"]
25
- //here you can add all your hooks (read documentation)
26
23
  }
27
- }
24
+ }
@@ -1,5 +1,7 @@
1
- #Rails.application.config.to_prepare do
1
+ # frozen_string_literal: true
2
+
3
+ # Rails.application.config.to_prepare do
2
4
  # CamaleonCms::Site.class_eval do
3
5
  # has_many :attack, class_name: "Plugins::Attack::Models::Attack"
4
6
  # end
5
- # end
7
+ # end
data/config/routes.rb CHANGED
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.routes.draw do
2
- scope PluginRoutes.system_info["relative_url_root"] do
3
- #Admin Panel
4
- scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
5
- namespace 'plugins' do
6
- namespace 'cama_meta_tag' do
7
- controller :admin do
8
- get :settings
9
- post :save_settings
10
- end
4
+ scope PluginRoutes.system_info['relative_url_root'] do
5
+ # Admin Panel
6
+ scope :admin, as: 'admin', path: PluginRoutes.system_info['admin_path_name'] do
7
+ namespace 'plugins' do
8
+ namespace 'cama_meta_tag' do
9
+ controller :admin do
10
+ get :settings
11
+ post :save_settings
11
12
  end
12
13
  end
13
14
  end
14
15
  end
15
16
  end
17
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaMetaTag
2
4
  class Engine < ::Rails::Engine
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CamaMetaTag
2
- VERSION = "1.7.2"
4
+ VERSION = '1.7.3'
3
5
  end
data/lib/cama_meta_tag.rb CHANGED
@@ -1,4 +1,8 @@
1
- require "cama_meta_tag/engine"
1
+ # frozen_string_literal: true
2
2
 
3
+ require 'cama_meta_tag/engine'
4
+
5
+ # SEO meta tags plugin for Camaleon CMS. The engine puts the plugin's app/ and config/ on the host
6
+ # application's paths, where camaleon_cms discovers it through config/camaleon_plugin.json.
3
7
  module CamaMetaTag
4
8
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # desc "Explaining what the task does"
2
4
  # task :cama_meta_tag do
3
5
  # # Task goes here
metadata CHANGED
@@ -1,44 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cama_meta_tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen Peredo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-04-27 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.1.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 4.1.0
27
- - !ruby/object:Gem::Dependency
28
- name: sqlite3
29
14
  requirement: !ruby/object:Gem::Requirement
30
15
  requirements:
31
16
  - - ">="
32
17
  - !ruby/object:Gem::Version
33
18
  version: '0'
34
- type: :development
19
+ type: :runtime
35
20
  prerelease: false
36
21
  version_requirements: !ruby/object:Gem::Requirement
37
22
  requirements:
38
23
  - - ">="
39
24
  - !ruby/object:Gem::Version
40
25
  version: '0'
41
- description: Permit to manage the seo attributes for each page of Camaleon CMS.
26
+ description: Manage the SEO attributes (title, keywords, description, author, image
27
+ and canonical link) of Camaleon CMS posts, categories and post types, rendered as
28
+ meta tags on the frontend.
42
29
  email:
43
30
  - owenperedo@gmail.com
44
31
  executables: []
@@ -46,6 +33,7 @@ extensions: []
46
33
  extra_rdoc_files: []
47
34
  files:
48
35
  - MIT-LICENSE
36
+ - README.md
49
37
  - Rakefile
50
38
  - app/controllers/plugins/cama_meta_tag/admin_controller.rb
51
39
  - app/helpers/plugins/cama_meta_tag/main_helper.rb
@@ -59,48 +47,10 @@ files:
59
47
  - lib/cama_meta_tag/engine.rb
60
48
  - lib/cama_meta_tag/version.rb
61
49
  - lib/tasks/cama_meta_tag_tasks.rake
62
- - test/cama_meta_tag_test.rb
63
- - test/dummy/README.rdoc
64
- - test/dummy/Rakefile
65
- - test/dummy/app/assets/javascripts/application.js
66
- - test/dummy/app/assets/stylesheets/application.css
67
- - test/dummy/app/controllers/application_controller.rb
68
- - test/dummy/app/helpers/application_helper.rb
69
- - test/dummy/app/views/layouts/application.html.erb
70
- - test/dummy/bin/bundle
71
- - test/dummy/bin/rails
72
- - test/dummy/bin/rake
73
- - test/dummy/bin/setup
74
- - test/dummy/config.ru
75
- - test/dummy/config/application.rb
76
- - test/dummy/config/boot.rb
77
- - test/dummy/config/database.yml
78
- - test/dummy/config/environment.rb
79
- - test/dummy/config/environments/development.rb
80
- - test/dummy/config/environments/production.rb
81
- - test/dummy/config/environments/test.rb
82
- - test/dummy/config/initializers/assets.rb
83
- - test/dummy/config/initializers/backtrace_silencers.rb
84
- - test/dummy/config/initializers/cookies_serializer.rb
85
- - test/dummy/config/initializers/filter_parameter_logging.rb
86
- - test/dummy/config/initializers/inflections.rb
87
- - test/dummy/config/initializers/mime_types.rb
88
- - test/dummy/config/initializers/session_store.rb
89
- - test/dummy/config/initializers/wrap_parameters.rb
90
- - test/dummy/config/locales/en.yml
91
- - test/dummy/config/routes.rb
92
- - test/dummy/config/secrets.yml
93
- - test/dummy/public/404.html
94
- - test/dummy/public/422.html
95
- - test/dummy/public/500.html
96
- - test/dummy/public/favicon.ico
97
- - test/integration/navigation_test.rb
98
- - test/test_helper.rb
99
50
  homepage: https://github.com/owen2345/camaleon-cms-seo
100
51
  licenses:
101
52
  - MIT
102
53
  metadata: {}
103
- post_install_message:
104
54
  rdoc_options: []
105
55
  require_paths:
106
56
  - lib
@@ -108,52 +58,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
58
  requirements:
109
59
  - - ">="
110
60
  - !ruby/object:Gem::Version
111
- version: '0'
61
+ version: '3.0'
112
62
  required_rubygems_version: !ruby/object:Gem::Requirement
113
63
  requirements:
114
64
  - - ">="
115
65
  - !ruby/object:Gem::Version
116
66
  version: '0'
117
67
  requirements: []
118
- rubygems_version: 3.1.2
119
- signing_key:
68
+ rubygems_version: 4.0.19
120
69
  specification_version: 4
121
- summary: Permit to manage the seo attributes for each page of Camaleon CMS.
122
- test_files:
123
- - test/dummy/app/controllers/application_controller.rb
124
- - test/dummy/app/views/layouts/application.html.erb
125
- - test/dummy/app/assets/javascripts/application.js
126
- - test/dummy/app/assets/stylesheets/application.css
127
- - test/dummy/app/helpers/application_helper.rb
128
- - test/dummy/bin/rake
129
- - test/dummy/bin/setup
130
- - test/dummy/bin/bundle
131
- - test/dummy/bin/rails
132
- - test/dummy/config/secrets.yml
133
- - test/dummy/config/routes.rb
134
- - test/dummy/config/locales/en.yml
135
- - test/dummy/config/environments/production.rb
136
- - test/dummy/config/environments/development.rb
137
- - test/dummy/config/environments/test.rb
138
- - test/dummy/config/environment.rb
139
- - test/dummy/config/application.rb
140
- - test/dummy/config/database.yml
141
- - test/dummy/config/boot.rb
142
- - test/dummy/config/initializers/backtrace_silencers.rb
143
- - test/dummy/config/initializers/mime_types.rb
144
- - test/dummy/config/initializers/filter_parameter_logging.rb
145
- - test/dummy/config/initializers/session_store.rb
146
- - test/dummy/config/initializers/wrap_parameters.rb
147
- - test/dummy/config/initializers/assets.rb
148
- - test/dummy/config/initializers/cookies_serializer.rb
149
- - test/dummy/config/initializers/inflections.rb
150
- - test/dummy/config.ru
151
- - test/dummy/Rakefile
152
- - test/dummy/public/favicon.ico
153
- - test/dummy/public/422.html
154
- - test/dummy/public/500.html
155
- - test/dummy/public/404.html
156
- - test/dummy/README.rdoc
157
- - test/cama_meta_tag_test.rb
158
- - test/integration/navigation_test.rb
159
- - test/test_helper.rb
70
+ summary: SEO meta tags plugin for Camaleon CMS
71
+ test_files: []
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CamaMetaTagTest < ActiveSupport::TestCase
4
- test "truth" do
5
- assert_kind_of Module, CamaMetaTag
6
- end
7
- end
@@ -1,28 +0,0 @@
1
- == README
2
-
3
- This README would normally document whatever steps are necessary to get the
4
- application up and running.
5
-
6
- Things you may want to cover:
7
-
8
- * Ruby version
9
-
10
- * System dependencies
11
-
12
- * Configuration
13
-
14
- * Database creation
15
-
16
- * Database initialization
17
-
18
- * How to run the test suite
19
-
20
- * Services (job queues, cache servers, search engines, etc.)
21
-
22
- * Deployment instructions
23
-
24
- * ...
25
-
26
-
27
- Please feel free to use a different markup language if you do not plan to run
28
- <tt>rake doc:app</tt>.
data/test/dummy/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
-
6
- Rails.application.load_tasks
@@ -1,13 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require_tree .
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */
@@ -1,5 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- # Prevent CSRF attacks by raising an exception.
3
- # For APIs, you may want to use :null_session instead.
4
- protect_from_forgery with: :exception
5
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
- load Gem.bin_path('bundler', 'bundle')
data/test/dummy/bin/rails DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
3
- require_relative '../config/boot'
4
- require 'rails/commands'
data/test/dummy/bin/rake DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require_relative '../config/boot'
3
- require 'rake'
4
- Rake.application.run
data/test/dummy/bin/setup DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'pathname'
3
-
4
- # path to your application root.
5
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
-
7
- Dir.chdir APP_ROOT do
8
- # This script is a starting point to setup your application.
9
- # Add necessary setup steps to this file:
10
-
11
- puts "== Installing dependencies =="
12
- system "gem install bundler --conservative"
13
- system "bundle check || bundle install"
14
-
15
- # puts "\n== Copying sample files =="
16
- # unless File.exist?("config/database.yml")
17
- # system "cp config/database.yml.sample config/database.yml"
18
- # end
19
-
20
- puts "\n== Preparing database =="
21
- system "bin/rake db:setup"
22
-
23
- puts "\n== Removing old logs and tempfiles =="
24
- system "rm -f log/*"
25
- system "rm -rf tmp/cache"
26
-
27
- puts "\n== Restarting application server =="
28
- system "touch tmp/restart.txt"
29
- end