module Boty module Slack module URL def self.included(base) base.instance_eval do def url(url); @_url = url end def _url; @_url end end end def self.get(url) JSON.parse Net::HTTP.get(URI(url)) || "{}" end private def parameterize(user_parameters, path: nil) url = path ? self.class._url + path : self.class._url parameters = {token: ENV["SLACK_BOT_API_TOKEN"]}.merge user_parameters parameters.reduce(url + "?") { |_url, param| parameter = param[0] value = URI.encode param[1].to_s "#{_url}#{parameter}=#{value}&" }.gsub(/&$/, "") end end end end