Class: Alchemrest::EndpointDefinition
- Inherits:
-
Object
- Object
- Alchemrest::EndpointDefinition
- Defined in:
- lib/alchemrest/endpoint_definition.rb
Instance Method Summary collapse
-
#initialize(template:, http_method:, builder_block:) ⇒ EndpointDefinition
constructor
A new instance of EndpointDefinition.
- #params_for(context) ⇒ Object
- #url_for(context) ⇒ Object
Constructor Details
#initialize(template:, http_method:, builder_block:) ⇒ EndpointDefinition
Returns a new instance of EndpointDefinition.
10 11 12 13 14 15 16 17 18 |
# File 'lib/alchemrest/endpoint_definition.rb', line 10 def initialize(template:, http_method:, builder_block:) super raise ArgumentError, "template must be string" unless template.instance_of?(String) raise ArgumentError, "missing template" if template.empty? downcased_http_method = http_method.downcase raise ArgumentError, "must provide a valid HTTP method" unless VALID_HTTP_METHODS.include?(downcased_http_method) end |
Instance Method Details
#params_for(context) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/alchemrest/endpoint_definition.rb', line 24 def params_for(context) builder = build_for(context) if builder.params builder.params elsif builder.values || builder.query (builder.values || {}).merge(builder.query || {}).transform_values { |v| CGI.escape(v.to_s) } end end |
#url_for(context) ⇒ Object
20 21 22 |
# File 'lib/alchemrest/endpoint_definition.rb', line 20 def url_for(context) build_for(context).url end |