diff options
author | Martin Gütlein <martin.guetlein@gmail.com> | 2013-04-16 15:40:07 +0300 |
---|---|---|
committer | Martin Gütlein <martin.guetlein@gmail.com> | 2013-04-16 15:40:07 +0300 |
commit | 5fa051cc0997a9f734d7c08968855da1a076f0e1 (patch) | |
tree | aa813d17f63dd9b60423c25bf36bce62541ba1b4 /lib/opentox.rb | |
parent | f7e130d1729e06510b5678c251e51b5377b422e3 (diff) |
Update opentox.rb
group review of opentox.rb accomplished
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r-- | lib/opentox.rb | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb index db7ba5c..309a47d 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -48,6 +48,9 @@ module OpenTox @metadata[predicate] = [values].flatten end + # Object parameters (lazy loading) + # {http://opentox.org/dev/apis/api-1.2/interfaces OpenTox API} + # @return [Hash] Object parameters def parameters force_update=false if (@parameters.empty? or force_update) and URI.accessible? @uri get if @rdf.empty? or force_update @@ -66,12 +69,16 @@ module OpenTox end @parameters end - + + # Parameter value + # @param [String] title + # @return [String] value def parameter_value title @parameters.collect{|p| p[RDF::OT.paramValue] if p[RDF::DC.title] == title}.compact.first end # Get object from webservice + # @param [String,optional] mime_type def get mime_type="text/plain" bad_request_error "Mime type #{mime_type} is not supported. Please use 'text/plain' (default) or 'application/rdf+xml'." unless mime_type == "text/plain" or mime_type == "application/rdf+xml" response = RestClientWrapper.get(@uri,{},{:accept => mime_type, :subjectid => @subjectid}) @@ -84,6 +91,7 @@ module OpenTox end # Post object to webservice (append to object), rarely useful and deprecated + # @deprecated def post wait=true, mime_type="text/plain" bad_request_error "Mime type #{mime_type} is not supported. Please use 'text/plain' (default) or 'application/rdf+xml'." unless mime_type == "text/plain" or mime_type == "application/rdf+xml" case mime_type @@ -117,7 +125,7 @@ module OpenTox def service_uri self.class.service_uri end - + def create_rdf @rdf = RDF::Graph.new @metadata[RDF.type] ||= eval("RDF::OT."+self.class.to_s.split('::').last) @@ -132,7 +140,8 @@ module OpenTox parameter.each { |k,v| @rdf << [p_node, k, v] } end end - + + # as defined in opentox-client.rb RDF_FORMATS.each do |format| # rdf parse methods for all formats e.g. parse_rdfxml @@ -165,7 +174,8 @@ module OpenTox to_turtle.to_html end - { :title => RDF::DC.title, :dexcription => RDF::DC.description, :type => RDF.type }.each do |method,predicate| + # short access for metadata keys title, description and type + { :title => RDF::DC.title, :description => RDF::DC.description, :type => RDF.type }.each do |method,predicate| send :define_method, method do self.[](predicate) end @@ -175,6 +185,7 @@ module OpenTox end # create default OpenTox classes with class methods + # (defined in opentox-client.rb) CLASSES.each do |klass| c = Class.new do include OpenTox @@ -184,6 +195,8 @@ module OpenTox uris.collect{|uri| self.new(uri, subjectid)} end + #@example fetching a model + # OpenTox::Model.find(<model-uri>) -> model-object def self.find uri, subjectid=nil URI.accessible?(uri) ? self.new(uri, subjectid) : nil end |