module Quickbooks::Base::Finders

Public Instance Methods

display_name_sql(display_name, options = {}) click to toggle source
# File lib/quickbooks/base/finders.rb, line 24
def display_name_sql(display_name, options = {})
  options[:select] ||= 'Id, DisplayName'
  where = qbuilder.clause("DisplayName", "=", display_name)
  sql_builder(where, options)
end
find_by_display_name(display_name, options = {}) click to toggle source
# File lib/quickbooks/base/finders.rb, line 30
def find_by_display_name(display_name, options = {})
  sql = display_name_sql(display_name, options)
  service = determine_service(options[:entity])
  service.query(sql)
end
find_by_id(id, model = nil) click to toggle source
# File lib/quickbooks/base/finders.rb, line 5
def find_by_id(id, model = nil)
  if model
    new_service = service_for(model)
    new_service.fetch_by_id(id)
  else
    @service.fetch_by_id(id)
  end
end
qbuilder() click to toggle source
# File lib/quickbooks/base/finders.rb, line 14
def qbuilder
  Quickbooks::Util::QueryBuilder.new
end
sql_builder(where, options = {}) click to toggle source
# File lib/quickbooks/base/finders.rb, line 18
def sql_builder(where, options = {})
  options[:entity] ||= entity
  options[:select] ||= '*'
  "SELECT #{options[:select]} FROM #{qbo_case(options[:entity])} WHERE #{where}"
end