Class: Praxis::ResponseTemplate
- Inherits:
-
Object
- Object
- Praxis::ResponseTemplate
- Defined in:
- lib/praxis/response_template.rb
Instance Attribute Summary collapse
-
#block ⇒ Object
readonly
Returns the value of attribute block.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #compile(action = nil, **args) ⇒ Object
- #describe ⇒ Object
-
#initialize(response_name, &block) ⇒ ResponseTemplate
constructor
A new instance of ResponseTemplate.
Constructor Details
#initialize(response_name, &block) ⇒ ResponseTemplate
Returns a new instance of ResponseTemplate.
7 8 9 10 |
# File 'lib/praxis/response_template.rb', line 7 def initialize(response_name, &block) @name = response_name @block = block end |
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
5 6 7 |
# File 'lib/praxis/response_template.rb', line 5 def block @block end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/praxis/response_template.rb', line 5 def name @name end |
Instance Method Details
#compile(action = nil, **args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/praxis/response_template.rb', line 12 def compile(action = nil, **args) # Default media_type to the endpoint_definition one, if the block has it in # its required args but no value is passed (funky, but can help in the common case) if block.parameters.any? { |(type, name)| name == :media_type && type == :keyreq } && action && !(args.key? :media_type) media_type = action.endpoint_definition.media_type unless media_type raise Exceptions::InvalidConfiguration, "Could not default :media_type argument for response template #{@name}." \ " Endpoint #{action.endpoint_definition} does not have an associated mediatype and none was passed" end args[:media_type] = media_type end Praxis::ResponseDefinition.new(name, **args, &block) end |
#describe ⇒ Object
26 27 28 |
# File 'lib/praxis/response_template.rb', line 26 def describe puts 'TODO!!!!!!' end |