Class: ConvenientService::Core::Entities::Config::Entities::Concerns
- Inherits:
-
Object
- Object
- ConvenientService::Core::Entities::Config::Entities::Concerns
- Defined in:
- lib/convenient_service/core/entities/config/entities/concerns.rb,
lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb,
lib/convenient_service/core/entities/config/entities/concerns/entities/middleware.rb,
lib/convenient_service/core/entities/config/entities/concerns/entities/default_concern.rb,
lib/convenient_service/core/entities/config/entities/concerns/entities/middleware/commands/cast_middleware.rb
Defined Under Namespace
Modules: Entities
Instance Method Summary collapse
- #==(other) ⇒ Boolean?
- #class_method_defined?(method_name) ⇒ Boolean
- #configure(&configuration_block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns
-
#include! ⇒ Boolean
Includes concerns into klass when called for the first time.
-
#included? ⇒ Boolean
Checks whether concerns are included into klass (include! was called at least once).
- #initialize(klass:) ⇒ void constructor
- #instance_method_defined?(method_name) ⇒ Boolean
- #private_class_method_defined?(method_name) ⇒ Boolean
- #private_instance_method_defined?(method_name) ⇒ Boolean
-
#to_a ⇒ Array<Module>
Concerns as plain modules.
Constructor Details
#initialize(klass:) ⇒ void
20 21 22 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 20 def initialize(klass:) @klass = klass end |
Instance Method Details
#==(other) ⇒ Boolean?
108 109 110 111 112 113 114 115 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 108 def ==(other) return unless other.instance_of?(self.class) return false if klass != other.klass return false if stack != other.stack true end |
#class_method_defined?(method_name) ⇒ Boolean
50 51 52 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 50 def class_method_defined?(method_name) class_method_defined_in_class_methods_modules?(method_name) end |
#configure(&configuration_block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns
78 79 80 81 82 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 78 def configure(&configuration_block) Utils::Proc.exec_config(configuration_block, stack) self end |
#include! ⇒ Boolean
Includes concerns into klass when called for the first time. Does nothing for the subsequent calls.
96 97 98 99 100 101 102 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 96 def include! return false if included? stack.dup.insert_before(0, Entities::DefaultConcern).call(klass: klass) true end |
#included? ⇒ Boolean
Checks whether concerns are included into klass (include! was called at least once).
70 71 72 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 70 def included? klass.include?(Entities::DefaultConcern) end |
#instance_method_defined?(method_name) ⇒ Boolean
28 29 30 31 32 33 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 28 def instance_method_defined?(method_name) return true if instance_method_defined_in_instance_methods_modules?(method_name) return true if instance_method_defined_directly?(method_name) false end |
#private_class_method_defined?(method_name) ⇒ Boolean
58 59 60 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 58 def private_class_method_defined?(method_name) private_class_method_defined_in_class_methods_modules?(method_name) end |
#private_instance_method_defined?(method_name) ⇒ Boolean
39 40 41 42 43 44 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 39 def private_instance_method_defined?(method_name) return true if private_instance_method_defined_in_instance_methods_modules?(method_name) return true if private_instance_method_defined_directly?(method_name) false end |
#to_a ⇒ Array<Module>
Returns concerns as plain modules.
120 121 122 |
# File 'lib/convenient_service/core/entities/config/entities/concerns.rb', line 120 def to_a plain_concerns end |