Official ruby client interface to the Mixpanel (Web Analytics) API
Ruby
Pull request Compare This branch is 89 commits behind keolo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
manual_test
spec
.document
.gitignore
.rvmrc
Gemfile
LICENSE
README.md
Rakefile
mixpanel_client.gemspec

README.md

Mixpanel API Client (for API version 2.0)

Ruby access to the Mixpanel web analytics tool.

Mixpanel Data API Reference

Installation

gem install mixpanel_client

or if you use a Gemfile

gem 'mixpanel_client'

Usage

require 'rubygems'
require 'mixpanel_client'

config = {api_key: 'changeme', api_secret: 'changeme'}
client = Mixpanel::Client.new(config)

data = client.request('events/properties', {
  event:     'splash features',
  name:      'feature',
  values:    '["uno", "dos"]',
  type:      'unique',
  unit:      'day',
  interval:   7,
  limit:      5,
})

puts data.inspect

Parallel

require 'rubygems'
require 'mixpanel_client'

config = {api_key: 'changeme', api_secret: 'changeme', parallel: true}    
client = Mixpanel::Client.new(config)

first_request = client.request('events/properties', {
...
})

second_request = client.request('events/properties', {
...
})

third_request = client.request('events/properties', {
...
})

...

client.run_parallel_requests

puts first_request.response.handled_response
puts second_request.response.handled_response
puts third_request.response.handled_response    

Development

List of rake tasks.

rake -T

Run specs.

rake spec

Run external specs.

cp config/mixpanel.template.yml config/mixpanel.yml
vi config/mixpanel.yml
rake spec:externals

Releasing Gem

Update version

vi lib/mixpanel/version.rb

Commit and push local changes

git commit -am "Some message."
git push
git status

Create tag v2.0.2 and build and push mixpanel_client-2.0.2.gem to Rubygems

rake release

Changelog

v3.1.0

  • Parallel requests option.

v.3.0.0

  • NOTE: This version breaks backwards compatibility.
  • Use a regular ruby hash instead of metaprogramming for mixpanel options.

v.2.2.3

  • Added some more options.

v.2.2.2

  • Added some more options.

v.2.2.1

  • Added support for the raw data export API.

v2.2.0

  • BASE_URI is now https.
  • Changed funnel to funnel_id.

v2.1.0

  • Updated json dependency to 1.6.

v2.0.2

  • Added timezone to available options.
  • All exceptions can be caught under Mixpanel::Error.

v2.0.1

  • Added options used in segmentation resources.

v2.0.0

  • Manually tested compatibility with Mixpanel gem.

v2.0.0.beta2

  • Added JSON to gemspec for ruby versions less than 1.9.

v2.0.0.beta1

  • Reverted to namespacing via module name because it's a better practice. I.e. Use Mixpanel::Client instead of MixpanelClient.
  • Added 'values' as an optional parameter
  • gem install mixpanel_client --pre

v1.0.1

  • Minor housekeeping and organizing
  • Refactored specs

v1.0.0

  • Changed "Mixpanel" class name to "MixpanelClient" to prevent naming collision in other libraries. a710a84e8ba4b6f018b7

Collaborators and Maintainers

Feel free to add your name and link here.

Keolo Keagy (Author)
Bill DeRusha
Jason Logsdon
James R
Mike Ferrier
Grzegorz Forysinski
Nathan Chong
Paul McMahon
Chad Etzel

Copyright

Copyright (c) 2009+ Keolo Keagy. See LICENSE for details.