Sha256: ce94594ba531ac1f659966bcc60327a530204af1ff69d150e9bef098a21ffe60

Contents?: true

Size: 649 Bytes

Versions: 2

Compression:

Stored size: 649 Bytes

Contents

module Spec
  module Matchers
    def method_missing(sym, *args, &block) # :nodoc:

      begin
        language = SpecI18n.natural_language
        be_word = language.keywords['matchers']['be']      
        sym = be_to_english(sym, be_word)
      end
      
      return Matchers::BePredicate.new(sym, *args, &block) if sym.to_s =~ /^be_/
      return Matchers::Has.new(sym, *args, &block) if sym.to_s =~ /^have_/
      
      super
    end
    
    # :ser_matcher == :be_matcher
    # :be_true == :be_true
    def be_to_english(sym, be_word)
      be_word = be_word || 'be'
      
      sym.to_s.gsub(/#{be_word}/, 'be').to_sym
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspec-i18n-1.1.0 lib/spec-i18n/matchers/method_missing.rb
rspec-i18n-1.0.0 lib/spec-i18n/matchers/method_missing.rb