Class: Cardiac::DeclarationBuilder
- Inherits:
-
ExtensionBuilder
- Object
- Proxy
- ExtensionBuilder
- Cardiac::DeclarationBuilder
- Defined in:
- lib/cardiac/declarations.rb
Instance Method Summary collapse
-
#extension_exec(*args, &block) ⇒ Object
Overridden to return an extended resource/subresource, but skip building the extension module if no block is given.
-
#initialize(base, extension_module = nil) ⇒ DeclarationBuilder
constructor
Overridden to build directly on a resource/subresource.
Methods inherited from ExtensionBuilder
#__extension_module__, #extension_eval
Methods inherited from Proxy
Constructor Details
#initialize(base, extension_module = nil) ⇒ DeclarationBuilder
Overridden to build directly on a resource/subresource.
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/cardiac/declarations.rb', line 4 def initialize(base, extension_module=nil) case base when ::Cardiac::Resource builder = ::Cardiac::Subresource.new(base) when ::URI, ::String builder = ::Cardiac::Resource.new(base) else raise ::ArgumentError, 'a base URI or Resource must be provided' end super builder, extension_module end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Cardiac::ExtensionBuilder
Instance Method Details
#extension_exec(*args, &block) ⇒ Object
Overridden to return an extended resource/subresource, but skip building the extension module if no block is given.
18 19 20 21 22 23 24 |
# File 'lib/cardiac/declarations.rb', line 18 def extension_exec(*args, &block) if block super(*args, &block) @builder.extending(__extension_module__) end @builder end |