Module: Ephemeron
- Defined in:
- lib/ephemeron.rb,
lib/ephemeron/errors.rb,
lib/ephemeron/railtie.rb,
lib/ephemeron/version.rb,
lib/ephemeron/settings.rb,
lib/ephemeron/store/update.rb,
lib/ephemeron/store/convert.rb,
lib/ephemeron/writers/store.rb,
lib/ephemeron/logger/convert.rb,
lib/ephemeron/logger/finders.rb,
lib/ephemeron/writers/logger.rb,
lib/ephemeron/validators/store.rb,
lib/ephemeron/writers/callbacks.rb,
lib/ephemeron/addons/model_addons.rb,
lib/ephemeron/writers/thread_store.rb,
lib/ephemeron/validators/before_save.rb,
lib/ephemeron/validators/store/unused.rb,
lib/ephemeron/addons/controller_addons.rb,
lib/ephemeron/validators/store_element.rb,
lib/ephemeron/validators/store/allowed_but_unsaved.rb
Defined Under Namespace
Modules: ControllerAddons, ModelAddons, Validators
Classes: Callbacks, Logger, LoggerError, PersistenceError, Railtie, Settings, Store, StoreError, ThreadStore
Constant Summary
collapse
- VERSION =
'0.2.0'
Class Method Summary
collapse
Class Method Details
.add(model, as: nil) ⇒ Object
43
44
45
|
# File 'lib/ephemeron.rb', line 43
def add(model, as: nil)
Store.add model, as: as
end
|
.after_save!(&block) ⇒ Object
75
76
77
|
# File 'lib/ephemeron.rb', line 75
def after_save!(&block)
Callbacks.add block
end
|
.allow_save!(model) ⇒ Object
67
68
69
|
# File 'lib/ephemeron.rb', line 67
def allow_save!(model)
model.tap { |m| Logger.log m, :save_allowed }
end
|
28
29
30
31
32
33
|
# File 'lib/ephemeron.rb', line 28
def configure
Ephemeron::Settings::CONFIG.new.tap do |config|
yield config
Ephemeron::Settings.configure config
end
end
|
.finish ⇒ Object
79
80
81
82
83
84
85
86
|
# File 'lib/ephemeron.rb', line 79
def finish
if Store.aliases[nil] != :abort
Store.validate
Store.persist
Callbacks.call
end
reset
end
|
.get(key) ⇒ Object
53
54
55
|
# File 'lib/ephemeron.rb', line 53
def get(key)
Store.get key
end
|
.logs ⇒ Object
39
40
41
|
# File 'lib/ephemeron.rb', line 39
def logs
Logger.logs
end
|
.proxy ⇒ Object
47
48
49
50
51
|
# File 'lib/ephemeron.rb', line 47
def proxy
Logger.log nil, :proxy_start
yield
Logger.log nil, :proxy_end
end
|
.reset ⇒ Object
92
93
94
95
96
97
|
# File 'lib/ephemeron.rb', line 92
def reset
Store.reset
Logger.reset
Callbacks.reset
true
end
|
.skip_save!(model) ⇒ Object
71
72
73
|
# File 'lib/ephemeron.rb', line 71
def skip_save!(model)
Logger.log model, :skip_save
end
|
.state ⇒ Object
35
36
37
|
# File 'lib/ephemeron.rb', line 35
def state
Store.store
end
|
.stop ⇒ Object
88
89
90
|
# File 'lib/ephemeron.rb', line 88
def stop
Store.aliases[nil] = :abort
end
|
.used(model_s) ⇒ Object
57
58
59
60
61
62
63
64
65
|
# File 'lib/ephemeron.rb', line 57
def used(model_s)
log_used = ->(model) { Logger.log model, :used }
if model_s.is_a? ActiveRecord::Base
log_used.call model_s
else
model_s.each(&log_used)
end
model_s
end
|