Module: Inferior::Core::DSL::Interface
- Defined in:
- lib/inferior/core/dsl/interface.rb
Instance Method Summary collapse
- #extends(interface) ⇒ Object
- #require_method(name, signature_lambda = -> {}) ⇒ Object
- #required_methods ⇒ Object
- #verify!(klass) ⇒ Object
Instance Method Details
#extends(interface) ⇒ Object
9 10 11 12 13 |
# File 'lib/inferior/core/dsl/interface.rb', line 9 def extends(interface) interface.required_methods.each do |method| register_method!(method) end end |
#require_method(name, signature_lambda = -> {}) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/inferior/core/dsl/interface.rb', line 15 def require_method(name, signature_lambda = -> {}) method = Method.build!( parameters: Method.parse_parameters!(signature_lambda), name: name, ) register_method!(method) end |
#required_methods ⇒ Object
23 24 25 |
# File 'lib/inferior/core/dsl/interface.rb', line 23 def required_methods @required_methods ||= {} end |
#verify!(klass) ⇒ Object
27 28 29 |
# File 'lib/inferior/core/dsl/interface.rb', line 27 def verify!(klass) required_methods.each { |_name, method| method.verify_class!(klass) } end |