class AtomicJson::Query

Attributes

connection[R]
query_builder[R]
query_string[RW]
record[R]

Public Class Methods

new(record) click to toggle source
# File lib/atomic_json/query.rb, line 16
def initialize(record)
  validate_record!(record)
  @record = record
  @connection = ActiveRecord::Base.connection
  @query_builder = QueryBuilder.new(@record, @connection)
end

Public Instance Methods

build(attributes, touch: false) click to toggle source
# File lib/atomic_json/query.rb, line 23
def build(attributes, touch: false)
  validate_attributes!(record, attributes)
  self.query_string = query_builder.build(attributes, touch)
  self
end
execute!() click to toggle source
# File lib/atomic_json/query.rb, line 29
def execute!
  connection.exec_update(query_string, 'SQL')
rescue ActiveRecord::StatementInvalid => e
  raise Error, e.message
end
to_s() click to toggle source
# File lib/atomic_json/query.rb, line 35
def to_s
  query_string
end