summaryrefslogtreecommitdiff
path: root/lib/overwrite.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2010-12-03 14:37:09 +0100
committerChristoph Helma <helma@in-silico.ch>2010-12-03 14:37:09 +0100
commit64e5d2890f42cef112fbe768f6bfd54b746686de (patch)
treed110ab47aa6df694be297cfded9f07ad101e1e79 /lib/overwrite.rb
parent351694975c611999856c722d8cc3ae971811bc7b (diff)
underscore method added to String class
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r--lib/overwrite.rb44
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'