class InfluxRemix::Remix

Public Class Methods

new(data) click to toggle source
# File lib/influx_remix/remix.rb, line 3
def initialize(data)
    @data = data
end

Public Instance Methods

fields() click to toggle source
# File lib/influx_remix/remix.rb, line 25
def fields
    elements = @data.split(' ') 
    chunk = elements[1].split(',')
    transform_data(chunk) 
end
line_protocol() click to toggle source
# File lib/influx_remix/remix.rb, line 42
def line_protocol
    @data
end
measurement() click to toggle source
# File lib/influx_remix/remix.rb, line 7
def measurement
    elements = @data.split(',')
    if has_measurement?
        return elements.first
    else 
        return nil
    end
end
tags() click to toggle source
# File lib/influx_remix/remix.rb, line 16
def tags
    elements = @data.split(' ')
    chunk = elements.first.split(',')
    if has_measurement?
        chunk.shift
    end
    transform_data(chunk) 
end
time() click to toggle source
# File lib/influx_remix/remix.rb, line 31
def time
    @data.split(' ').last
end
update_time(time) click to toggle source
# File lib/influx_remix/remix.rb, line 35
def update_time(time)
    info = @data.split(' ')
    info.pop
    info.push(time.to_s)
    @data = info.join(' ')
end

Private Instance Methods

has_measurement?() click to toggle source
# File lib/influx_remix/remix.rb, line 48
def has_measurement?
    elements = @data.split(',')
    !elements.first.include?('=')
end
transform_data(chunk) click to toggle source
# File lib/influx_remix/remix.rb, line 53
def transform_data(chunk)
    chunk.reduce({}) do |memo, val|
        elements = val.split('=')
        if !memo.has_key?(elements[0])
            memo[elements[0]] = []
        end
        memo[elements[0]].push(elements[1])
        memo
    end
end