class Keytar::Key

cannot change :order can change :unique

Attributes

delimiter[RW]
key_case[RW]
options[RW]
order[RW]

Public Class Methods

build(options = {}) click to toggle source
# File lib/keytar.rb, line 35
def self.build(options = {})
  self.new(options).to_s
end
new(options = {}) click to toggle source
# File lib/keytar.rb, line 17
def initialize(options = {})
  options[:name]  = options.delete(:name).to_s.gsub(/(^key$|_key$)/, '')
  self.delimiter  = options.delete(:delimiter)
  self.order      = options.delete(:order)
  self.key_case   = options.delete(:key_case)
  self.options    = options
end

Public Instance Methods

key_array() click to toggle source
# File lib/keytar.rb, line 25
def key_array
  order.map {|key| options[key]}.flatten.compact.map(&:to_s)
end
to_s() click to toggle source
# File lib/keytar.rb, line 29
def to_s
  key = key_array.join(delimiter)
  key = key.send key_case if key_case.present? && key.respond_to?(key_case)
  key
end