Sha256: 72be086b59b8584b4d6d1db7f4b059398bbe9a49ae6aae00b7fc2f44170a9a8b

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

require 'spectus/expectation_target'
require 'spectus/matchers'

module Fix
  # Wraps the target of an expectation.
  #
  # @api private
  #
  class It < Spectus::ExpectationTarget
    include ::Spectus::Matchers

    # Create a new expection target
    #
    # @param subject    [BasicObject] The front object.
    # @param challenges [Array]       The list of challenges.
    # @param helpers    [Hash]        The list of helpers.
    def initialize(subject, challenges, helpers)
      @subject    = subject
      @challenges = challenges
      @helpers    = helpers
    end

    # @!attribute [r] helpers
    #
    # @return [Hash] The list of helpers.
    attr_reader :helpers

    # Verify the expectation.
    #
    # @param spec [Proc] A spec to compare against the computed actual value.
    #
    # @return [::Spectus::Result::Pass, ::Spectus::Result::Fail] Pass or fail.
    def verify(&spec)
      instance_eval(&spec)
    rescue ::Spectus::Result::Fail => f
      f
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fix-0.17.2 lib/fix/it.rb