Sha256: a89191cac6e4f8db09127b4a804ba90a587bdd3c4dd6ef2f16ee1ad2b62b3d03

Contents?: true

Size: 749 Bytes

Versions: 55

Compression:

Stored size: 749 Bytes

Contents

class Object
  def responds_to(sym)
    singleton_class.class_eval <<-END
      def respond_to?(sym, include_private=false)
        sym.to_sym == #{sym.to_sym.inspect} ? true : super
      end
    END
  end

  def does_not_respond_to(sym)
    singleton_class.class_eval <<-END
      def respond_to?(sym, include_private=false)
        sym.to_sym == #{sym.to_sym.inspect} ? false : super
      end
    END
  end

  def undefine(sym)
    singleton_class.class_eval <<-END
      undef_method #{sym.to_sym.inspect}
    END
  end

  def fake!(sym, value=nil)
    responds_to sym

    singleton_class.class_eval <<-END
      def method_missing(sym, *args)
        return #{value.inspect} if sym.to_sym == #{sym.to_sym.inspect}
      end
    END
  end
end

Version data entries

55 entries across 55 versions & 3 rubygems

Version Path
rhodes-5.5.18 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.17 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.15 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.0.22 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.2 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.0.7 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.0.3 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-5.5.0 lib/extensions/mspec/mspec/helpers/ducktype.rb
tauplatform-1.0.3 lib/extensions/mspec/mspec/helpers/ducktype.rb
mspec-1.9.1 lib/mspec/helpers/ducktype.rb
mspec-1.9.0 lib/mspec/helpers/ducktype.rb
tauplatform-1.0.2 lib/extensions/mspec/mspec/helpers/ducktype.rb
tauplatform-1.0.1 lib/extensions/mspec/mspec/helpers/ducktype.rb
mspec-1.8.0 lib/mspec/helpers/ducktype.rb
mspec-1.7.0 lib/mspec/helpers/ducktype.rb
mspec-1.6.0 lib/mspec/helpers/ducktype.rb
mspec-1.5.21 lib/mspec/helpers/ducktype.rb
mspec-1.5.20 lib/mspec/helpers/ducktype.rb
mspec-1.5.19 lib/mspec/helpers/ducktype.rb
mspec-1.5.18 lib/mspec/helpers/ducktype.rb