camaleon_cms 0.0.2 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of camaleon_cms might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 415c1c54c6394047eed0288ad0bb0952d7ca85a2
4
- data.tar.gz: 64c1a5ef8d255332e774db402f17eadcbf744113
3
+ metadata.gz: f649347d40328e102bf97f667dc9a92a4249da23
4
+ data.tar.gz: d7b11f5924ce4af26805d9100522b352f2fc536d
5
5
  SHA512:
6
- metadata.gz: a5c400e61ba8915efe5023d88a6f182832d4ac9f2a52d375fed953f8a99031b04858cc924751d63d95d1d0cad3f10ad19ceb566c8319f89ef4561b75edccd9e0
7
- data.tar.gz: d3b8a9e9af79d3e80e899df245e4b9a049bde3b4324e394f6f3c82cf6f8cf7d356921d8459536b6f2cfc1535748d332f1624995169cfa55e5d3641428e4c39c5
6
+ metadata.gz: cc798d85dae6d7c2d73c39193990920f491f23c9652d885c81977b943ced6ead22ec380e584c49643aa3e3f56058f5f1c1f1db9d3e19c9caf814f07ded986197
7
+ data.tar.gz: 23f2520908e6f8799424849ac178e1a47d2a5684d5eddad644924abd9b49b19c697de2d2df6dfcd634aeb1e7ed044fca1c438273f2414027cadbf852f963c105
@@ -36,6 +36,7 @@ class AdminController < CamaleonController
36
36
  @_admin_menus = {}
37
37
  @_admin_breadcrumb = []
38
38
  @_extra_models_for_fields = []
39
+ # self.append_view_path(Rails.root.join("app", "apps"))
39
40
  end
40
41
 
41
42
  # trigger hooks for admin panel before admin load
data/lib/Gemfile ADDED
@@ -0,0 +1,25 @@
1
+ source 'https://rubygems.org'
2
+ ##################### CUSTOM GEMS ######################
3
+ gem 'protected_attributes' # used for dynamic attributes (newer versions will be deprecated)
4
+ gem 'bcrypt' # rails password security
5
+ gem 'mini_magick' # image library (resize, crop, captcha, ..)
6
+ gem 'will_paginate' # list pagination
7
+ gem 'will_paginate-bootstrap' # list pagination for bootstrap
8
+
9
+ # others
10
+ gem 'el_finder' # media manager
11
+ gem 'cancancan', '~> 1.10' # user permissions
12
+ gem 'meta-tags' # seo meta tags generatos
13
+ gem 'draper', '~> 1.3' # decorators
14
+
15
+ gem 'rufus-scheduler', '~> 3.1.1' # crontab
16
+ gem "dynamic_sitemaps" # sitemaps
17
+ gem 'actionpack-page_caching' # page caching
18
+ gem 'mobu' # mobile detect
19
+
20
+ # fix for windows users
21
+ group :development do
22
+ gem 'thin', platforms: [:mingw, :mswin]
23
+ gem 'tzinfo-data', platforms: [:mingw, :mswin]
24
+ end
25
+ ##################### END CUSTOM GEMS ######################
@@ -1,3 +1,3 @@
1
1
  module CamaleonCms
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -9,7 +9,7 @@ module CamaleonCms
9
9
  def create_initializer_file
10
10
  copy_file "system.json", "config/system.json"
11
11
  copy_file "plugin_routes.rb", "lib/plugin_routes.rb"
12
- copy_file "../../../../Gemfile", "lib/Gemfile_camaleon"
12
+ # copy_file "Gemfile", "lib/Gemfile_camaleon"
13
13
  directory("apps", "app/apps")
14
14
  append_to_file 'Gemfile' do
15
15
  "\n\n#################### Camaleon CMS include all gems for plugins and themes #################### \nrequire './lib/plugin_routes' \ninstance_eval(PluginRoutes.draw_gems)"
@@ -1,5 +1,4 @@
1
1
  require 'json'
2
- require 'active_support/core_ext/hash/indifferent_access'
3
2
  class PluginRoutes
4
3
  @@_vars = []
5
4
  # load plugin routes if it is enabled
@@ -65,29 +64,32 @@ class PluginRoutes
65
64
 
66
65
  # return plugin information
67
66
  def self.plugin_info(plugin_key)
68
- self.all_plugins.each{|p| return p if p[:key] == plugin_key }
67
+ self.all_plugins.each{|p| return p if p["key"] == plugin_key }
69
68
  nil
70
69
  end
71
70
 
72
71
  # return theme information
73
72
  # if theme_name is nil, the use current site theme
74
73
  def self.theme_info(theme_name)
75
- self.all_themes.each{|p| return p if p[:key] == theme_name }
74
+ self.all_themes.each{|p| return p if p["key"] == theme_name }
76
75
  nil
77
76
  end
78
77
 
79
78
  # return system information
80
79
  def self.system_info
80
+ camaleon_gem = get_gem('camaleon_cms')
81
+ return {} if !camaleon_gem
81
82
  r = cache_variable("system_info"); return r unless r.nil?
82
83
  res = {}
83
- res = JSON.parse(File.read(File.join($camaleon_engine_dir, "config", "system.json"))).with_indifferent_access if $camaleon_engine_dir.present?
84
+ res = JSON.parse(File.read(File.join(camaleon_gem.gem_dir, "config", "system.json")))
85
+ res = res.with_indifferent_access rescue res
84
86
  return cache_variable("system_info", res) unless File.exist?(system_file = File.join(apps_dir, "..", '..', "config", "system.json"))
