Sha256: c0719e4e1337061a6f6cd6e2dcca442d9219e71dc3597bd047f664ed6d6d3872
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module BusinessCentral module Object module URLHelper using Refinements::Strings def encode_url_object(object) URI::RFC2396_Parser.new.escape(object) end def encode_url_params(query) CGI.escape(query) end def odata_encode(value) value = value.dup value.gsub!(/'/, "''") if value.instance_of?(String) && value =~ /'/ value.to_s end private 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 def replace_template_with_hash_values(query, values) values.first.each do |key, value| query.gsub!(/:#{key}/, odata_encode(value)) end query end 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
business-central-2.0.0 | lib/business_central/object/url_helper.rb |