Module: FunctionalLightService::EnumBuilder::DataType::Binary

Defined in:
lib/functional-light-service/functional/enum.rb

Overview

TODO: this should probably be named Multary

Instance Method Summary collapse

Instance Method Details

#initialize(*init) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/functional-light-service/functional/enum.rb', line 50

def initialize(*init)
  unless (init.count == 1 && init[0].is_a?(Hash)) || init.count == args.count
    raise ArgumentError, "Expected arguments for #{args}, got #{init}"
  end

  @value = if init.count == 1 && init[0].is_a?(Hash)
             args.zip(init[0].values).to_h
           else
             args.zip(init).to_h
           end
end

#inspectObject



62
63
64
65
# File 'lib/functional-light-service/functional/enum.rb', line 62

def inspect
  params = value.map { |k, v| "#{k}: #{v.inspect}" }
  "#{name}(#{params.join(', ')})"
end