Sha256: 4a66e80988dd449b9bba5e13c34b5ea78d3a2c5c6b3153dd041661e9f11722c2
Contents?: true
Size: 1.46 KB
Versions: 9
Compression:
Stored size: 1.46 KB
Contents
String.class_eval do def dirname File.expand_path(File.dirname(self)) end def parent_dirname File.expand_path(File.dirname(self) + "/..") end def expand_path File.expand_path(self) end def to_reader self.to_sym end def to_writer "#{self}=".to_sym end def to_iv "@#{self}" end def to_a [self] end def interpolate binding binding.must_be.a Binding return gsub(/\#\{.+?\}/) do |term| identifier = term.slice(2 .. term.size-2) binding.eval identifier end end def self.secure_token original = [Time.now, (1..10).map{ rand.to_s }] Digest::SHA1.hexdigest(original.flatten.join('--')) end def underscore word = self.dup word.gsub!(/::/, '/') word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.downcase! word end def camelize first_letter_in_uppercase = true if first_letter_in_uppercase gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase } else self[0].chr.downcase + camelize(lower_case_and_underscored_word)[1..-1] end end def constantize names = self.split('::') names.shift if names.empty? || names.first.empty? constant = Object names.each do |name| constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name) end constant end alias_method :blank?, :empty? end
Version data entries
9 entries across 9 versions & 1 rubygems