Module: SuperDiff::RSpec

Defined in:
lib/super_diff/rspec.rb,
lib/super_diff/rspec/differ.rb,
lib/super_diff/rspec/differs.rb,
lib/super_diff/rspec/configuration.rb,
lib/super_diff/rspec/augmented_matcher.rb,
lib/super_diff/rspec/object_inspection.rb,
lib/super_diff/rspec/differs/partial_hash.rb,
lib/super_diff/rspec/differs/partial_array.rb,
lib/super_diff/rspec/matcher_text_builders.rb,
lib/super_diff/rspec/matcher_text_template.rb,
lib/super_diff/rspec/differs/partial_object.rb,
lib/super_diff/rspec/operational_sequencers.rb,
lib/super_diff/rspec/matcher_text_builders/base.rb,
lib/super_diff/rspec/matcher_text_builders/match.rb,
lib/super_diff/rspec/object_inspection/inspectors.rb,
lib/super_diff/rspec/object_inspection/map_extension.rb,
lib/super_diff/rspec/matcher_text_builders/respond_to.rb,
lib/super_diff/rspec/matcher_text_builders/raise_error.rb,
lib/super_diff/rspec/matcher_text_builders/be_predicate.rb,
lib/super_diff/rspec/operational_sequencers/partial_hash.rb,
lib/super_diff/rspec/operational_sequencers/partial_array.rb,
lib/super_diff/rspec/differs/collection_containing_exactly.rb,
lib/super_diff/rspec/matcher_text_builders/contain_exactly.rb,
lib/super_diff/rspec/operational_sequencers/partial_object.rb,
lib/super_diff/rspec/object_inspection/inspectors/partial_hash.rb,
lib/super_diff/rspec/object_inspection/inspectors/partial_array.rb,
lib/super_diff/rspec/object_inspection/inspectors/partial_object.rb,
lib/super_diff/rspec/operational_sequencers/collection_containing_exactly.rb,
lib/super_diff/rspec/object_inspection/inspectors/collection_containing_exactly.rb

Defined Under Namespace

Modules: AugmentedMatcher, Differs, MatcherTextBuilders, ObjectInspection, OperationalSequencers Classes: Configuration, Differ, MatcherTextTemplate

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.extra_diff_formatter_classesObject

Returns the value of attribute extra_diff_formatter_classes.



17
18
19
# File 'lib/super_diff/rspec.rb', line 17

def extra_diff_formatter_classes
  @extra_diff_formatter_classes
end

.extra_differ_classesObject

Returns the value of attribute extra_differ_classes.



15
16
17
# File 'lib/super_diff/rspec.rb', line 15

def extra_differ_classes
  @extra_differ_classes
end

.extra_operational_sequencer_classesObject

Returns the value of attribute extra_operational_sequencer_classes.



16
17
18
# File 'lib/super_diff/rspec.rb', line 16

def extra_operational_sequencer_classes
  @extra_operational_sequencer_classes
end

Class Method Details

.collection_containing_exactly?(value) ⇒ Boolean



46
47
48
49
# File 'lib/super_diff/rspec.rb', line 46

def self.collection_containing_exactly?(value)
  partial_placeholder?(value) &&
    value.base_matcher.is_a?(::RSpec::Matchers::BuiltIn::ContainExactly)
end

.configurationObject



24
25
26
# File 'lib/super_diff/rspec.rb', line 24

def self.configuration
  @_configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



20
21
22
# File 'lib/super_diff/rspec.rb', line 20

def self.configure
  yield configuration
end

.partial_array?(value) ⇒ Boolean



35
36
37
38
39
# File 'lib/super_diff/rspec.rb', line 35

def self.partial_array?(value)
  partial_placeholder?(value) &&
    value.respond_to?(:expecteds) &&
    !(value.expecteds.one? && value.expecteds.first.is_a?(::Hash))
end

.partial_hash?(value) ⇒ Boolean



28
29
30
31
32
33
# File 'lib/super_diff/rspec.rb', line 28

def self.partial_hash?(value)
  partial_placeholder?(value) &&
    value.respond_to?(:expecteds) &&
    value.expecteds.one? &&
    value.expecteds.first.is_a?(::Hash)
end

.partial_object?(value) ⇒ Boolean



41
42
43
44
# File 'lib/super_diff/rspec.rb', line 41

def self.partial_object?(value)
  partial_placeholder?(value) &&
    value.base_matcher.is_a?(::RSpec::Matchers::BuiltIn::HaveAttributes)
end

.partial_placeholder?(value) ⇒ Boolean



51
52
53
# File 'lib/super_diff/rspec.rb', line 51

def self.partial_placeholder?(value)
  value.is_a?(::RSpec::Matchers::AliasedMatcher)
end