Sha256: 1cc27f70173d5ae40bc59b3d4567a910ceb9aee2941fab1357a265a96b34b772

Contents?: true

Size: 697 Bytes

Versions: 2

Compression:

Stored size: 697 Bytes

Contents

# vim: syntax=ruby

require 'json'

class PuppetDB::Lexer
rule
	\s			# whitespace no action
	\(			{ [:LPAREN, text] }
	\)			{ [:RPAREN, text] }
	\[			{ [:LBRACK, text] }
	\]			{ [:RBRACK, text] }
	\{			{ [:LBRACE, text] }
	\}			{ [:RBRACE, text] }
	=			{ [:EQUALS, text] }
	\!=			{ [:NOTEQUALS, text] }
	~			{ [:MATCH, text] }
	<			{ [:LESSTHAN, text] }
	>			{ [:GREATERTHAN, text] }
	not			{ [:NOT, text] }
	and			{ [:AND, text] }
	or			{ [:OR, text] }
	true			{ [:BOOLEAN, true]}
	false			{ [:BOOLEAN, false]}
	-?\d+\.\d+		{ [:NUMBER, text.to_f] }
	-?\d+			{ [:NUMBER, text.to_i] }
	\"(\\.|[^\\"])*\"	{ [:STRING, JSON.load(text)] }
	[\w_:]+			{ [:STRING, text] }
	@@			{ [:EXPORTED, text] }
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-puppetdb-1.0.4 lib/puppetdb/lexer.l
ruby-puppetdb-1.0.3 lib/puppetdb/lexer.l