module MixTape::Builder
Public Instance Methods
define(name, desc = '') { |*args| ... }
click to toggle source
# File lib/mix_tape/builder.rb, line 16 def define(name, desc = '', &block) @@mix_tape << [name, desc] MixTape.define_singleton_method("track_#{name}") do |*args| data = yield(*args) distinct_id = data.delete(:distinct_id) MixTape.client.track distinct_id, name.to_s, data end MixTape.define_singleton_method("set_#{name}") do |id, *args| args = yield(*args) ip = args['$ip'] || args[:$ip] || args[:ip] MixTape.client.people.set id, args, ip end end
definition(&block)
click to toggle source
# File lib/mix_tape/builder.rb, line 12 def definition(&block) block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end
method_missing(key, *arguments, &block)
click to toggle source
# File lib/mix_tape/builder.rb, line 33 def method_missing(key, *arguments, &block) define(key, arguments.first, &block) end
mix_tape()
click to toggle source
# File lib/mix_tape/builder.rb, line 8 def mix_tape @@mix_tape end