Sha256: 733ffc85376e05774c9043f72f29c69bebe1a65c7c83e0990c79d0925a35ed02

Contents?: true

Size: 733 Bytes

Versions: 12

Compression:

Stored size: 733 Bytes

Contents

$LOAD_PATH.unshift '../lib'
require 'memory_record'

class Direction
  include MemoryRecord
  memory_record [
    {key: :left,  name: '←', vector: [-1,  0]},
    {key: :right, name: '→', vector: [ 1,  0]},
  ]

  def long_name
    "#{name} direction"
  end
end

Direction.collect(&:name)       # => ["←", "→"]
Direction.keys                  # => [:left, :right]

Direction[:right].key           # => :right
Direction[:right].code          # => 1
Direction[:right].vector        # => [1, 0]
Direction[:right].long_name     # => "→ direction"

Direction[1].key                # => :right

Direction[:up]                  # => nil
Direction.fetch(:up) rescue $!  # => #<KeyError: Direction.fetch(:up) does not match anything

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
memory_record-0.0.20 examples/0140_practice.rb
memory_record-0.0.19 examples/0140_practice.rb
memory_record-0.0.18 examples/0140_practice.rb
memory_record-0.0.17 examples/0140_practice.rb
memory_record-0.0.15 examples/0140_practice.rb
memory_record-0.0.14 examples/0140_practice.rb
memory_record-0.0.13 examples/0140_practice.rb
memory_record-0.0.12 examples/0140_practice.rb
memory_record-0.0.11 examples/0140_practice.rb
memory_record-0.0.10 examples/0140_practice.rb
memory_record-0.0.9 examples/0140_practice.rb
memory_record-0.0.8 examples/0140_practice.rb