lib/qo.rb

Summary

Maintainability
A
0 mins
Test Coverage
# Wildcard matching
require 'any'

require "qo/version"

# Public API
require 'qo/exceptions'
require 'qo/public_api'

module Qo
  # Identity function that returns its argument directly. Argument name is
  # important, as it will extract the literal identity of the object in
  # the case of a non-destructured match, and the object itself in the
  # case of a destructured one.
  IDENTITY = -> itself { itself }

  extend Qo::Exceptions
  extend Qo::PublicApi
end

# Destructurers
require 'qo/destructurers/destructurers'

# Matchers
require 'qo/matchers/matcher'

# Branches
require 'qo/branches/branches'

# Pattern Matchers
require 'qo/pattern_matchers/pattern_matchers'