85
87
  res = res.merge(JSON.parse(File.read(system_file)).with_indifferent_access).with_indifferent_access
86
88
  res["key"] = "system"
87
89
  res["path"] = ''
88
90
  res["kind"] = "system"
89
- res[:hooks] = {} unless res[:hooks].present?
90
- res[:hooks][:on_notification] = (res[:hooks][:on_notification] || []) + ["admin_system_notifications"]
91
+ res["hooks"] = {} unless res["hooks"].present?
92
+ res["hooks"]["on_notification"] = (res["hooks"]["on_notification"] || []) + ["admin_system_notifications"]
91
93
  cache_variable("system_info", res)
92
94
  end
93
95
 
@@ -117,7 +119,7 @@ class PluginRoutes
117
119
  all_plugins.each do |plugin|
118
120
  res << plugin if enabled_ps.include?(plugin["key"])
119
121
  end
120
- res = res.sort_by{|e| e[:position] || 10 }
122
+ res = res.sort_by{|e| e["position"] || 10 }
121
123
  cache_variable("enable_plugins_site_#{site.id}", res)
122
124
  end
123
125
 
@@ -224,11 +226,11 @@ class PluginRoutes
224
226
  def self.draw_gems
225
227
  res = []
226
228
  # recovering gem dependencies
227
- if camaleon_gem = get_gem('camaleon')
228
- res << File.read(File.join(camaleon_gem.gem_dir, "Gemfile")).gsub("source 'https://rubygems.org'", "")
229
+ if camaleon_gem = get_gem('camaleon_cms')
230
+ res << File.read(File.join(camaleon_gem.gem_dir, "lib", "Gemfile")).gsub("source 'https://rubygems.org'", "")
229
231
  else
230
- gem_file = File.join(apps_dir, "..", "..", "lib", "Gemfile_camaleon")
231
- res << File.read(gem_file).gsub("source 'https://rubygems.org'", "") if File.exist?(gem_file)
232
+ puts "You need to install camaleon_cms gem."
233
+ return ""
232
234
  end
233
235
  (self.all_themes + self.all_plugins).each do |item|
234
236
  f = File.join(item["path"], "config", "Gemfile")
@@ -246,14 +248,17 @@ class PluginRoutes
246
248
 
247
249
  # return all plugins located in cms and in this project
248
250
  def self.all_plugins
251
+ camaleon_gem = get_gem('camaleon_cms')
252
+ return [] if !camaleon_gem
249
253
  r = cache_variable("all_plugins"); return r unless (r.nil? || r == [])
250
254
  res = []
251
255
  entries = [".", ".."]
252
- (Dir["#{apps_dir}/plugins/*"] + (defined?($camaleon_engine_dir) ? Dir["#{$camaleon_engine_dir}/app/apps/plugins/*"] : [])).each do |path|
256
+ (Dir["#{apps_dir}/plugins/*"] + Dir["#{camaleon_gem.gem_dir}/app/apps/plugins/*"]).each do |path|
253
257
  entry = path.split("/").last
254
258
  config = File.join(path, "config", "config.json")
255
259
  next if entries.include?(entry) || !File.directory?(path) || !File.exist?(config)
256
- p = JSON.parse(File.read(config)).with_indifferent_access
260
+ p = JSON.parse(File.read(config))
261
+ p = p.with_indifferent_access rescue p
257
262
  p["key"] = entry
258
263
  p["path"] = path
259
264
  p["kind"] = "plugin"
@@ -265,14 +270,17 @@ class PluginRoutes
265
270
 
266
271
  # return an array of all themes installed for all sites
267
272
  def self.all_themes
273
+ camaleon_gem = get_gem('camaleon_cms')
274
+ return [] if !camaleon_gem
268
275
  r = cache_variable("all_themes"); return r unless (r.nil? || r == [])
269
276
  res = []
270
277
  entries = [".", ".."]
271
- (Dir["#{apps_dir}/themes/*"] + (defined?($camaleon_engine_dir) ? Dir["#{$camaleon_engine_dir}/app/apps/themes/*"] : [])).each do |path|
278
+ (Dir["#{apps_dir}/themes/*"] + Dir["#{camaleon_gem.gem_dir}/app/apps/themes/*"]).each do |path|
272
279
  entry = path.split("/").last
273
280
  config = File.join(path, "config", "config.json")
274
281
  next if entries.include?(entry) || !File.directory?(path) || !File.exist?(config)
275
- p = JSON.parse(File.read(config)).with_indifferent_access
282
+ p = JSON.parse(File.read(config))
283
+ p = p.with_indifferent_access rescue p
276
284
  p["key"] = entry
277
285
  p["path"] = path
278
286
  p["kind"] = "theme"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen Peredo Diaz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-22 00:00:00.000000000 Z
11
+ date: 2015-08-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Camaleon CMS is a dynamic and advanced content management system based
14
14
  on Ruby on Rails 4 as an alternative to Wordpress.
@@ -611,6 +611,7 @@ files:
611
611
  - config/sitemap.rb
612
612
  - config/system.json
613
613
  - db/migrate/20150611161134_post_table_into_utf8.rb
614
+ - lib/Gemfile
614
615
  - lib/ca-bundle.crt
615
616
  - lib/camaleon_cms.rb
616
617
  - lib/camaleon_cms/engine.rb