Module: VerifiedDouble

Extended by:
RSpec::Mocks::ExampleMethods
Defined in:
lib/verified_double.rb,
lib/verified_double/boolean.rb,
lib/verified_double/version.rb,
lib/verified_double/matchers.rb,
lib/verified_double/method_signature.rb,
lib/verified_double/recording_double.rb,
lib/verified_double/method_signature_value.rb,
lib/verified_double/parse_method_signature.rb,
lib/verified_double/method_signatures_report.rb,
lib/verified_double/relays_to_internal_double_returning_self.rb

Defined Under Namespace

Modules: Boolean, Matchers, RelaysToInternalDoubleReturningSelf Classes: MethodSignature, MethodSignatureValue, MethodSignaturesReport, ParseMethodSignature, RecordingDouble

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.of_class(class_name, method_stubs = {}) ⇒ Object



15
16
17
18
19
20
# File 'lib/verified_double.rb', line 15

def self.of_class(class_name, method_stubs = {})
  class_double = stub_const(class_name, Class.new, transfer_nested_constants: true)
  RecordingDouble.new(class_double, class_name, method_stubs).tap do |double|
    registry << double
  end
end

.of_instance(class_name, method_stubs = {}) ⇒ Object



22
23
24
25
26
# File 'lib/verified_double.rb', line 22

def self.of_instance(class_name, method_stubs = {})
  RecordingDouble.new(double(class_name), class_name, method_stubs).tap do |double|
    registry << double
  end
end

.registryObject



28
29
30
# File 'lib/verified_double.rb', line 28

def self.registry
  @registry ||= []
end

.report_unverified_signatures(nested_example_group) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/verified_double.rb', line 32

def self.report_unverified_signatures(nested_example_group)
  MethodSignaturesReport.new
    .set_registered_signatures
    .set_verified_signatures_from_tags(nested_example_group)
    .set_verified_signatures_from_matchers
    .merge_verified_signatures
    .identify_unverified_signatures
    .output_unverified_signatures
end

.verified_signatures_from_matchersObject



42
43
44
# File 'lib/verified_double.rb', line 42

def self.verified_signatures_from_matchers
  @verified_signatures_from_matchers ||= []
end