summaryrefslogtreecommitdiff
path: root/app/models/gs_parameter.rb
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
commiteb0e1cc5c26275ff3e5c341404e8bc558f8312b8 (patch)
tree71f449ccd6f15422717de3ac24f87d5e888ddd79 /app/models/gs_parameter.rb
parentdf6e17e48995f25e72509986f30700d778b179b6 (diff)
parent3b27a5d45b12f6bac65da2a8e17387bfda42a2f1 (diff)
Merge branch 'develop'
Diffstat (limited to 'app/models/gs_parameter.rb')
-rw-r--r--app/models/gs_parameter.rb37
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