Module: SQLRunner::Query::One

Defined in:
lib/sql_runner/query/one.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.activate(target, _options) ⇒ Object



6
7
8
# File 'lib/sql_runner/query/one.rb', line 6

def self.activate(target, _options)
  target.singleton_class.prepend self
end

Instance Method Details

#call(**bind_vars) ⇒ Object



10
11
12
13
# File 'lib/sql_runner/query/one.rb', line 10

def call(**bind_vars)
  result = super(**bind_vars)
  result.to_a.first
end

#call!(**bind_vars) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/sql_runner/query/one.rb', line 15

def call!(**bind_vars)
  result = call(**bind_vars)

  return result if result

  raise(
    SQLRunner::RecordNotFound,
    "#{name}: record was not found with #{bind_vars.inspect} arguments"
  )
end