class Blockhead::AliasKey

Attributes

alias_key[R]
default[R]

Public Class Methods

new(name, alias_key) click to toggle source
# File lib/blockhead/alias_key.rb, line 5
def initialize(name, alias_key)
  @default = name
  @alias_key = alias_key
end

Public Instance Methods

key() click to toggle source
# File lib/blockhead/alias_key.rb, line 10
def key
  send(:"alias_#{aliased_key?}")
end

Private Instance Methods

alias_false() click to toggle source
# File lib/blockhead/alias_key.rb, line 21
def alias_false
  default
end
alias_true() click to toggle source
# File lib/blockhead/alias_key.rb, line 16
def alias_true
  raise TypeError, 'Alias is not of expected type' if bad_type?
  alias_key[:as]
end
aliased_key?() click to toggle source
# File lib/blockhead/alias_key.rb, line 25
def aliased_key?
  alias_key.is_a?(Hash) && alias_key.has_key?(:as)
end
bad_type?() click to toggle source
# File lib/blockhead/alias_key.rb, line 29
def bad_type?
  !(alias_key[:as].is_a?(Symbol) || alias_key[:as].is_a?(String))
end