Module: Lazier
- Defined in:
- lib/lazier.rb,
lib/lazier/hash.rb,
lib/lazier/i18n.rb,
lib/lazier/math.rb,
lib/lazier/string.rb,
lib/lazier/object.rb,
lib/lazier/boolean.rb,
lib/lazier/version.rb,
lib/lazier/datetime.rb,
lib/lazier/settings.rb,
lib/lazier/pathname.rb,
lib/lazier/localizer.rb,
lib/lazier/exceptions.rb,
lib/lazier/configuration.rb
Overview
This file is part of the lazier gem. Copyright (C) 2013 and above Shogun shogun@cowtech.it. Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
Defined Under Namespace
Modules: Boolean, DateTime, Exceptions, Hash, I18n, Math, Object, Pathname, String, TimeZone, Version Classes: Configuration, Localizer, Settings
Class Method Summary (collapse)
-
+ (Float|String) benchmark(message = nil, precision = 0, &block)
Measure the time in milliseconds required to execute the given block.
-
+ (Class) find_class(cls, scope = "::%CLASS%", only_in_scope = false)
Finds a class to instantiate.
-
+ (Settings) load!(*what)
Loads the extensions.
-
+ (Object) load_boolean
Loads Boolean extensions.
-
+ (Object) load_datetime
Loads DateTime extensions.
-
+ (Object) load_hash
Loads Hash extensions.
-
+ (Object) load_math
Loads Math extensions.
-
+ (Object) load_object
Loads Object extensions.
-
+ (Object) load_pathname
Loads Pathname extensions.
-
+ (Object) load_string
Loads String extensions.
-
+ (Settings) settings
Returns the settings for the extensions.
Class Method Details
+ (Float|String) benchmark(message = nil, precision = 0, &block)
Measure the time in milliseconds required to execute the given block.
138 139 140 141 |
# File 'lib/lazier.rb', line 138 def self.benchmark( = nil, precision = 0, &block) rv = Benchmark.ms(&block) ? ("%s (%0.#{precision}f ms)" % [, rv]) : rv end |
+ (Class) find_class(cls, scope = "::%CLASS%", only_in_scope = false)
Finds a class to instantiate.
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/lazier.rb', line 114 def self.find_class(cls, scope = "::%CLASS%", only_in_scope = false) if cls.is_a?(::String) || cls.is_a?(::Symbol) then rv = nil cls = cls.to_s.camelize if only_in_scope then cls.gsub!(/^::/, "") # Mark only search only inside scope else rv = search_class(cls) # Search outside scope end rv = search_class(scope.to_s.gsub(/%CLASS%|[@%$?]/, cls)) if !rv && cls !~ /^::/ && scope.present? # Search inside scope rv || raise(NameError.new("", cls)) else cls.is_a?(::Class) ? cls : cls.class end end |
+ (Settings) load!(*what)
Loads the extensions.
48 49 50 51 52 |
# File 'lib/lazier.rb', line 48 def self.load!(*what) (what.present? ? what : ["object", "boolean", "string", "hash", "datetime", "math", "pathname"]).each { |w| ::Lazier.send("load_#{w}") } yield if block_given? ::Lazier::Settings.instance end |
+ (Object) load_boolean
Loads Boolean extensions.
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/lazier.rb', line 60 def self.load_boolean ::TrueClass.class_eval do include ::Lazier::Object include ::Lazier::Boolean end ::FalseClass.class_eval do include ::Lazier::Object include ::Lazier::Boolean end end |
+ (Object) load_datetime
Loads DateTime extensions.
86 87 88 89 90 91 92 93 94 |
# File 'lib/lazier.rb', line 86 def self.load_datetime Lazier.load_object [::Time, ::Date, ::DateTime].each do |c| c.class_eval { include ::Lazier::DateTime } end ::ActiveSupport::TimeZone.class_eval { include ::Lazier::TimeZone } end |
+ (Object) load_hash
Loads Hash extensions.
78 79 80 81 82 83 |
# File 'lib/lazier.rb', line 78 def self.load_hash ::Hash.class_eval do include Hashie::Extensions::MethodAccess include ::Lazier::Hash end end |
+ (Object) load_math
Loads Math extensions.
97 98 99 100 |
# File 'lib/lazier.rb', line 97 def self.load_math Lazier.load_object ::Math.class_eval { include ::Lazier::Math } end |
+ (Object) load_object
Loads Object extensions.
55 56 57 |
# File 'lib/lazier.rb', line 55 def self.load_object ::Object.class_eval { include ::Lazier::Object } end |
+ (Object) load_pathname
Loads Pathname extensions.
103 104 105 106 |
# File 'lib/lazier.rb', line 103 def self.load_pathname require "pathname" ::Pathname.class_eval { include ::Lazier::Pathname } end |
+ (Object) load_string
Loads String extensions.
73 74 75 |
# File 'lib/lazier.rb', line 73 def self.load_string ::String.class_eval { include ::Lazier::String } end |
+ (Settings) settings
Returns the settings for the extensions.
32 33 34 |
# File 'lib/lazier.rb', line 32 def self.settings ::Lazier::Settings.instance end |