Class: Chronic::Separator
Direct Known Subclasses
SeparatorAnd, SeparatorAt, SeparatorComma, SeparatorIn, SeparatorOn, SeparatorSlashOrDash
Instance Attribute Summary
Attributes inherited from Tag
Class Method Summary collapse
-
.scan(tokens, options) ⇒ Object
Scan an Array of Token objects and apply any necessary Separator tags to each token.
-
.scan_for_and(token) ⇒ Object
token - The Token object we want to scan.
-
.scan_for_at(token) ⇒ Object
token - The Token object we want to scan.
-
.scan_for_commas(token) ⇒ Object
token - The Token object we want to scan.
-
.scan_for_in(token) ⇒ Object
token - The Token object we want to scan.
-
.scan_for_on(token) ⇒ Object
token - The Token object we want to scan.
-
.scan_for_slash_or_dash(token) ⇒ Object
token - The Token object we want to scan.
Instance Method Summary collapse
Methods inherited from Tag
Constructor Details
This class inherits a constructor from Chronic::Tag
Class Method Details
.scan(tokens, options) ⇒ Object
Scan an Array of Token objects and apply any necessary Separator tags to each token.
tokens - An Array of tokens to scan. options - The Hash of options specified in Chronic::parse.
Returns an Array of tokens.
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/chronic/separator.rb', line 11 def self.scan(tokens, ) tokens.each do |token| if t = scan_for_commas(token) then token.tag(t); next end if t = scan_for_slash_or_dash(token) then token.tag(t); next end if t = scan_for_at(token) then token.tag(t); next end if t = scan_for_in(token) then token.tag(t); next end if t = scan_for_on(token) then token.tag(t); next end if t = scan_for_and(token) then token.tag(t); next end end end |
.scan_for_and(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeperatorAnd Object object.
64 65 66 |
# File 'lib/chronic/separator.rb', line 64 def self.scan_for_and(token) scan_for token, SeparatorAnd, { /^and$/ => :and } end |
.scan_for_at(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeparatorAt object.
43 44 45 |
# File 'lib/chronic/separator.rb', line 43 def self.scan_for_at(token) scan_for token, SeparatorAt, { /^(at|@)$/ => :at } end |
.scan_for_commas(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeparatorComma object.
25 26 27 |
# File 'lib/chronic/separator.rb', line 25 def self.scan_for_commas(token) scan_for token, SeparatorComma, { /^,$/ => :comma } end |
.scan_for_in(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeparatorIn object.
50 51 52 |
# File 'lib/chronic/separator.rb', line 50 def self.scan_for_in(token) scan_for token, SeparatorIn, { /^in$/ => :in } end |
.scan_for_on(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeparatorOn object.
57 58 59 |
# File 'lib/chronic/separator.rb', line 57 def self.scan_for_on(token) scan_for token, SeparatorOn, { /^on$/ => :on } end |
.scan_for_slash_or_dash(token) ⇒ Object
token - The Token object we want to scan.
Returns a new SeparatorSlashOrDash object.
32 33 34 35 36 37 38 |
# File 'lib/chronic/separator.rb', line 32 def self.scan_for_slash_or_dash(token) scan_for token, SeparatorSlashOrDash, { /^-$/ => :dash, /^\/$/ => :slash } end |
Instance Method Details
#to_s ⇒ Object
68 69 70 |
# File 'lib/chronic/separator.rb', line 68 def to_s 'separator' end |