diff options
author | Christoph Helma <helma@in-silico.ch> | 2011-03-11 14:29:13 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2011-03-11 14:29:13 +0100 |
commit | 96d500e9691eedbfdd57ec35a2572b59641377f3 (patch) | |
tree | 211391f36e269bf36ca09d54aab0d93ababfa412 /lib/data_mapper_util.rb | |
parent | 5f243f1e9e0a8e12cd8a2267bcec3140d21bf445 (diff) | |
parent | 7cd9c9656010b88b7e41477e1571cb7e722650c4 (diff) |
Merge branch 'release/v1.0.1'v1.0.1
Diffstat (limited to 'lib/data_mapper_util.rb')
-rw-r--r-- | lib/data_mapper_util.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/data_mapper_util.rb b/lib/data_mapper_util.rb new file mode 100644 index 0000000..23f52f5 --- /dev/null +++ b/lib/data_mapper_util.rb @@ -0,0 +1,37 @@ + +#DataObjects::Mysql.logger = DataObjects::Logger.new(STDOUT, 0) + +module Lib + module DataMapperUtil + + def self.check_params(model, params) + prop_names = model.properties.collect{|p| p.name.to_s if p.is_a?DataMapper::Property::Object} + params.keys.each do |k| + key = k.to_s + if (key == "subjectid") + params.delete(k) + else + unless prop_names.include?(key) + key = key.from_rdf_format + unless prop_names.include?(key) + key = key+"_uri" + unless prop_names.include?(key) + key = key+"s" + unless prop_names.include?(key) + raise OpenTox::BadRequestError.new "no attribute found: '"+k.to_s+"'" + end + end + end + end + params[key.to_sym] = params.delete(k) + end + end + params + end + + def self.all(model, filter_params) + model.all(check_params(model,filter_params)) + end + + end +end
\ No newline at end of file |