module Deconstructable

Helpers to implement pattern match-able classes

Constants

VERSION

Public Class Methods

included(base) click to toggle source
# File lib/deconstructable.rb, line 5
def self.included(base)
  base.extend ClassMethods
end

Public Instance Methods

deconstruct_keys(keys) click to toggle source
# File lib/deconstructable.rb, line 25
def deconstruct_keys(keys)
  keys = keys ? (deconstructable & keys) : deconstructable

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

Private Instance Methods

deconstructable() click to toggle source
# File lib/deconstructable.rb, line 33
def deconstructable
  self.class.deconstructable
end