Class: Prmd::UrlGenerator::Generators::Default Private
- Inherits:
-
Object
- Object
- Prmd::UrlGenerator::Generators::Default
- Defined in:
- lib/prmd/url_generators/generators/default.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Default URL Generator
Class Method Summary collapse
- .generate(params) ⇒ Object private
- .generate_params(obj, prefix = nil) ⇒ String private
- .param_name(key, prefix, array = false) ⇒ String private
Class Method Details
.generate(params) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
14 15 16 17 18 |
# File 'lib/prmd/url_generators/generators/default.rb', line 14 def self.generate(params) data = {} data.merge!(params[:schema].schema_example(params[:link]['schema'])) generate_params(data) end |
.generate_params(obj, prefix = nil) ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/prmd/url_generators/generators/default.rb', line 37 def self.generate_params(obj, prefix = nil) result = [] obj.each do |key,value| if value.is_a?(Hash) newprefix = if prefix "#{prefix}[#{key}]" else key end result << generate_params(value, newprefix) elsif value.is_a?(Array) value.each do |val| result << [param_name(key, prefix, true), CGI.escape(val.to_s)].join('=') end else next unless value # ignores parameters with empty examples result << [param_name(key, prefix), CGI.escape(value.to_s)].join('=') end end result.flatten end |
.param_name(key, prefix, array = false) ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/prmd/url_generators/generators/default.rb', line 23 def self.param_name(key, prefix, array = false) result = if prefix "#{prefix}[#{key}]" else key end result += '[]' if array result end |