From 64e5d2890f42cef112fbe768f6bfd54b746686de Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 3 Dec 2010 14:37:09 +0100 Subject: underscore method added to String class --- lib/overwrite.rb | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) (limited to 'lib/overwrite.rb') 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' -- cgit v1.2.3