Class: TWFilter::Subject

Inherits:
Object
  • Object
show all
Defined in:
lib/twfilter/subject.rb,
sig/twfilter.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text, policy: Policy.corpus) ⇒ Subject

Returns a new instance of Subject.

Parameters:

  • (Object)
  • policy: (Policy) (defaults to: Policy.corpus)


7
8
9
10
# File 'lib/twfilter/subject.rb', line 7

def initialize(text, policy: Policy.corpus)
  @text = text.to_s
  @policy = policy
end

Instance Attribute Details

#policyPolicy (readonly)

Returns the value of attribute policy.

Returns:



5
6
7
# File 'lib/twfilter/subject.rb', line 5

def policy
  @policy
end

#text::String (readonly)

Returns the value of attribute text.

Returns:

  • (::String)


5
6
7
# File 'lib/twfilter/subject.rb', line 5

def text
  @text
end

Instance Method Details

#chars::Array[::String]

Returns:

  • (::Array[::String])


12
# File 'lib/twfilter/subject.rb', line 12

def chars = @chars ||= text.chars

#empty?Boolean

Returns:

  • (Boolean)


20
# File 'lib/twfilter/subject.rb', line 20

def empty? = text.strip.empty?

#han::Integer

Returns:

  • (::Integer)


16
# File 'lib/twfilter/subject.rb', line 16

def han = @han ||= han_chars.length

#han_chars::Array[::String]

Returns:

  • (::Array[::String])


14
# File 'lib/twfilter/subject.rb', line 14

def han_chars = @han_chars ||= chars.select { |char| Han.char?(char) }

#include?(term) ⇒ Boolean

Parameters:

  • (::String)

Returns:

  • (Boolean)


22
# File 'lib/twfilter/subject.rb', line 22

def include?(term) = text.include?(term)

#masked(exceptions) ⇒ ::String

Parameters:

  • (::Array[::String])

Returns:

  • (::String)


24
25
26
# File 'lib/twfilter/subject.rb', line 24

def masked(exceptions)
  exceptions.reduce(text) { |memo, allowed| memo.gsub(allowed, "") }
end

#ratio::Float

Returns:

  • (::Float)


18
# File 'lib/twfilter/subject.rb', line 18

def ratio = @ratio ||= text.empty? ? 0.0 : han.fdiv(text.length)