fullstack-cms 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
@@ -48,21 +48,33 @@ class Setting < ActiveRecord::Base
48
48
  end
49
49
 
50
50
 
51
- def self.get(*args)
51
+ def self.get(key, default = nil)
52
52
  cached_settings = Rails.cache.read('fullstack-settings-cache')
53
53
 
54
54
  unless cached_settings
55
55
  cached_settings = {}
56
- Setting.where("locale = ? OR locale IS NULL", I18n.locale.to_s).all.each do |setting|
57
- g = setting.group == "global" ? nil : setting.group
56
+ Setting.all.each do |setting|
57
+ l = setting.locale
58
+ g = setting.group
58
59
  k = [g, setting.key].compact.join('/')
59
- cached_settings[k] = setting.value if setting.value
60
+ cached_settings[l] ||= {}
61
+ cached_settings[l][k] = setting.value if setting.value
60
62
  end
61
63
 
62
64
  Rails.cache.write('fullstack-settings-cache', cached_settings)
63
65
  end
64
66
 
65
- cached_settings.fetch(*(args[0..1]))
67
+ localized_settings = cached_settings[I18n.locale.to_s] || {}
68
+ unlocalized_settings = cached_settings[nil] || {}
69
+
70
+ key_segments = key.to_s.split("/")
71
+ if key_segments.size == 1
72
+ key_segments.unshift("global")
73
+ end
74
+
75
+ key = key_segments.join("/")
76
+
77
+ localized_settings[key] || unlocalized_settings[key] || default
66
78
  end
67
79
 
68
80
  # using Setting.get is simpler, expecially if you don't want 'autocreate' feature
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "fullstack-cms"
8
- s.version = "0.4.1"
8
+ s.version = "0.4.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["mcasimir"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fullstack-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -294,7 +294,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
294
294
  version: '0'
295
295
  segments:
296
296
  - 0
297
- hash: 2565561884556814372
297
+ hash: -4405423992718841812
298
298
  required_rubygems_version: !ruby/object:Gem::Requirement
299
299
  none: false
300
300
  requirements: