class Factual::Write::Base
Public Class Methods
new(api, params)
click to toggle source
# File lib/factual/write/base.rb, line 4 def initialize(api, params) @api = api @params = params @params_on_path = [:table, :factual_id] end
Public Instance Methods
body()
click to toggle source
# File lib/factual/write/base.rb, line 14 def body keys = @params.keys.reject { |key| @params_on_path.include?(key) } keys.map { |key| "#{key}=#{CGI.escape(stringify(@params[key]))}" }.join("&") end
path()
click to toggle source
# File lib/factual/write/base.rb, line 10 def path raise "Virtual method called" end
write()
click to toggle source
# File lib/factual/write/base.rb, line 19 def write @api.post(self) end
Private Instance Methods
form_value(args)
click to toggle source
# File lib/factual/write/base.rb, line 29 def form_value(args) args = args.map { |arg| arg.is_a?(String) ? arg.strip : arg } args.length == 1 ? args.first : args.join(',') end
stringify(value)
click to toggle source
# File lib/factual/write/base.rb, line 25 def stringify(value) value.class == Hash ? value.to_json : value.to_s end