module Croesus::Utils::ClassMethods
Public Instance Methods
callable(call_her)
click to toggle source
# File lib/croesus/utils.rb, line 30 def callable(call_her) call_her.respond_to?(:call) ? call_her : lambda { call_her } end
caller_name()
click to toggle source
# File lib/croesus/utils.rb, line 46 def caller_name caller_locations(2, 1).first.label end
camelize(underscored_word)
click to toggle source
# File lib/croesus/utils.rb, line 34 def camelize(underscored_word) underscored_word.to_s.gsub(/(?:^|_)(.)/) { $1.upcase } end
class_name()
click to toggle source
# File lib/croesus/utils.rb, line 42 def class_name demodulize(self.class) end
classify(table_name)
click to toggle source
# File lib/croesus/utils.rb, line 38 def classify(table_name) camelize singularize(table_name.to_s.sub(/.*\./, '')) end
demodulize(class_name_in_module)
click to toggle source
# File lib/croesus/utils.rb, line 50 def demodulize(class_name_in_module) class_name_in_module.to_s.sub(/^.*::/, '') end
pluralize(word)
click to toggle source
# File lib/croesus/utils.rb, line 54 def pluralize(word) word.to_s.sub(/([^s])$/, '\1s') end
request_id()
click to toggle source
# File lib/croesus/utils.rb, line 79 def request_id SecureRandom.uuid end
singularize(word)
click to toggle source
# File lib/croesus/utils.rb, line 58 def singularize(word) word.to_s.sub(/s$/, '').sub(/ie$/, 'y') end
twenty_four_hours_ago()
click to toggle source
# File lib/croesus/utils.rb, line 83 def twenty_four_hours_ago Time.now - ( 60 * 60 * 24) end
underscore(camel_cased_word)
click to toggle source
# File lib/croesus/utils.rb, line 62 def underscore(camel_cased_word) word = camel_cased_word.to_s.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
utc_httpdate()
click to toggle source
Return the date and time in “HTTP-date” format as defined by RFC 7231.
@return [Date,Time] in “HTTP-date” format
# File lib/croesus/utils.rb, line 75 def utc_httpdate Time.now.utc.httpdate end
verify_options(accepted, actual) { || ... }
click to toggle source
# File lib/croesus/utils.rb, line 87 def verify_options(accepted, actual) # @private return unless debug || $DEBUG unless (act=Set[*actual.keys]).subset?(acc=Set[*accepted]) raise Croesus::Errors::UnknownOption, "\nDetected unknown option(s): #{(act - acc).to_a.inspect}\n" << "Accepted options are: #{accepted.inspect}" end yield if block_given? end