Module: Journaled
- Defined in:
- lib/journaled.rb,
lib/journaled/engine.rb,
lib/journaled/current.rb,
lib/journaled/version.rb,
app/jobs/journaled/delivery_job.rb,
app/jobs/journaled/application_job.rb
Defined Under Namespace
Modules: Actor, Changes, Event, RelationChangeProtection
Classes: ActorUriProvider, ApplicationJob, Change, ChangeDefinition, ChangeWriter, Current, DeliveryJob, Engine, NotTrulyExceptionalError, Writer
Constant Summary
collapse
- SUPPORTED_QUEUE_ADAPTERS =
%w(delayed delayed_job good_job que).freeze
- VERSION =
"4.2.0".freeze
Class Method Summary
collapse
Class Method Details
.commit_hash ⇒ Object
30
31
32
|
# File 'lib/journaled.rb', line 30
def commit_hash
ENV.fetch('GIT_COMMIT')
end
|
.detect_queue_adapter! ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/journaled.rb', line 38
def detect_queue_adapter!
adapter = job_base_class_name.constantize.queue_adapter_name
unless SUPPORTED_QUEUE_ADAPTERS.include?(adapter)
raise <<~MSG
Journaled has detected an unsupported ActiveJob queue adapter: `:#{adapter}`
Journaled jobs must be enqueued transactionally to your primary database.
Please install the appropriate gems and set `queue_adapter` to one of the following:
#{SUPPORTED_QUEUE_ADAPTERS.map { |a| "- `:#{a}`" }.join("\n")}
Read more at https://github.com/Betterment/journaled
MSG
end
end
|
.development_or_test? ⇒ Boolean
18
19
20
|
# File 'lib/journaled.rb', line 18
def development_or_test?
%w(development test).include?(Rails.env)
end
|
.enabled? ⇒ Boolean
22
23
24
|
# File 'lib/journaled.rb', line 22
def enabled?
['0', 'false', false, 'f', ''].exclude?(ENV.fetch('JOURNALED_ENABLED', !development_or_test?))
end
|
.schema_providers ⇒ Object
26
27
28
|
# File 'lib/journaled.rb', line 26
def schema_providers
@schema_providers ||= [Journaled::Engine, Rails]
end
|
.tagged(**tags) ⇒ Object
54
55
56
57
58
59
60
|
# File 'lib/journaled.rb', line 54
def self.tagged(**tags)
existing_tags = Current.tags
tag!(**tags)
yield
ensure
Current.tags = existing_tags
end
|