# File lib/puppet/provider/augeas/augeas.rb, line 185
185:     def process_match(cmd_array)
186:         return_value = false
187: 
188:         #validate and tear apart the command
189:         fail("Invalid command: #{cmd_array.join(" ")}") if cmd_array.length < 3
190:         cmd = cmd_array.shift
191:         path = cmd_array.shift
192: 
193:         # Need to break apart the clause
194:         clause_array = parse_commands(cmd_array.shift)[0]
195:         verb = clause_array.shift
196: 
197:         #Get the values from augeas
198:         result = @aug.match(path) || []
199:         # Now do the work
200:         case verb
201:         when "size"
202:             fail("Invalid command: #{cmd_array.join(" ")}") if clause_array.length != 2
203:             comparator = clause_array.shift
204:             arg = clause_array.shift
205:             return_value = (result.size.send(comparator, arg))
206:         when "include"
207:             arg = clause_array.shift
208:             return_value = result.include?(arg)
209:         when "=="
210:             begin
211:                 arg = clause_array.shift
212:                 new_array = eval arg
213:                 return_value = (result == new_array)
214:             rescue
215:                 fail("Invalid array in command: #{cmd_array.join(" ")}")
216:             end
217:         when "!="
218:             begin
219:                 arg = clause_array.shift
220:                 new_array = eval arg
221:                 return_value = (result != new_array)
222:             rescue
223:                 fail("Invalid array in command: #{cmd_array.join(" ")}")
224:             end
225:         end
226:         return !!return_value
227:     end