Module: Literal::Modifiers::Abstract
- Included in:
- Attributable::Formatter::AbstractNodeMethods
- Defined in:
- lib/literal/modifiers/abstract.rb
Instance Method Summary collapse
- #abstract(method_name) ⇒ Object
- #abstract! ⇒ Object
- #abstract? ⇒ Boolean
- #abstract_methods ⇒ Object
- #included(submodule) ⇒ Object
Instance Method Details
#abstract(method_name) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/literal/modifiers/abstract.rb', line 12 def abstract(method_name) @abstract = true abstract_methods << Literal::Method.new(method_name, self) method_name end |
#abstract! ⇒ Object
4 5 6 |
# File 'lib/literal/modifiers/abstract.rb', line 4 def abstract! @abstract = true end |
#abstract? ⇒ Boolean
8 9 10 |
# File 'lib/literal/modifiers/abstract.rb', line 8 def abstract? !!@abstract end |
#abstract_methods ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/literal/modifiers/abstract.rb', line 27 def abstract_methods return @abstract_methods if defined?(@abstract_methods) if is_a?(Class) && superclass.is_a?(Literal::Modifiers::Abstract) @abstract_methods = superclass.abstract_methods.dup else @abstract_methods = Concurrent::Array.new end end |