lib/praxis/response_template.rb in praxis-2.0.pre.18 vs lib/praxis/response_template.rb in praxis-2.0.pre.19
- old
+ new
@@ -1,34 +1,30 @@
-module Praxis
+# frozen_string_literal: true
+module Praxis
class ResponseTemplate
attr_reader :name, :block
def initialize(response_name, &block)
@name = response_name
@block = block
end
- def compile(action=nil, **args)
+ 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
- unless args.has_key? :media_type
- media_type = action.endpoint_definition.media_type
- unless media_type
- raise Exceptions::InvalidConfiguration.new(
- "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
+ 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)
+ Praxis::ResponseDefinition.new(name, **args, &block)
end
def describe
- puts "TODO!!!!!!"
+ puts 'TODO!!!!!!'
end
end
-
end