Sha256: fc48a75ad4774186586787bb1b70e3d4c18ac6528bc65697455b38acf8aae3eb

Contents?: true

Size: 725 Bytes

Versions: 113

Compression:

Stored size: 725 Bytes

Contents

class Object
  def responds_to(sym)
    metaclass.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)
    metaclass.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)
    metaclass.class_eval <<-END
      undef_method #{sym.to_sym.inspect}
    END
  end

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

    metaclass.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

113 entries across 89 versions & 2 rubygems

Version Path
rhodes-3.1.1 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.1.beta lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0.beta.5 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0.beta.4 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0.beta.3 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0.beta.2 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.1.0.beta.1 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.2 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.2.beta.1 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.8 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.7 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.6 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.5 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.4 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.3 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.1.beta.2 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.0 lib/extensions/mspec/mspec/helpers/ducktype.rb
rhodes-3.0.0.beta.7 lib/extensions/mspec/mspec/helpers/ducktype.rb