Class: RedSnow::Action
- Inherits:
-
NamedBlueprintNode
- Object
- BlueprintNode
- NamedBlueprintNode
- RedSnow::Action
- Defined in:
- lib/redsnow/blueprint.rb
Overview
Action Blueprint AST node
represetns 'action sction'
Instance Attribute Summary collapse
-
#examples ⇒ Array<TransactionExample>
action transaction examples.
-
#method ⇒ String
HTTP request method or nil.
-
#parameters ⇒ Parameters
action-specific URI parameters or nil.
Attributes inherited from NamedBlueprintNode
Instance Method Summary collapse
-
#initialize(sc_action_handle) ⇒ Action
constructor
A new instance of Action.
Methods inherited from NamedBlueprintNode
Constructor Details
#initialize(sc_action_handle) ⇒ Action
Returns a new instance of Action.
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 |
# File 'lib/redsnow/blueprint.rb', line 295 def initialize(sc_action_handle) @name = RedSnow::Binding.sc_action_name(sc_action_handle) @description = RedSnow::Binding.sc_action_description(sc_action_handle) @method = RedSnow::Binding.sc_action_httpmethod(sc_action_handle) @parameters = Parameters.new(RedSnow::Binding.sc_parameter_collection_handle_action(sc_action_handle)) @examples = [] sc_transaction_example_collection_handle = RedSnow::Binding.sc_transaction_example_collection_handle(sc_action_handle) sc_transaction_example_collection_size = RedSnow::Binding.sc_transaction_example_collection_size(sc_transaction_example_collection_handle) return if sc_transaction_example_collection_size == 0 examples_size = sc_transaction_example_collection_size - 1 (0..examples_size).each do |index| sc_transaction_example_handle = RedSnow::Binding.sc_transaction_example_handle(sc_transaction_example_collection_handle, index) @examples << TransactionExample.new(sc_transaction_example_handle).tap do |example| action_instance = self example.define_singleton_method(:action) { action_instance } end end end |
Instance Attribute Details
#examples ⇒ Array<TransactionExample>
action transaction examples
289 290 291 |
# File 'lib/redsnow/blueprint.rb', line 289 def examples @examples end |
#method ⇒ String
HTTP request method or nil
289 290 291 |
# File 'lib/redsnow/blueprint.rb', line 289 def method @method end |
#parameters ⇒ Parameters
action-specific URI parameters or nil
289 290 291 |
# File 'lib/redsnow/blueprint.rb', line 289 def parameters @parameters end |