Module: AdequateSerialization
- Includes:
- CacheBusting, CacheStep
- Defined in:
- lib/adequate_serialization.rb,
lib/adequate_serialization.rb,
lib/adequate_serialization/steps.rb,
lib/adequate_serialization/options.rb,
lib/adequate_serialization/version.rb,
lib/adequate_serialization/attribute.rb,
lib/adequate_serialization/decorator.rb,
lib/adequate_serialization/serializer.rb,
lib/adequate_serialization/steps/step.rb,
lib/adequate_serialization/serializable.rb,
lib/adequate_serialization/rails/cache_step.rb,
lib/adequate_serialization/inline_serializer.rb,
lib/adequate_serialization/rails/cache_busting.rb,
lib/adequate_serialization/rails/cache_refresh.rb,
lib/adequate_serialization/steps/serialize_step.rb,
lib/adequate_serialization/rails/cache_visualization.rb,
lib/adequate_serialization/rails/relation_serializer.rb
Defined Under Namespace
Modules: Attribute, CacheBusting, CacheRefresh, Decorator, Options, Rails, Serializable, Steps Classes: Error, InlineSerializer, Serializer
Constant Summary collapse
- VERSION =
'2.0.1'
Class Attribute Summary collapse
-
.active_job_queue ⇒ Object
Returns the value of attribute active_job_queue.
Class Method Summary collapse
-
.associate_cache(active_record, *association_names) ⇒ Object
Associate one or more caches with an active record such that when the record is updated the associated object caches are also updated.
-
.configure {|_self| ... } ⇒ Object
DSL-like block for parity with other Ruby/Rails libraries.
- .dump(object) ⇒ Object
- .inline(&block) ⇒ Object
- .prepend(step) ⇒ Object
- .steps ⇒ Object
Methods included from CacheBusting
Class Attribute Details
.active_job_queue ⇒ Object
Returns the value of attribute active_job_queue.
13 14 15 |
# File 'lib/adequate_serialization.rb', line 13 def active_job_queue @active_job_queue end |
Class Method Details
.associate_cache(active_record, *association_names) ⇒ Object
Associate one or more caches with an active record such that when the record is updated the associated object caches are also updated.
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/adequate_serialization.rb', line 24 def associate_cache(active_record, *association_names) require 'adequate_serialization/rails/cache_refresh' unless active_record.respond_to?(:associate_cache) active_record.extend(CacheRefresh) end association_names.each do |association_name| active_record.associate_cache(association_name) end end |
.configure {|_self| ... } ⇒ Object
DSL-like block for parity with other Ruby/Rails libraries.
37 38 39 |
# File 'lib/adequate_serialization.rb', line 37 def configure yield self end |
.dump(object) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/adequate_serialization/attribute.rb', line 4 def self.dump(object) if object.is_a?(Hash) object elsif object.respond_to?(:as_json) object.as_json else object end end |
.inline(&block) ⇒ Object
54 55 56 |
# File 'lib/adequate_serialization/inline_serializer.rb', line 54 def self.inline(&block) InlineSerializer.new(&block) end |
.prepend(step) ⇒ Object
29 30 31 |
# File 'lib/adequate_serialization/steps.rb', line 29 def prepend(step) @steps = step.new(steps) end |
.steps ⇒ Object
33 34 35 |
# File 'lib/adequate_serialization/steps.rb', line 33 def steps @steps ||= Steps::SerializeStep.new end |