Module: PgJbuilder
- Defined in:
- lib/pg_jbuilder.rb,
lib/pg_jbuilder/railtie.rb,
lib/pg_jbuilder/version.rb
Defined Under Namespace
Modules: ActiveRecordExtension
Classes: Railtie, TemplateNotFound
Constant Summary
collapse
- VERSION =
"0.0.1"
Class Method Summary
collapse
Class Method Details
.connection ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/pg_jbuilder.rb', line 36
def self.connection
if @connection.is_a?(Proc)
@connection.call
else
@connection
end
end
|
.connection=(value) ⇒ Object
32
33
34
|
# File 'lib/pg_jbuilder.rb', line 32
def self.connection= value
@connection = value
end
|
.paths ⇒ Object
28
29
30
|
# File 'lib/pg_jbuilder.rb', line 28
def self.paths
@paths
end
|
.render(query, variables = {}, options = {}) ⇒ Object
22
23
24
25
26
|
# File 'lib/pg_jbuilder.rb', line 22
def self.render query, variables={}, options={}
contents = get_query_contents(query)
compiled = handlebars.compile(contents, noEscape: true)
compiled.call(variables)
end
|
.render_array(*args) ⇒ Object
16
17
18
19
|
# File 'lib/pg_jbuilder.rb', line 16
def self.render_array *args
result = render(*args)
"SELECT COALESCE(array_to_json(array_agg(row_to_json(array_row))),'[]'::json)\nFROM (\n#{result}\n) array_row"
end
|
.render_object(*args) ⇒ Object
11
12
13
14
|
# File 'lib/pg_jbuilder.rb', line 11
def self.render_object *args
result = render(*args)
"SELECT COALESCE(row_to_json(object_row),'{}'::json)\nFROM (\n#{result}\n) object_row"
end
|