class Hubbah::Payload

Public Class Methods

new(configuration, env) click to toggle source
# File lib/hubbah/payload.rb, line 4
def initialize(configuration, env)
  @configuration = configuration
  request = Rack::Request.new(env)
  @hutk = request.cookies['hubspotutk']
  @ip = request.ip
  @url = request.url
  if !request.referer.nil? && request.referer != '/'
    @url = request.referer
  end
end

Public Instance Methods

hs_context() click to toggle source
# File lib/hubbah/payload.rb, line 22
def hs_context
  context_map.inject({}) do |map, keypair|
    unless keypair[1].nil?
      map[keypair[0]] = keypair[1]
    end
    map
  end
end
submit(guid, attributes) click to toggle source
# File lib/hubbah/payload.rb, line 15
def submit(guid, attributes)
  decorated_attrs = attributes.dup
  decorated_attrs['hs_context'] = hs_context.to_json
  submission = Hubbah::FormSubmission.new(guid, decorated_attrs, @configuration)
  submission.submit
end

Protected Instance Methods

context_map() click to toggle source
# File lib/hubbah/payload.rb, line 32
def context_map
  {
    'hutk' => @hutk,
    'ipAddress' => @ip,
    'pageUrl' => @url
  }
end