Method: QueryBuilder::Processor.load_custom_queries
- Defined in:
- lib/query_builder/processor.rb
.load_custom_queries(directories) ⇒ Object
Load prepared SQL definitions from a set of directories. If the file does not contain “group” or “groups” keys, the filename is used as group.
Parameters
- query<String>
-
Path to list of custom queries yaml files.
Examples
DummyQuery.load_custom_queries("/path/to/some/*/directory")
The format of a custom query definition is:
groups:
- test.host
DummyQuery: # QueryBuilder class
abc: # query's relation name
select: # selected fields
- 'a'
- '34 AS number'
- 'c'
tables: # tables used
- 'test'
join_tables: # joins
test:
- LEFT JOIN other ON other.test_id = test.id
where: # filters
- '1'
- '2'
- '3'
order: 'a DESC' # order clause
Once loaded, this ‘custom query’ can be used in a query like:
"images from abc where a > 54"
74 75 76 77 78 |
# File 'lib/query_builder/processor.rb', line 74 def load_custom_queries(directories) # lazy loading (evaluation happens on first query) self.custom_query_files ||= [] self.custom_query_files << directories end |