module Pakyow::Support::ObjectMaker
@api private
Public Class Methods
define_const_for_object_with_name(object_to_define, object_name)
click to toggle source
# File lib/pakyow/support/makeable/object_maker.rb, line 9 def self.define_const_for_object_with_name(object_to_define, object_name) return if object_name.nil? target = object_name.namespace.parts.inject(Object) { |target_for_part, object_name_part| ObjectMaker.define_object_on_target_with_constant_name(Module.new, target_for_part, object_name_part) } ObjectMaker.define_object_on_target_with_constant_name(object_to_define, target, object_name.name) end
define_object_on_target_with_constant_name(object, target, constant_name)
click to toggle source
# File lib/pakyow/support/makeable/object_maker.rb, line 19 def self.define_object_on_target_with_constant_name(object, target, constant_name) constant_name = Support.inflector.camelize(constant_name) unless target.const_defined?(constant_name, false) target.const_set(constant_name, object) end target.const_get(constant_name) end