diff options
author | mguetlein <martin.guetlein@gmail.com> | 2011-01-20 14:30:25 +0100 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2011-01-20 14:30:25 +0100 |
commit | 3af7a871c60fb7d853edd348634d6603fccec101 (patch) | |
tree | a7160458d470ec04b38454bc834198080f1847d2 | |
parent | c4d553732ff4cfa3a4de4d439c5e174ca0e57b53 (diff) |
forgot to check in data_mapper_util
-rw-r--r-- | lib/data_mapper_util.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/data_mapper_util.rb b/lib/data_mapper_util.rb new file mode 100644 index 0000000..25d9d61 --- /dev/null +++ b/lib/data_mapper_util.rb @@ -0,0 +1,60 @@ + +#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 + 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 + params + end + +# def self.all(model, filter_params) +# prop_names = model.properties.collect{|p| p.name.to_s if p.is_a?DataMapper::Property::Object} +# puts prop_names.inspect +# +# filter_params.keys.each do |k| +# key = k.to_s +# 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) +# err = "no attribute found: '"+k.to_s+"'" +# if $sinatra +# $sinatra.halt 400,err +# else +# raise err +# end +# end +# end +# end +# end +# filter_params[key.to_sym] = filter_params.delete(k) +# end +# puts filter_params.inspect +# +# #model.all(filter_params) +# model.all(:model_uris.like => "%") +# end + + end +end
\ No newline at end of file |