Class: PaperTrail::Queries::Versions::WhereObject Private

Inherits:
Object
  • Object
show all
Defined in:
lib/paper_trail/queries/versions/where_object.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

For public API documentation, see ‘where_object` in `paper_trail/version_concern.rb`.

Instance Method Summary collapse

Constructor Details

#initialize(version_model_class, attributes) ⇒ WhereObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

  • version_model_class - The class that VersionConcern was mixed into.

  • attributes - A ‘Hash` of attributes and values. See the public API documentation for details.



14
15
16
17
# File 'lib/paper_trail/queries/versions/where_object.rb', line 14

def initialize(version_model_class, attributes)
  @version_model_class = version_model_class
  @attributes = attributes
end

Instance Method Details

#executeObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/paper_trail/queries/versions/where_object.rb', line 20

def execute
  column = @version_model_class.columns_hash["object"]
  raise "where_object can't be called without an object column" unless column

  case column.type
  when :jsonb
    jsonb
  when :json
    json
  else
    text
  end
end