Class: TypableMap::TypableMap
- Inherits:
-
Hash
- Object
- Hash
- TypableMap::TypableMap
- Defined in:
- lib/typable_map.rb
Constant Summary collapse
- Roman =
%w[ a i u e o ka ki ku ke ko sa si su se so ta ti tu te to na ni nu ne no ha hi fu he ho ma mi mu me mo ya yu yo ra ri ru re ro wa wo ga gi gu ge go za ji zu ze zo da de do ba bi bu be bo pa pi pu pe po ].freeze
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ TypableMap
constructor
A new instance of TypableMap.
- #push(obj) ⇒ Object (also: #<<)
Constructor Details
#initialize(opts = {}) ⇒ TypableMap
Returns a new instance of TypableMap.
18 19 20 21 22 23 |
# File 'lib/typable_map.rb', line 18 def initialize(opts = {}) @seq = Roman.dup @seq.shuffle! if opts.fetch(:shuffle, nil) @seq.freeze @counter = Counter.new(opts.fetch(:max_size, @seq.size)) end |
Instance Method Details
#push(obj) ⇒ Object Also known as: <<
25 26 27 28 29 |
# File 'lib/typable_map.rb', line 25 def push(obj) id = generate(@counter.next) self[id] = obj id end |