Sha256: 996336f71cf1d4d50f167d8c2455fe8c542dd5026f1d2213bd3f20ced5d2ef4f
Contents?: true
Size: 851 Bytes
Versions: 8
Compression:
Stored size: 851 Bytes
Contents
#!/usr/bin/env ruby module Visage class Types attr_reader :types def initialize(opts={}) @filename = opts[:filename] || "/usr/share/collectd/types.db" @types = [] build end def to_json @types.to_json end private def build file = File.new(@filename) file.each_line do |line| next if line =~ /^#/ next if line =~ /^\s*$/ attrs = {} spec = line.strip.split(/\t+|,\s+/) dataset = spec.shift spec.each do |source| parts = source.split(':') @types << { "dataset" => dataset, "datasource" => parts[0], "type" => parts[1], "min" => parts[2], "max" => parts[3] } end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems