class ApipieBindings::Route
Attributes
Public Class Methods
Source
# File lib/apipie_bindings/route.rb, line 7 def initialize(path, method, description="") @path = path @method = method.downcase @description = description end
Public Instance Methods
Source
# File lib/apipie_bindings/route.rb, line 13 def params_in_path @path.scan(/:([^\/]*)/).map { |m| m.first } end
Source
# File lib/apipie_bindings/route.rb, line 17 def path(params=nil) return @path if params.nil? params_in_path.inject(@path) do |p, param_name| param_value = (params[param_name.to_sym] or params[param_name.to_s]) or raise ArgumentError, "missing param '#{param_name}' in parameters" p.sub(":#{param_name}", CGI.escape(param_value.to_s)) end end