Class: Stretto::Parser
Instance Attribute Summary collapse
-
#parsed_elements ⇒ Object
readonly
Returns the value of attribute parsed_elements.
-
#parser ⇒ Object
readonly
Returns the value of attribute parser.
Class Method Summary collapse
Instance Method Summary collapse
- #error_on ⇒ Object
-
#initialize(music_string) ⇒ Parser
constructor
A new instance of Parser.
- #to_stretto(pattern = nil) ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(music_string) ⇒ Parser
Returns a new instance of Parser.
10 11 12 13 |
# File 'lib/stretto/parsers/parser.rb', line 10 def initialize(music_string) @music_string = music_string @parser = StrettoGrammarParser.new end |
Instance Attribute Details
#parsed_elements ⇒ Object (readonly)
Returns the value of attribute parsed_elements.
8 9 10 |
# File 'lib/stretto/parsers/parser.rb', line 8 def parsed_elements @parsed_elements end |
#parser ⇒ Object (readonly)
Returns the value of attribute parser.
8 9 10 |
# File 'lib/stretto/parsers/parser.rb', line 8 def parser @parser end |
Class Method Details
.elementize(str) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/stretto/parsers/parser.rb', line 78 def elementize(str) str.to_s.split('::').last. gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end |
.parse_element!(element, klass) ⇒ Object
74 75 76 |
# File 'lib/stretto/parsers/parser.rb', line 74 def parse_element!(element, klass) send(:"parse_#{elementize(klass)}!", element) end |
Instance Method Details
#error_on ⇒ Object
23 24 25 |
# File 'lib/stretto/parsers/parser.rb', line 23 def error_on @last_error_on end |
#to_stretto(pattern = nil) ⇒ Object
15 16 17 |
# File 'lib/stretto/parsers/parser.rb', line 15 def to_stretto(pattern = nil) parsed_string.to_stretto(pattern) end |
#valid? ⇒ Boolean
19 20 21 |
# File 'lib/stretto/parsers/parser.rb', line 19 def valid? not parsed_string.nil? end |