Sha256: 4cada877ec3b7deba8dfd0489e7acb135ecaefac3407228d39041fc19dfa3918

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require 'json'
require 'hashie'
require 'hashie/extensions/symbolize_keys'

require 'compel/coercion/type'
require 'compel/coercion/integer'
require 'compel/coercion/float'
require 'compel/coercion/string'
require 'compel/coercion/date'
require 'compel/coercion/time'
require 'compel/coercion/datetime'
require 'compel/coercion/hash'
require 'compel/coercion/json'
require 'compel/coercion/boolean'
require 'compel/coercion/regexp'

require 'compel/exceptions/invalid_hash_error'
require 'compel/exceptions/validation_error'
require 'compel/exceptions/type_error'

require 'compel/validators/base'
require 'compel/validators/type_validator'
require 'compel/validators/hash_validator'

require 'compel/builder/methods'
require 'compel/contract'
require 'compel/coercion'
require 'compel/validation'
require 'compel/errors'

module Compel

  extend Builder::Methods

  def self.run!(params, schema)
    Contract.new(params, schema).validate.raise?
  end

  def self.run?(params, schema)
    Contract.new(params, schema).validate.valid?
  end

  def self.run(params, schema)
    Contract.new(params, schema).validate.serialize
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
compel-0.2.0 lib/compel.rb