Sha256: 81e0ec4fc91f686cf2c1f17fb60a603a912be8a9d1d47a83e55e55c516823dcc

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module RSpec::RailsApp::ArtifactClass  
  module Matchers
    class HaveArtifactSubclass < RSpec::RubyContentMatchers::HaveSubclass
      def failure_message
        super
        "Expected the code to have a #{postfix} subclass called #{name}"
      end 

      def negative_failure_message
        super
        "Did not expect he code to have a #{type} subclass called #{name}"
      end      
    end

    def have_artifact_subclass klass, superclass, type=nil
      HaveArtifactSubclass.new klass, superclass, type
    end
    
    def have_observer_class klass
      have_artifact_subclass klass, 'ActiveRecord::Observer', :observer
    end     
#    alias_method :be_observer_class, :have_observer_class

    def have_mailer_class klass   
      have_artifact_subclass klass, 'ActionMailer::Base'
    end      
#    alias_method :be_mailer_class, :have_mailer_class

    def have_migration_class klass
      have_artifact_subclass klass, 'ActiveRecord::Migration'
    end      
#    alias_method :be_migration_class, :have_migration_class
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails-app-spec-0.2.0 lib/rails_app_spec/matchers/artifact/class/have_artifact_subclass.rb
rails-app-spec-0.1.0 lib/rails_app_spec/matchers/artifact/class/have_artifact_subclass.rb