class Necromancer::Context
A class used by Necromancer to provide user interace
@api public
Attributes
conversions[R]
Public Class Methods
new(&block)
click to toggle source
Create a context.
@api private
# File lib/necromancer/context.rb, line 20 def initialize(&block) block.call(configuration) if block_given? @conversions = Conversions.new(configuration) @conversions.load end
Public Instance Methods
can?(source, target)
click to toggle source
Check if this converter can convert source to target
@param [Object] source
the source class
@param [Object] target
the target class
@return [Boolean]
@api public
# File lib/necromancer/context.rb, line 73 def can?(source, target) !conversions[source, target].nil? rescue NoTypeConversionAvailableError false end
configuration()
click to toggle source
The configuration object.
@example
converter = Necromancer.new converter.configuration.strict = true
@return [Necromancer::Configuration]
@api public
# File lib/necromancer/context.rb, line 35 def configuration @configuration ||= Configuration.new end
configure() { |configuration| ... }
click to toggle source
Yields global configuration to a block.
@yield [Necromancer::Configuration]
@example
converter = Necromancer.new converter.configure do |config| config.strict true end
@api public
# File lib/necromancer/context.rb, line 50 def configure yield configuration if block_given? end
convert(object = ConversionTarget::UndefinedValue, &block)
click to toggle source
Converts the object @param [Object] value
any object to be converted
@api public
# File lib/necromancer/context.rb, line 59 def convert(object = ConversionTarget::UndefinedValue, &block) ConversionTarget.for(conversions, object, block) end
inspect()
click to toggle source
Inspect this context
@api public
# File lib/necromancer/context.rb, line 82 def inspect %Q(#<#{self.class}@#{object_id} @config=#{configuration}>) end