Class: Zxcvbn::Score

Inherits:
Data
  • Object
show all
Defined in:
lib/zxcvbn/score.rb

Overview

The result of analysing a password — returned by test.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(calc_time: nil, feedback: nil, **kwargs) ⇒ Score

Returns a new instance of Score.



26
27
28
# File 'lib/zxcvbn/score.rb', line 26

def initialize(calc_time: nil, feedback: nil, **kwargs)
  super(calc_time:, feedback:, **kwargs)
end

Instance Attribute Details

#calc_timeObject (readonly)

Returns the value of attribute calc_time

Returns:

  • (Object)

    the current value of calc_time



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#crack_times_displayObject (readonly)

Returns the value of attribute crack_times_display

Returns:

  • (Object)

    the current value of crack_times_display



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#crack_times_secondsObject (readonly)

Returns the value of attribute crack_times_seconds

Returns:

  • (Object)

    the current value of crack_times_seconds



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#feedbackObject (readonly)

Returns the value of attribute feedback

Returns:

  • (Object)

    the current value of feedback



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#guessesObject (readonly)

Returns the value of attribute guesses

Returns:

  • (Object)

    the current value of guesses



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#passwordObject (readonly)

Returns the value of attribute password

Returns:

  • (Object)

    the current value of password



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#scoreObject (readonly)

Returns the value of attribute score

Returns:

  • (Object)

    the current value of score



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

#sequenceObject (readonly)

Returns the value of attribute sequence

Returns:

  • (Object)

    the current value of sequence



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zxcvbn/score.rb', line 22

Score = ::Data.define(
  :password, :guesses, :sequence, :crack_times_seconds,
  :crack_times_display, :score, :calc_time, :feedback
) do
  def initialize(calc_time: nil, feedback: nil, **kwargs)
    super(calc_time:, feedback:, **kwargs)
  end

  # @return [String] a human-readable representation omitting nil fields and password
  def inspect
    fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
    "#<data #{self.class} #{fields}>"
  end

  # @return [Float, nil] log10 of {#guesses}, or nil if guesses is not set
  def guesses_log10
    ::Math.log10(guesses) if guesses
  end
end

Instance Method Details

#guesses_log10Float?

Returns log10 of #guesses, or nil if guesses is not set.

Returns:

  • (Float, nil)

    log10 of #guesses, or nil if guesses is not set



37
38
39
# File 'lib/zxcvbn/score.rb', line 37

def guesses_log10
  ::Math.log10(guesses) if guesses
end

#inspectString

Returns a human-readable representation omitting nil fields and password.

Returns:

  • (String)

    a human-readable representation omitting nil fields and password



31
32
33
34
# File 'lib/zxcvbn/score.rb', line 31

def inspect
  fields = to_h.reject { |k, v| v.nil? || k == :password }.map { |k, v| "#{k}=#{v.inspect}" }.join(', ')
  "#<data #{self.class} #{fields}>"
end