module FunctionalLightService::EnumBuilder::DataType::Binary

TODO: this should probably be named Multary

Public Class Methods

new(*init) click to toggle source
# 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)
             Hash[args.zip(init[0].values)]
           else
             Hash[args.zip(init)]
           end
end

Public Instance Methods

inspect() click to toggle source
# File lib/functional-light-service/functional/enum.rb, line 62
def inspect
  params = value.map { |k, v| "#{k}: #{v.inspect}" }
  "#{name}(#{params.join(', ')})"
end