class Duckface
Constants
- VERSION
Public Class Methods
new(&block)
click to toggle source
# File lib/duckface.rb, line 5 def initialize(&block) @conditions = [] instance_eval(&block) if block_given? end
Public Instance Methods
describes?(obj)
click to toggle source
# File lib/duckface.rb, line 10 def describes?(obj) @conditions.each do |condition| return false unless condition.first ^ obj.send(condition[1], *condition.last) end return true end
Protected Instance Methods
is_a(name)
click to toggle source
# File lib/duckface.rb, line 27 def is_a(name) @conditions << [false, :is_a?, [name]] end
not_a(name)
click to toggle source
# File lib/duckface.rb, line 31 def not_a(name) @conditions << [true, :is_a?, [name]] end
not_respond_to(name)
click to toggle source
# File lib/duckface.rb, line 23 def not_respond_to(name) @conditions << [true, :respond_to?, [name]] end
respond_to(name)
click to toggle source
# File lib/duckface.rb, line 19 def respond_to(name) @conditions << [false, :respond_to?, [name]] end