1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
# frozen_string_literal: true
# Aruba
module Aruba
# Basic Configuration
#
class BasicConfiguration
# A configuration option
#
# @private
class Option
attr_accessor :name, :value
attr_reader :default_value
# Create option
def initialize(opts = {})
name = opts[:name]
value = opts[:value]
raise ArgumentError, '"name" is required' unless opts.key? :name
raise ArgumentError, '"value" is required' unless opts.key? :value
@name = name
@value = value
@default_value = value
end
# Compare option
def ==(other)
name == other.name && value == other.value
end
end
end
end
|