class Ouidb::Manufacturer

Attributes

name[R]
ranges[R]

Public Class Methods

[](name) click to toggle source
# File lib/ouidb/manufacturer.rb, line 6
def self.[](name)
  @all ||= {}
  @all[name] ||= new(name)
end
as_json() click to toggle source
# File lib/ouidb/manufacturer.rb, line 29
def self.as_json
  Hash[@all.map { |name, man| [name, man.ranges.map(&:as_json)] }]
end
clear!() click to toggle source
# File lib/ouidb/manufacturer.rb, line 15
def self.clear!
  @all.clear if @all
  self
end
load_file!(path) click to toggle source
# File lib/ouidb/manufacturer.rb, line 20
def self.load_file!(path)
  clear!
  JSON.parse(path.read).each do |name, ranges|
    man = self[name]
    ranges.each { |range| man.ranges << MacRange.new_by_number(range, man) }
  end
  self
end
new(name) click to toggle source
# File lib/ouidb/manufacturer.rb, line 35
def initialize(name)
  @name   = name.dup.freeze
  @ranges = Set.new
end
to_json() click to toggle source
# File lib/ouidb/manufacturer.rb, line 11
def self.to_json
  JSON.generate(as_json)
end

Public Instance Methods

inspect() click to toggle source
# File lib/ouidb/manufacturer.rb, line 44
def inspect
  "#<Manufacturer ‘#{name}’>"
end
to_s() click to toggle source
# File lib/ouidb/manufacturer.rb, line 40
def to_s
  name
end