class URI::GID
def build(args)
Using an array, the arguments must be in order [app, model_name, model_id, params]:
URI::GID.build(app: 'bcx', model_name: 'Person', model_id: '1', params: { key: 'value' })
Using a hash:
either a hash or an array.
The allowed components are app, model_name, model_id and params, which can be
Create a new URI::GID from components with argument check.
def build(args) parts = Util.make_components_hash(self, args) parts[:host] = parts[:app] model_id_segment = Array(parts[:model_id]).map { |p| CGI.escape(p.to_s) }.join(COMPOSITE_MODEL_ID_DELIMITER) parts[:path] = "/#{parts[:model_name]}/#{model_id_segment}" if parts[:params] && !parts[:params].empty? parts[:query] = URI.encode_www_form(parts[:params]) end super parts end