Module: Genny
- Defined in:
- lib/genny/nil.rb,
lib/genny/uri.rb,
lib/genny/base.rb,
lib/genny/date.rb,
lib/genny/time.rb,
lib/genny/array.rb,
lib/genny/float.rb,
lib/genny/regexp.rb,
lib/genny/string.rb,
lib/genny/boolean.rb,
lib/genny/integer.rb,
lib/genny/version.rb,
lib/genny/json_schema.rb
Defined Under Namespace
Modules: Array, Boolean, Date, Float, Hash, Integer, NilClass, Regexp, String, Time, URI
Constant Summary collapse
- VERSION =
Grabbed from the VERSION file in the root of the gem
begin File.read(File.join(__dir__, "../../../VERSION")).strip rescue Errno::ENOENT "0.0.0-unknown" end
Class Method Summary collapse
-
.extend_core ⇒ Array<klass>
Extend all the Ruby bbase classes with the ‘genny` method.
- .symbolize(hash) ⇒ Object
Class Method Details
.extend_core ⇒ Array<klass>
Extend all the Ruby bbase classes with the ‘genny` method.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/genny/base.rb', line 7 def self.extend_core self.constants.map do |k| genny_module = self.const_get(k) if Kernel.const_defined?(k) && genny_module.is_a?(Module) && genny_module.respond_to?(:genny) Kernel.const_get(k).include(genny_module).instance_eval do def genny(opts = {}) raise NoMethodError, "#{self.name} isn't supported by Genny" unless Genny.constants.include?(self.name.to_sym) Genny.const_get(self.name).genny(opts) end end Kernel.const_get(k) else nil end end.compact end |
.symbolize(hash) ⇒ Object
24 25 26 27 28 |
# File 'lib/genny/base.rb', line 24 def self.symbolize(hash) ::Hash[hash.map { |key, val| [key.to_sym, val] }] end |