From fa9069e13fb6b1c8bb4ebcdf82f1cf1c04ad71ca Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 23 Feb 2012 17:56:46 +0000 Subject: (partially) switched back to RestClientWrapper --- lib/overwrite.rb | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lib/overwrite.rb (limited to 'lib/overwrite.rb') diff --git a/lib/overwrite.rb b/lib/overwrite.rb new file mode 100644 index 0000000..e883d45 --- /dev/null +++ b/lib/overwrite.rb @@ -0,0 +1,39 @@ +class String + def underscore + self.gsub(/::/, '/'). + gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). + gsub(/([a-z\d])([A-Z])/,'\1_\2'). + tr("-", "_"). + downcase + end +end + +module URI + + def self.task? uri + uri =~ /task/ and URI.valid? uri + end + + def self.dataset? uri, subjectid=nil + uri =~ /dataset/ and URI.accessible? uri, subjectid=nil + end + + def self.model? uri, subjectid=nil + uri =~ /model/ and URI.accessible? uri, subjectid=nil + end + + def self.accessible? uri, subjectid=nil + Net::HTTP.get_response(URI.parse(uri)) + true + rescue + false + end + + def self.valid? uri + u = URI::parse(uri) + u.scheme!=nil and u.host!=nil + rescue URI::InvalidURIError + false + end +end + -- cgit v1.2.3