class Bcome::Registry::Arguments::Base

Attributes

arguments[R]
defaults[R]
merged_arguments[R]
processed_arguments[R]

Public Class Methods

new(_arguments, defaults) click to toggle source
# File lib/objects/registry/arguments/base.rb, line 14
def initialize(_arguments, defaults)
  @defaults = defaults || {}
  validate
end
process(arguments, defaults) click to toggle source
# File lib/objects/registry/arguments/base.rb, line 8
def process(arguments, defaults)
  processor = new(arguments, defaults)
  processor.do_process
end

Public Instance Methods

do_process() click to toggle source
# File lib/objects/registry/arguments/base.rb, line 19
def do_process
  merge_arguments_with_defaults
  @merged_arguments
end

Private Instance Methods

arguments_to_merge() click to toggle source
# File lib/objects/registry/arguments/base.rb, line 30
def arguments_to_merge
  @arguments
end
merge_arguments_with_defaults() click to toggle source
# File lib/objects/registry/arguments/base.rb, line 26
def merge_arguments_with_defaults
  @merged_arguments = @defaults.symbolize_keys.merge(arguments_to_merge.symbolize_keys)
end
validate() click to toggle source
# File lib/objects/registry/arguments/base.rb, line 34
def validate
  raise Bcome::Exception::InvalidRegistryArgumentType, 'invalid default registry argument format' unless @defaults.is_a?(Hash)
end