Class: Yardstick::Rule

Inherits:
Object
  • Object
show all
Defined in:
lib/yardstick/rule.rb

Overview

A constraint on the docs

Instance Method Summary collapse

Constructor Details

#initialize(description) { ... } ⇒ Rule

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return a Rule instance

Parameters:

  • description (#to_str)

    the description of the Rule

Yields:

  • the measurement for the rule



18
19
20
21
# File 'lib/yardstick/rule.rb', line 18

def initialize(description, &block)
  @description = description.to_str
  @block       = block
end

Instance Method Details

#eql?(other) ⇒ Boolean

Test if Rule is equal to another rule

Examples:

rule == equal_rule  # => true

Parameters:

  • other (Rule)

    the other Rule

Returns:

  • (Boolean)

    true if the Rule is equal to the other, false if not



48
49
50
# File 'lib/yardstick/rule.rb', line 48

def eql?(other)
  @description.eql?(other.instance_variable_get(:@description))
end

#hashInteger

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return hash identifier for the Rule

Returns:

  • (Integer)

    the hash identifier



58
59
60
# File 'lib/yardstick/rule.rb', line 58

def hash
  @description.hash
end

#measure(docstring) ⇒ Measurement

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return a Measurement for a docstring

Parameters:

Returns:



32
33
34
# File 'lib/yardstick/rule.rb', line 32

def measure(docstring)
  Measurement.new(@description, docstring, &@block)
end