Class: Wordify::Tokeniser

Inherits:
Object
  • Object
show all
Defined in:
lib/wordify/tokeniser.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number) ⇒ Tokeniser

Returns a new instance of Tokeniser.



4
5
6
# File 'lib/wordify/tokeniser.rb', line 4

def initialize(number)
  @number = number
end

Instance Attribute Details

#numberObject (readonly)

Returns the value of attribute number.



2
3
4
# File 'lib/wordify/tokeniser.rb', line 2

def number
  @number
end

Instance Method Details

#<=>(other) ⇒ Object



17
18
19
# File 'lib/wordify/tokeniser.rb', line 17

def <=>(other)
  to_s <=> other.to_s
end

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


12
13
14
# File 'lib/wordify/tokeniser.rb', line 12

def eql?(other)
  to_s == other.to_s
end

#to_sObject



8
9
10
# File 'lib/wordify/tokeniser.rb', line 8

def to_s
  unreadable? ? number.to_s : tokens.map { |t| t.to_s }.join(' ')
end

#tokensObject



25
26
27
# File 'lib/wordify/tokeniser.rb', line 25

def tokens
  @tokens ||= number.to_s.scan(/(.)/).flatten.map { |char| Wordify::Token::Unit.new(char) }
end

#unreadable?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/wordify/tokeniser.rb', line 21

def unreadable?
  number.to_s.match(/[\+\-]/) != nil
end