Class: Munin::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/munin.rb

Constant Summary collapse

DATA_SOURCE_ATTRIBUTES =
%w{ label cdef draw graph extinfo max min negative type warning critical colour skipdraw sum stack line }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Field

Returns a new instance of Field.



163
164
165
166
167
# File 'lib/munin.rb', line 163

def initialize(name, options = {})
  @name, @options = name.to_s, options

  @options[:label] ||= default_label(name)
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



161
162
163
# File 'lib/munin.rb', line 161

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



161
162
163
# File 'lib/munin.rb', line 161

def options
  @options
end

Instance Method Details

#==(other) ⇒ Object



196
197
198
# File 'lib/munin.rb', line 196

def ==(other)
  other and name == other.name and options == other.options
end

#configObject



179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'lib/munin.rb', line 179

def config
  DATA_SOURCE_ATTRIBUTES.inject({}) do |config, attribute|
    attribute = attribute.to_sym
    attribute_value = @options[attribute]

    unless attribute_value.nil?
      case attribute
        when :type
          attribute_value = attribute_value.to_s.upcase
      end
      config["#{name}.#{attribute}"] = attribute_value
    end

    config
  end
end

#default_label(name) ⇒ Object



169
170
171
# File 'lib/munin.rb', line 169

def default_label(name)
  name.to_s.gsub('_',' ')
end

#option(key) ⇒ Object



173
174
175
# File 'lib/munin.rb', line 173

def option(key)
  @options[key]
end