Initial creation of the chef-solo-search project
The chef-solo-search 'patch' allows using search() statements in recipes
and using this recipes with chef-solo. For now only a basic sub-set of
the lucine query language is supported.
Added some more content to README.txt
Split-up of data_bags_patch.rb into two libraries.
data_bags.rb contains the data bag releated logic, and search.rb
implements search functionality.
Moved chef extension libs to libraries/ and use proper syntax in README.md
Added CHANGELOG, LICENSE and NOTICE
Use 'require_relative' in search.rb to load data_bags.rb
This makes sure that the data_bags module is always found, even if
its location is not in ruby's search path. For older ruby versions
this function has to be defined.
Correctly handle queries containing 'chef_environment:_default'
The '_default' environment is just the normal setup without any
defined environment, and thus 'chef_environment:_default' is just
a wildcard query, it matches everything.
Added sample for the last change to README.md
updated CHANGELOG to reflect recent changes
Started working on a replacing the custom query parser by a treetop parser (issue #1)
Use the treetop parser for search queries.
This changes the way 'NOT' queries are working (but according to docs the new way seems to be correct).
Also queries with escaped characters are not working correctly, this needs further investigation.
added a few docstrings
Added missing copyright eader to parser.rb
added a comment explaining the situation with escaped values in queries
Use File.fnmatch to compare string values. This is handling wildcards correctly.
Also added tests for wildcard queries.
Changed the escaped characters testcase to use single-quotes instead of double-quotes.
This is crucial, because in ruby 'a\:a' == "a\\:a".
Fixed testcase for escaped chars, it was just a problem of single vs. double quotes.
Merge pull request #2 from thekorn/treetop-parser

Use treetop parser shipped with chef to parse the queries
Handle 'chef_environment' queries by raising a RuntimeError as the
'chef_environment' node attribute is not supported by chef-solo.
data bags and thus data bag search now supports lookup by strings aswell as symbols, that's closer to the behaviour of chef.