Sha256: 182dcee169aa92e7689fe9794aaeb755d2087c6cf269c7b66a65fba347bf9e0b

Contents?: true

Size: 659 Bytes

Versions: 1

Compression:

Stored size: 659 Bytes

Contents

module Shoulda
  module Matchers
    class MatcherContext
      def initialize(context)
        @context = context
      end

      def subject_is_a_class?
        if inside_a_shoulda_context_project? && outside_a_should_block?
          assume_that_subject_is_not_a_class
        else
          context.subject.is_a?(Class)
        end
      end

      protected

      attr_reader :context

      private

      def inside_a_shoulda_context_project?
        defined?(Shoulda::Context)
      end

      def outside_a_should_block?
        context.is_a?(Class)
      end

      def assume_that_subject_is_not_a_class
        false
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoulda-matchers-2.8.0.rc1 lib/shoulda/matchers/matcher_context.rb