diff options
author | Christoph Helma <helma@in-silico.ch> | 2010-12-03 14:37:09 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2010-12-03 14:37:09 +0100 |
commit | 64e5d2890f42cef112fbe768f6bfd54b746686de (patch) | |
tree | d110ab47aa6df694be297cfded9f07ad101e1e79 /lib/overwrite.rb | |
parent | 351694975c611999856c722d8cc3ae971811bc7b (diff) |
underscore method added to String class
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r-- | lib/overwrite.rb | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb index f39fec3..8d787a6 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -13,26 +13,34 @@ class Sinatra::Base end class String - def task_uri? - self.uri? && !self.match(/task/).nil? - end - - def dataset_uri? - self.uri? && !self.match(/dataset/).nil? - end - - def self.model_uri? - self.uri? && !self.match(/model/).nil? - end + def task_uri? + self.uri? && !self.match(/task/).nil? + end + + def dataset_uri? + self.uri? && !self.match(/dataset/).nil? + end + + def self.model_uri? + self.uri? && !self.match(/model/).nil? + end - def uri? - begin - u = URI::parse(self) - return (u.scheme!=nil and u.host!=nil) - rescue URI::InvalidURIError - return false - end + def uri? + begin + u = URI::parse(self) + return (u.scheme!=nil and u.host!=nil) + rescue URI::InvalidURIError + return false end + end + + 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 require 'logger' |