lib/macker/config.rb
# encoding: UTF-8
module Macker
# Configuration class
class Config
# Initialization with default configuration.
# @return [OpenStruct] default configuration
def initialize
@config = OpenStruct.new(
# Full URL of OUI text file
oui_full_url: 'http://standards-oui.ieee.org/oui.txt',
# A common user agent
user_agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0',
# Will expire the vendors in one day
ttl_in_seconds: 86_400,
# Can be a string, pathname or proc
cache: File.expand_path(File.dirname(__FILE__) + '/../../data/oui_*.txt'),
# Expiration can be checked manually
auto_expire: true,
# Stale can be checked manually
auto_stale: true
)
end
# Send missing methods to the OpenStruct configuration.
#
# @param method [String] the missing method name
# @param *args [Array] list of arguments of the missing method
# @return [Object] a configuration parameter
def method_missing(method, *args, &block)
@config.send(method, *args, &block)
end
end
end