Module: Logidze
- Extended by:
- Meta
- Defined in:
- lib/logidze.rb,
lib/logidze/meta.rb,
lib/logidze/model.rb,
lib/logidze/engine.rb,
lib/logidze/history.rb,
lib/logidze/version.rb,
lib/logidze/detachable.rb,
lib/logidze/has_logidze.rb,
lib/logidze/history/type.rb,
lib/logidze/history/version.rb,
lib/logidze/ignore_log_data.rb,
app/models/logidze/logidze_data.rb,
lib/logidze/utils/check_pending.rb,
lib/generators/logidze/fx_helper.rb,
lib/generators/logidze/inject_sql.rb,
lib/logidze/versioned_association.rb,
lib/logidze/utils/function_definitions.rb,
lib/logidze/utils/pending_migration_error.rb,
lib/generators/logidze/model/model_generator.rb,
lib/generators/logidze/migration/logs_generator.rb,
lib/generators/logidze/install/install_generator.rb
Overview
:nodoc: all
Defined Under Namespace
Modules: Detachable, Generators, HasLogidze, IgnoreLogData, Meta, Model, Utils, VersionedAssociation Classes: Engine, History, LogidzeData
Constant Summary collapse
- VERSION =
"1.4.1"
Class Attribute Summary collapse
-
.append_on_undo ⇒ Object
Determines if Logidze should append a version to the log after updating an old version.
-
.associations_versioning ⇒ Object
Determines whether associations versioning is enabled or not.
-
.ignore_log_data_by_default ⇒ Object
Determines if Logidze should exclude log data from SELECT statements.
-
.log_data_placement ⇒ Object
Determines where to store
log_data
: -:inline
- force Logidze to store it in the origin table in thelog_data
column -:detached
- force Logidze to store it in thelogidze_data
table in thelog_data
column. -
.on_pending_upgrade ⇒ Object
Determines what Logidze should do when upgrade is needed (:raise | :warn | :ignore).
-
.return_self_if_log_data_is_empty ⇒ Object
Whether #at should return self or nil when log_data is nil.
-
.sort_triggers_by_name ⇒ Object
Determines if triggers are sorted by related table id or by name.
Class Method Summary collapse
- .detached_log_placement? ⇒ Boolean
- .inline_log_placement? ⇒ Boolean
-
.with_full_snapshot ⇒ Object
Instruct Logidze to create a full snapshot for the new versions, not a diff.
-
.without_logging ⇒ Object
Temporary disable DB triggers.
Methods included from Meta
Class Attribute Details
.append_on_undo ⇒ Object
Determines if Logidze should append a version to the log after updating an old version.
22 23 24 |
# File 'lib/logidze.rb', line 22 def append_on_undo @append_on_undo end |
.associations_versioning ⇒ Object
Determines whether associations versioning is enabled or not
24 25 26 |
# File 'lib/logidze.rb', line 24 def associations_versioning @associations_versioning end |
.ignore_log_data_by_default ⇒ Object
Determines if Logidze should exclude log data from SELECT statements
26 27 28 |
# File 'lib/logidze.rb', line 26 def ignore_log_data_by_default @ignore_log_data_by_default end |
.log_data_placement ⇒ Object
Determines where to store log_data
:
-
:inline
- force Logidze to store it in the origin table in thelog_data
column -
:detached
- force Logidze to store it in thelogidze_data
table in thelog_data
column
By default we do not set log_data_placement
value and rely on ‘has_logidze` macros
38 39 40 |
# File 'lib/logidze.rb', line 38 def log_data_placement @log_data_placement end |
.on_pending_upgrade ⇒ Object
Determines what Logidze should do when upgrade is needed (:raise | :warn | :ignore)
32 33 34 |
# File 'lib/logidze.rb', line 32 def on_pending_upgrade @on_pending_upgrade end |
.return_self_if_log_data_is_empty ⇒ Object
Whether #at should return self or nil when log_data is nil
28 29 30 |
# File 'lib/logidze.rb', line 28 def return_self_if_log_data_is_empty @return_self_if_log_data_is_empty end |
.sort_triggers_by_name ⇒ Object
Determines if triggers are sorted by related table id or by name
30 31 32 |
# File 'lib/logidze.rb', line 30 def sort_triggers_by_name @sort_triggers_by_name end |
Class Method Details
.detached_log_placement? ⇒ Boolean
63 64 65 |
# File 'lib/logidze.rb', line 63 def detached_log_placement? @log_data_placement == :detached end |
.inline_log_placement? ⇒ Boolean
67 68 69 |
# File 'lib/logidze.rb', line 67 def inline_log_placement? @log_data_placement == :inline end |
.with_full_snapshot ⇒ Object
Instruct Logidze to create a full snapshot for the new versions, not a diff
52 53 54 |
# File 'lib/logidze.rb', line 52 def with_full_snapshot with_logidze_setting("logidze.full_snapshot", "on") { yield } end |
.without_logging ⇒ Object
Temporary disable DB triggers.
44 45 46 |
# File 'lib/logidze.rb', line 44 def without_logging with_logidze_setting("logidze.disabled", "on") { yield } end |