lib/nagios_parser/status/parser.y in nagios_parser-1.0.0 vs lib/nagios_parser/status/parser.y in nagios_parser-1.1.0
- old
+ new
@@ -1,24 +1,20 @@
class NagiosParser::Status::Parser
token
- OPEN CLOSE KEY VALUE
+ TYPE OPEN CLOSE KEY VALUE
rule
types
: type
| types type
;
type
- : type_names OPEN assignments CLOSE {
+ : TYPE OPEN assignments CLOSE {
@result[val[0]] ||= []
@result[val[0]] << val[2]
}
;
- type_names
- : 'hostcomment' | 'servicestatus' | 'info' | 'programstatus'
- | 'hoststatus' | 'contactstatus' | 'servicecomment'
- ;
assignments
: assignment
| assignments assignment {
val[1].each do |key, value|
val[0][key] = value
@@ -47,10 +43,10 @@
when scanner.scan(/\s+/)
# ignore whitespace
when scanner.scan(/#[^\n]*/)
# ignore comments
when (!inside and match = scanner.scan(/\w+/))
- result << [match, match]
+ result << [:TYPE, match]
when match = scanner.scan(/\{/)
inside = true
result << [:OPEN, nil]
when match = scanner.scan(/\}/)
inside = false