class Praxis::ActionDefinition::HeadersDSLCompiler
Public Instance Methods
attribute(name, attr_type=nil, **opts, &block)
click to toggle source
Override the attribute to really call “key” in the hash (for temporary backwards compat)
# File lib/praxis/action_definition/headers_dsl_compiler.rb, line 32 def attribute(name, attr_type=nil, **opts, &block) warn "[DEPRECATION] `attribute` is deprecated when defining headers. Please use `key` instead." key(name, attr_type, **opts, &block) end
header(name, val=nil, **options)
click to toggle source
it allows to define expectations on incoming headers. For example: header :X_SpecialCookie => implies the header is required header :X_Something, /matching_this/ => implies that if the name header exists, it should match the regexp header :X_A_Header, “Specific String” => implies that the value matches the string exactly In any of the cases, other supported options might be passed header :X_Something, /matching_this/ ,
required: true => to make it required description: "lorem ipsum" => to describe it (like any other attribute)
# File lib/praxis/action_definition/headers_dsl_compiler.rb, line 14 def header(name, val=nil, **options) if val.kind_of?(Class) return key name, val, **options end case val when Regexp options[:regexp] = val when String options[:values] = [val] when nil # Defining the existence without any other options can only mean that it is required (otherwise it is a useless definition) options[:required] = true if options.empty? end key name , String, options end