diff options
author | Christoph Helma <helma@in-silico.ch> | 2012-02-23 17:56:46 +0000 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2012-02-23 17:56:46 +0000 |
commit | fa9069e13fb6b1c8bb4ebcdf82f1cf1c04ad71ca (patch) | |
tree | efe8bff6c3538c856805cadac832531aa6b0821e /lib/overwrite.rb | |
parent | b651c4d199a7b4d6a06cdefb281601bddd2fc885 (diff) |
(partially) switched back to RestClientWrapper
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r-- | lib/overwrite.rb | 39 |
1 files changed, 39 insertions, 0 deletions
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 + |