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



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/functional-light-service/functional/enum.rb', line 71

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

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

#inspectObject



83
84
85
86
# File 'lib/functional-light-service/functional/enum.rb', line 83

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