Sha256: 8bc0810f2c5a6188a3a8c5f4ba71b9647d89095b8c2153377cdbac4730d0e28a

Contents?: true

Size: 601 Bytes

Versions: 27

Compression:

Stored size: 601 Bytes

Contents

#!/usr/bin/env ruby

require 'yaml'
require 'ostruct'

class CollectdProfile

  def initialize(opts={})
    @profile = opts[:profile]
  end

  class << self

    attr_accessor :profiles

    def get(id)
      id.gsub!(/\s+/, '+')
      if found = @profiles.find {|p| p[1]["splat"] == id }
        OpenStruct.new(found[1])
      else
        nil
      end
    end

    def all
      # here be ugliness
      profiles = @profiles.to_a.sort_by { |profile| 
        profile[1]["order"] 
      }.map { |profile| 
        OpenStruct.new(profile[1].merge({'name' => profile[0]}))
      }
    end

  end

end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
visage-app-1.0.0 lib/visage-app/collectd/profile.rb
visage-app-0.9.6 lib/visage-app/collectd/profile.rb
visage-app-0.9.5 lib/visage-app/collectd/profile.rb
visage-app-0.9.4 lib/visage-app/collectd/profile.rb
visage-app-0.9.3 lib/visage-app/collectd/profile.rb
visage-app-0.9.2 lib/visage-app/collectd/profile.rb
visage-app-0.9.1 lib/visage-app/collectd/profile.rb
visage-app-0.9.0.pre2 lib/visage-app/collectd/profile.rb
visage-app-0.9.0 lib/visage-app/collectd/profile.rb
visage-app-0.9.0.pre1 lib/visage-app/collectd/profile.rb
visage-app-0.3.3 lib/visage-app/collectd/profile.rb
visage-app-0.3.2 lib/visage/collectd/profile.rb
visage-app-0.3.1 lib/visage/collectd/profile.rb
visage-app-0.3.0 lib/visage/collectd/profile.rb
visage-app-0.2.7 lib/visage/collectd/profile.rb
visage-app-0.2.6 lib/visage/collectd/profile.rb
visage-app-0.2.5 lib/visage/collectd/profile.rb
visage-app-0.2.4 lib/visage/collectd/profile.rb
visage-app-0.2.3 lib/visage/collectd/profile.rb
visage-app-0.2.2 lib/visage/collectd/profile.rb