Module: Deconstructable

Defined in:
lib/deconstructable.rb,
lib/deconstructable/version.rb

Overview

Helpers to implement pattern match-able classes

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
# File 'lib/deconstructable.rb', line 5

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#deconstruct_keys(keys) ⇒ Object



25
26
27
28
29
# File 'lib/deconstructable.rb', line 25

def deconstruct_keys(keys)
  keys = keys ? (deconstructable & keys) : deconstructable

  keys.map { |k| [k, send(k)] }.to_h
end