Sha256: 0a9d45cb3f96c928ad2e9ffc2ffa6abef8400ef6007bb00507397ba46b30c4c4

Contents?: true

Size: 356 Bytes

Versions: 27

Compression:

Stored size: 356 Bytes

Contents

RSpec::Matchers.define :implement_interface do |expected|
  required_methods = expected.instance_methods(false)
  match do |actual|
    required_methods - actual.methods == []
  end

  failure_message do |actual|
    missing_methods = required_methods - actual.methods
    "Expected instance methods #{missing_methods.inspect} to be implemented"
  end
end

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
lenjador-2.3.1 spec/support/implement_interface.rb
lenjador-2.3.0 spec/support/implement_interface.rb
lenjador-2.2.2 spec/support/implement_interface.rb
lenjador-2.2.1 spec/support/implement_interface.rb
lenjador-2.2.0 spec/support/implement_interface.rb
lenjador-2.1.0 spec/support/implement_interface.rb
lenjador-2.0.1 spec/support/implement_interface.rb
lenjador-2.0.0 spec/support/implement_interface.rb
lenjador-1.4.0 spec/support/implement_interface.rb
lenjador-1.3.0 spec/support/implement_interface.rb
lenjador-1.2.1 spec/support/implement_interface.rb
logasm-jruby-1.2.1 spec/support/implement_interface.rb
logasm-1.2.1 spec/support/implement_interface.rb
logasm-jruby-1.2.0 spec/support/implement_interface.rb
logasm-1.2.0 spec/support/implement_interface.rb
logasm-1.1.0 spec/support/implement_interface.rb
logasm-1.0.0 spec/support/implement_interface.rb
logasm-0.9.1 spec/support/implement_interface.rb
logasm-0.9.0 spec/support/implement_interface.rb
logasm-0.8.1 spec/support/implement_interface.rb