Sha256: d2f7a60c31c0760c61dd1d82b2550230c65be9847fcadf884abcf470eda4138d

Contents?: true

Size: 754 Bytes

Versions: 5

Compression:

Stored size: 754 Bytes

Contents

module RSpecCandy
  module Switcher
    extend self

    def rspec_version
      if defined?(RSpec)
        :rspec2
      elsif defined?(Spec)
        :rspec1
      else
        raise 'Cannot determine RSpec version'
      end
    end

    def rails_version
      if Rails.version.to_i < 3
        :rails2
      else
        :rails3
      end
    end

    def rails_loaded?
      defined?(Rails)
    end

    def new_mock(*args)
      rspec_root.const_get(:Mocks).const_get(:Mock).new(*args)
    end

    def rspec_root
      (defined?(RSpec) ? RSpec : Spec)
    end

    def rspec_matcher_registry
      rspec_root.const_get(:Matchers)
    end

    def define_matcher(*args, &block)
      rspec_matcher_registry.define(*args, &block)
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rspec_candy-0.2.1 lib/rspec_candy/switcher.rb
rspec_candy-0.2.0 lib/rspec_candy/switcher.rb
rspec_candy-0.1.2 lib/rspec_candy/switcher.rb
rspec_candy-0.1.1 lib/rspec_candy/switcher.rb
rspec_candy-0.1.0 lib/rspec_candy/switcher.rb