Sha256: f65ebc4fac2a777deeabec06ae346d2f9c709229641042bb79cc4264baf0630f

Contents?: true

Size: 830 Bytes

Versions: 2

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

require_relative "necromancer/context"
require_relative "necromancer/version"

module Necromancer
  # Raised when cannot conver to a given type
  ConversionTypeError = Class.new(StandardError)

  # Raised when conversion type is not available
  NoTypeConversionAvailableError = Class.new(StandardError)

  # Create a conversion instance
  #
  # @example
  #   converter = Necromancer.new
  #
  # @return [Context]
  #
  # @api private
  def new(&block)
    Context.new(&block)
  end
  module_function :new

  # Convenience to directly call conversion
  #
  # @example
  #   Necromancer.convert("1").to(:integer)
  #   # => 1
  #
  # @return [ConversionTarget]
  #
  # @api public
  def convert(*args, &block)
    Context.new.convert(*args, &block)
  end
  module_function :convert
end # Necromancer

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
necromancer-0.7.0 lib/necromancer.rb
necromancer-0.6.0 lib/necromancer.rb