module BusinessCentral::Object::URLHelper
Public Instance Methods
encode_url_object(object)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 6 def encode_url_object(object) URI::RFC2396_Parser.new.escape(object) end
encode_url_params(query)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 10 def encode_url_params(query) CGI.escape(query) end
odata_encode(value)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 14 def odata_encode(value) value = value.dup value.gsub!(/'/, "''") if value =~ /'/ value.to_s end
Private Instance Methods
replace_template_with_array_values(query, values)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 35 def replace_template_with_array_values(query, values) query.scan(/\?/).each_with_index do |_character, index| character_position = query =~ /\?/ query[character_position] = odata_encode(values[index]) end query end
replace_template_with_hash_values(query, values)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 28 def replace_template_with_hash_values(query, values) values.first.each do |key, value| query.gsub!(/:#{key}/, odata_encode(value)) end query end
replace_template_with_value(query, values)
click to toggle source
# File lib/business_central/object/url_helper.rb, line 22 def replace_template_with_value(query, values) query = query.dup return replace_template_with_hash_values(query, values) if values.first.is_a?(Hash) replace_template_with_array_values(query, values) end