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

.connectionObject



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

.pathsObject



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