diff options
author | Stefan Wintermeyer <stefan.wintermeyer@amooma.de> | 2013-06-20 19:06:19 +0200 |
---|---|---|
committer | Stefan Wintermeyer <stefan.wintermeyer@amooma.de> | 2013-06-20 19:06:19 +0200 |
commit | eb0e1cc5c26275ff3e5c341404e8bc558f8312b8 (patch) | |
tree | 71f449ccd6f15422717de3ac24f87d5e888ddd79 /app/models/gs_parameter.rb | |
parent | df6e17e48995f25e72509986f30700d778b179b6 (diff) | |
parent | 3b27a5d45b12f6bac65da2a8e17387bfda42a2f1 (diff) |
Merge branch 'develop'
Diffstat (limited to 'app/models/gs_parameter.rb')
-rw-r--r-- | app/models/gs_parameter.rb | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/app/models/gs_parameter.rb b/app/models/gs_parameter.rb index cd4f47b..f301e95 100644 --- a/app/models/gs_parameter.rb +++ b/app/models/gs_parameter.rb @@ -17,22 +17,37 @@ class GsParameter < ActiveRecord::Base else item = GsParameter.where(:name => wanted_variable).first end - if item.nil? || item.class_type == 'Nil' - return nil - else - return item.value.to_i if item.class_type == 'Integer' - return item.value.to_s if item.class_type == 'String' - if item.class_type == 'Boolean' - return true if item.value == 'true' - return false if item.value == 'false' - end - return YAML.load(item.value) if item.class_type == 'YAML' - end + return GsParameter.cast_variable(item) else nil end end + def self.get_list(entity, section) + items = {} + if GsParameter.table_exists? + GsParameter.where(:entity => entity, :section => section).each do |item| + items[item.name] = GsParameter.cast_variable(item) + end + end + + return items + end + + def self.cast_variable(item) + if item.nil? || item.class_type == 'Nil' + return nil + else + return item.value.to_i if item.class_type == 'Integer' + return item.value.to_s if item.class_type == 'String' + if item.class_type == 'Boolean' + return true if item.value == 'true' + return false if item.value == 'false' + end + return YAML.load(item.value) if item.class_type == 'YAML' + end + end + def to_s name end |