Module: Paraphrase::Syntax

Defined in:
lib/paraphrase/syntax.rb

Instance Method Summary collapse

Instance Method Details

#default_paraphrase_relationObject



21
22
23
24
25
26
27
28
29
# 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 = {}) ⇒ Object

Instantiate the Query class that is mapped to self.

Parameters:

  • params (Hash) (defaults to: {})

    query parameters



17
18
19
# File 'lib/paraphrase/syntax.rb', line 17

def paraphrase(params = {})
  paraphraser.new(params, default_paraphrase_relation).result
end

#paraphraserObject

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



5
6
7
8
9
10
11
12
# 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