Class: RESTinPeace::TemplateSanitizer
- Inherits:
-
Object
- Object
- RESTinPeace::TemplateSanitizer
show all
- Defined in:
- lib/rest_in_peace/template_sanitizer.rb
Defined Under Namespace
Classes: IncompleteParams
Instance Method Summary
collapse
Constructor Details
#initialize(url_template, params) ⇒ TemplateSanitizer
8
9
10
11
12
|
# File 'lib/rest_in_peace/template_sanitizer.rb', line 8
def initialize(url_template, params)
@url_template = url_template
@params = params.dup
@url = nil
end
|
Instance Method Details
#leftover_params ⇒ Object
29
30
31
|
# File 'lib/rest_in_peace/template_sanitizer.rb', line 29
def leftover_params
@params.delete_if { |param| tokens.include?(param.to_s) }
end
|
#tokens ⇒ Object
25
26
27
|
# File 'lib/rest_in_peace/template_sanitizer.rb', line 25
def tokens
@url_template.scan(%r{:([a-z_]+)}).flatten
end
|
#url ⇒ Object
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/rest_in_peace/template_sanitizer.rb', line 14
def url
return @url if @url
@url = @url_template.dup
tokens.each do |token|
param = @params.delete(token.to_sym)
raise IncompleteParams, "Unknown parameter for token :#{token} found" unless param
@url.sub!(%r{:#{token}}, param.to_s)
end
@url
end
|