Sha256: 629597243edd12c07b201c6b5126407af5284cc8c6b5a0509cbb1c9efe046875

Contents?: true

Size: 800 Bytes

Versions: 2

Compression:

Stored size: 800 Bytes

Contents

module RSpec
  module RubyContentMatchers
    class HaveClass

      attr_reader :klass

      def initialize(klass)
        @klass = klass.to_s.camelize      
      end

      def matches?(content)      
        @content = content
        match_res = (@content =~ /class\s+#{@klass}\s+(.*)end/m)
        if block_given? && $1
          ruby_content = $1.strip.extend(RSpec::RubyContent::Helpers)
          yield ruby_content 
        else
          match_res
        end
      end          
    
      def failure_message
        "Expected there to be the class #{klass}"
      end 
      
      def negative_failure_message
        "Did no expected there to be the class #{klass}"
      end
                 
    end
    
    def have_class(klass)
      HaveClass.new(klass)
    end    
  end  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspec_for_generators-0.3.1 lib/rspec_for_generators/matchers/content/have_class.rb
rspec_for_generators-0.3.0 lib/rspec_for_generators/matchers/content/have_class.rb