class SoarSc::Web::Parser
Public Class Methods
ensure_not_quoted(value)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 14 def self.ensure_not_quoted(value) is_quoted?(value) ? value[1..-2] : value end
ensure_quoted(value)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 10 def self.ensure_quoted(value) is_quoted?(value) ? value : "\"#{value}\"" end
parseIntoParams(request)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 4 def self.parseIntoParams(request) rx = extract_request_parameters(request) return {} if not rx enumerate_parameters(rx) end
Private Class Methods
append_parameter(params, keyvalue)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 41 def self.append_parameter(params, keyvalue) key = keyvalue.split('=')[0] value = keyvalue.split('=')[1] params[key] = value.nil? ? nil : CGI::unescape(value) params end
enumerate_parameters(rx)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 33 def self.enumerate_parameters(rx) params = {} rx.split('&').each do |keyvalue| params = append_parameter(params, keyvalue) end params end
extract_request_parameters(request)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 26 def self.extract_request_parameters(request) rx = request.env['rack.request.form_vars'] || "" rx = ((request.body.is_a? Rack::Lint::InputWrapper) ? request.body.gets : request.body) if rx == "" rx = request.url.split('?')[1] if (request.url) and (not request.url.split('?').nil?) and (rx == "") rx end
is_quoted?(param)
click to toggle source
# File lib/soar_sc_mvc/parser.rb, line 20 def self.is_quoted?(param) double = (param[0] == '"') and (param[param.size-1] == '"') single = (param[0] == "'") and (param[param.size-1] == "'") single or double end