Module: I8

Defined in:
lib/nrser/labs/i8.rb

Overview

Sick of typing “Hamster::Hash”…

Experimental Hamster sugary sweet builder shortcut things.

Defined Under Namespace

Modules: Struct Classes: Hash, Set, SortedSet, Vector

Class Method Summary collapse

Class Method Details

.[](value) ⇒ Object



203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/nrser/labs/i8.rb', line 203

def self.[] value
  case value
  when  Hamster::Hash,
        Hamster::Vector,
        Hamster::Set,
        Hamster::SortedSet,
        Hamster::List
    value
  when ::Hash
    I8::Hash[value]
  when ::Array
    I8::Vector.new value
  when ::Set
    I8::Set.new value
  when ::SortedSet
    I8::SortedSet.new value
  else
    raise NRSER::TypeError.new \
      "Value must be Hash, Array, Set or SortedSet",
      found: value
  end
end