Sha256: 630d29347b537c0b55b56585900eed598a6a1768cc2167bc6d77fc3372935491

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

##
# @file brine.rb
# Loader file for the rest of brine.
#
# The primary goal of this file is to load all resources needed to use brine.
# A secondary goal which should inform how that is done is that loading this
# file by itself should provide new objects but not otherwise impact existing
# state such as by  modifying the World or defining any Steps, Transforms, etc.
# Those types of changes should be done by @ref #brine_mix.

require 'brine/cleaner_upper'
require 'brine/mustache_binder'
require 'brine/requester'
require 'brine/util'
require 'brine/selector'
require 'brine/type_checks'

##
# Meta-module for modules to mix into World.
module Brine
  include CleanerUpper
  include MustacheBinder
  include Requesting
  include BrineUtil
  include Selection
  include TypeChecking
end

##
# Load the files with side effects and return @ref Brine.
#
# Expected to be called as `World(brine_mix)`
def brine_mix
  require 'brine/step_definitions/assignment'
  require 'brine/step_definitions/request_construction'
  require 'brine/step_definitions/assertions'
  require 'brine/step_definitions/cleanup'
  require 'brine/step_definitions/selection'

  require 'brine/transforms'
  require 'brine/rest_steps'
  require 'brine/hooks'
  Brine
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brine-dsl-0.9.0 lib/brine.rb
brine-dsl-0.8.1 lib/brine.rb
brine-dsl-0.8.0 lib/brine.rb