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.

Raises:



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 Error, "where_object requires an object column" unless column

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