Class: EacRubyUtils::CommonConcern::Setup
- Includes:
- SimpleCache
- Defined in:
- lib/eac_ruby_utils/common_concern.rb
Constant Summary
Constants included from SimpleCache
SimpleCache::UNCACHED_METHOD_PATTERN
Instance Attribute Summary collapse
-
#a_module ⇒ Object
readonly
Returns the value of attribute a_module.
-
#common_concern ⇒ Object
readonly
Returns the value of attribute common_concern.
Instance Method Summary collapse
- #class_methods_module_uncached ⇒ Object
-
#initialize(common_concern, a_module) ⇒ Setup
constructor
A new instance of Setup.
- #instance_methods_module_uncached ⇒ Object
- #run ⇒ Object
- #setup_after_callback(base) ⇒ Object
- #setup_class_methods(base) ⇒ Object
- #setup_instance_methods(base) ⇒ Object
Methods included from SimpleCache
#method_missing, #reset_cache, #respond_to_missing?
Constructor Details
#initialize(common_concern, a_module) ⇒ Setup
Returns a new instance of Setup.
26 27 28 29 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 26 def initialize(common_concern, a_module) @common_concern = common_concern @a_module = a_module end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class EacRubyUtils::SimpleCache
Instance Attribute Details
#a_module ⇒ Object (readonly)
Returns the value of attribute a_module.
24 25 26 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 24 def a_module @a_module end |
#common_concern ⇒ Object (readonly)
Returns the value of attribute common_concern.
24 25 26 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 24 def common_concern @common_concern end |
Instance Method Details
#class_methods_module_uncached ⇒ Object
55 56 57 58 59 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 55 def class_methods_module_uncached a_module.const_get(CLASS_METHODS_MODULE_NAME) rescue NameError nil end |
#instance_methods_module_uncached ⇒ Object
61 62 63 64 65 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 61 def instance_methods_module_uncached a_module.const_get(INSTANCE_METHODS_MODULE_NAME) rescue NameError nil end |
#run ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 31 def run setup = self a_module.extend(::ActiveSupport::Concern) a_module.included do %w[class_methods instance_methods after_callback].each do |suffix| setup.send("setup_#{suffix}", self) end end end |
#setup_after_callback(base) ⇒ Object
49 50 51 52 53 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 49 def setup_after_callback(base) common_concern.after_callback.if_present do |v| base.instance_eval(&v) end end |
#setup_class_methods(base) ⇒ Object
41 42 43 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 41 def setup_class_methods(base) class_methods_module.if_present { |v| base.extend v } end |
#setup_instance_methods(base) ⇒ Object
45 46 47 |
# File 'lib/eac_ruby_utils/common_concern.rb', line 45 def setup_instance_methods(base) instance_methods_module.if_present { |v| base.include v } end |