Class: PaperTrail::Queries::Versions::WhereObjectChanges Private
- Inherits:
-
Object
- Object
- PaperTrail::Queries::Versions::WhereObjectChanges
- Defined in:
- lib/paper_trail/queries/versions/where_object_changes.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_changes` in `paper_trail/version_concern.rb`.
Instance Method Summary collapse
- #execute ⇒ Object private
-
#initialize(version_model_class, attributes) ⇒ WhereObjectChanges
constructor
private
-
version_model_class - The class that VersionConcern was mixed into.
-
Constructor Details
#initialize(version_model_class, attributes) ⇒ WhereObjectChanges
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 18 19 20 21 22 |
# File 'lib/paper_trail/queries/versions/where_object_changes.rb', line 14 def initialize(version_model_class, attributes) @version_model_class = version_model_class # Currently, this `deep_dup` is necessary because the `jsonb` branch # modifies `@attributes`, and that would be a nasty suprise for # consumers of this class. # TODO: Stop modifying `@attributes`, then remove `deep_dup`. @attributes = attributes.deep_dup end |
Instance Method Details
#execute ⇒ Object
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.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/paper_trail/queries/versions/where_object_changes.rb', line 25 def execute if PaperTrail.config.object_changes_adapter&.respond_to?(:where_object_changes) return PaperTrail.config.object_changes_adapter.where_object_changes( @version_model_class, @attributes ) end case @version_model_class.columns_hash["object_changes"].type when :jsonb jsonb when :json json else text end end |