Class: Yardcheck::TestValue::InstanceDouble

Inherits:
Yardcheck::TestValue show all
Defined in:
lib/yardcheck/test_value.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.process(value) ⇒ Object



41
42
43
# File 'lib/yardcheck/test_value.rb', line 41

def self.process(value)
  new(value.instance_variable_get(:@doubled_module).target)
end

Instance Method Details

#duck_type?(method_name) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/yardcheck/test_value.rb', line 57

def duck_type?(method_name)
  doubled_module.instance_methods.include?(method_name)
end

#inspectObject



53
54
55
# File 'lib/yardcheck/test_value.rb', line 53

def inspect
  "#{self.class}.new(#{doubled_module.inspect})"
end

#is?(value) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/yardcheck/test_value.rb', line 45

def is?(value)
  doubled_module == value || (value.is_a?(Module) && doubled_module < value)
end

#typeObject



49
50
51
# File 'lib/yardcheck/test_value.rb', line 49

def type
  doubled_module
end