Class: Brainstem::ApiDocs::Builder
- Inherits:
-
Object
- Object
- Brainstem::ApiDocs::Builder
- Includes:
- Concerns::Optional
- Defined in:
- lib/brainstem/api_docs/builder.rb
Instance Attribute Summary collapse
-
#args_for_atlas ⇒ Object
Arguments to be passed to the atlas on creation.
-
#args_for_introspector ⇒ Object
Arguments to be passed to the introspector on creation.
-
#atlas ⇒ Object
Holds a reference to the constructed atlas.
-
#atlas_method ⇒ Proc
A proc of arity 1..2 which takes an introspector and optional options, and which returns a new Atlas.
-
#introspector ⇒ Object
Holds a reference to the constructed introspector.
-
#introspector_method ⇒ Proc
A method which returns the introspector which extracts information about the Brainstem-powered API from the host application.
Instance Method Summary collapse
-
#build_atlas! ⇒ Object
Builds an atlas.
-
#build_introspector! ⇒ Object
Builds an introspector.
-
#initialize(options = {}) ⇒ Builder
constructor
A new instance of Builder.
- #valid_options ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Builder
Returns a new instance of Builder.
47 48 49 50 51 52 |
# File 'lib/brainstem/api_docs/builder.rb', line 47 def initialize( = {}) super build_introspector! build_atlas! end |
Instance Attribute Details
#args_for_atlas ⇒ Object
Arguments to be passed to the atlas on creation.
89 90 91 |
# File 'lib/brainstem/api_docs/builder.rb', line 89 def args_for_atlas @args_for_atlas ||= {} end |
#args_for_introspector ⇒ Object
Arguments to be passed to the introspector on creation.
74 75 76 |
# File 'lib/brainstem/api_docs/builder.rb', line 74 def args_for_introspector @args_for_introspector ||= {} end |
#atlas ⇒ Object
Holds a reference to the constructed atlas.
150 151 152 |
# File 'lib/brainstem/api_docs/builder.rb', line 150 def atlas @atlas end |
#atlas_method ⇒ Proc
A proc of arity 1..2 which takes an introspector and optional options, and which returns a new Atlas.
Passed an introspector.
136 137 138 |
# File 'lib/brainstem/api_docs/builder.rb', line 136 def atlas_method @atlas_method ||= Atlas.method(:new) end |
#introspector ⇒ Object
Holds a reference to the constructed introspector.
126 127 128 |
# File 'lib/brainstem/api_docs/builder.rb', line 126 def introspector @introspector end |
#introspector_method ⇒ Proc
A method which returns the introspector which extracts information about the Brainstem-powered API from the host application.
Stored as a proc because it’s impossible to inject an instantiated object and have it receive args from this class. This is less important in this specific circumstance but is kept for uniformity with atlas_method
.
111 112 113 114 |
# File 'lib/brainstem/api_docs/builder.rb', line 111 def introspector_method @introspector_method ||= Introspectors::RailsIntrospector.method(:with_loaded_environment) end |
Instance Method Details
#build_atlas! ⇒ Object
Builds an atlas.
64 65 66 |
# File 'lib/brainstem/api_docs/builder.rb', line 64 def build_atlas! self.atlas = atlas_method.call(introspector, args_for_atlas) end |
#build_introspector! ⇒ Object
Builds an introspector.
57 58 59 |
# File 'lib/brainstem/api_docs/builder.rb', line 57 def build_introspector! self.introspector = introspector_method.call(args_for_introspector) end |
#valid_options ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/brainstem/api_docs/builder.rb', line 19 def [ :introspector_method, :atlas_method, :args_for_introspector, :args_for_atlas ] end |