Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'addressable/uri'
- class Object
- def tap
- yield(self)
- self
- end
- end
- class Hash
- def stringify_keys_and_jsonify_values!(values=%w(key startkey endkey))
- keys.each do |key|
- value = self.delete(key)
- value = value.to_json if values.include?(key.to_s)
- self[key.to_s] = value
- end
- self
- end
- end
- module Addressable
- class URI
- alias :orig_query_values= :query_values=
- def query_values=(params)
- params.stringify_keys_and_jsonify_values!
- self.orig_query_values = params
- end
- end
- end
- class String
- def to_uri(params={})
- Addressable::URI.parse(self).tap { |u| u.query_values = params }
- end
- end
Add Comment
Please, Sign In to add comment