class Gosquared::People
Constants
- BASEURL
- DIMENSIONS
- VERSION
Public Class Methods
new(api_key, site_token)
click to toggle source
# File lib/gosquared/people.rb, line 11 def initialize(api_key, site_token) @site_token = site_token @api_key = api_key @person_id = '' @person_filter = '' end
Public Instance Methods
check_for_nil_user()
click to toggle source
# File lib/gosquared/people.rb, line 82 def check_for_nil_user if @data.key?(:person_id) && @data[:person_id].nil? @data.tap { |_data| @data.delete(:person_id) } warn 'person_id is nil, event will not be track against a user' end end
delete()
click to toggle source
# File lib/gosquared/people.rb, line 54 def delete response = Client.new.delete(url) end
fetch()
click to toggle source
# File lib/gosquared/people.rb, line 48 def fetch data = Client.new.get(url) @@filters.each { |key, _value| @@filters[key] = nil } if data data end
person_id(object, filter=nil)
click to toggle source
# File lib/gosquared/people.rb, line 33 def person_id(object, filter=nil) @person_id = '/' + object @person_filter = '/' + filter if filter self end
post()
click to toggle source
# File lib/gosquared/people.rb, line 75 def post check_for_nil_user response = Client.new.post(url, @data) @data = nil if response.code === '200' response end
smartgroups(group_id = nil, filter = nil)
click to toggle source
# File lib/gosquared/people.rb, line 39 def smartgroups(group_id = nil, filter = nil) if group_id @dimension = "smartgroups/#{group_id}/people" if filter == 'people' @dimension = "smartgroups/#{group_id}/count/latest" if filter == 'count' else @dimension = 'smartgroups' end self end
url()
click to toggle source
# File lib/gosquared/people.rb, line 58 def url array = [''] url = BASEURL + @dimension + @person_id + @person_filter + "?api_key=#{@api_key}" + "&site_token=#{@site_token}" @@filters.each do |key, value| if @dimension == 'people' && key == :filters && value.is_a?(Array) json_object = JSON.generate(value) filter_request = URI.escape(json_object, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) array << "#{key}=#{filter_request}" else array << "#{key}=#{value}" if value end end parameters = array.join('&') url.concat(parameters) end