module Paraphrase::Syntax

Public Instance Methods

default_paraphrase_relation() click to toggle source
# File lib/paraphrase/syntax.rb, line 21
def default_paraphrase_relation
  if is_a? ActiveRecord::Relation
    self
  elsif ActiveRecord::VERSION::MAJOR > 3
    all
  else
    scoped
  end
end
paraphrase(params = {}) click to toggle source

Instantiate the {Query} class that is mapped to `self`.

@param [Hash] params query parameters

# File lib/paraphrase/syntax.rb, line 17
def paraphrase(params = {})
  paraphraser.new(params, default_paraphrase_relation).result
end
paraphraser() click to toggle source

Attempts to find paraphrase class based on class name. Override if using a different naming convention.

# File lib/paraphrase/syntax.rb, line 5
def paraphraser
  name = "#{self.name}Query"
  name.constantize
rescue NameError => e
  if e.message =~ /uninitialized constant/
    raise Paraphrase::NoQueryDefined.new(name)
  end
end