class KeyStore::Key

Attributes

name[R]
notes[RW]
roles[R]
to_s[R]

Public Class Methods

new(name, roles: nil, notes: nil) click to toggle source
# File lib/key_store/key.rb, line 12
def initialize(name, roles: nil, notes: nil)
  @name = name.to_s

  if exists?(name)
    set_roles_from_store if roles.nil?
    set_notes_from_store if notes.nil?
  end

  @roles ||= (roles || []).map(&:to_s)
  @notes ||= notes.to_s
end

Public Instance Methods

http_header() click to toggle source
# File lib/key_store/key.rb, line 24
def http_header
  "Authorization: Token token=\"#{name}\""
end
save!() click to toggle source
# File lib/key_store/key.rb, line 28
def save!
  store.transaction do |f|
    f[name] ||= {}
    f[name][:roles] = roles.map(&:to_s)
    f[name][:notes] = notes.to_s
    f[name][:http_header] = http_header
  end
end

Private Instance Methods

set_notes_from_store() click to toggle source
# File lib/key_store/key.rb, line 45
def set_notes_from_store
  store.transaction do |f|
    @notes = f[name][:notes]
  end
end
set_roles_from_store() click to toggle source
# File lib/key_store/key.rb, line 39
def set_roles_from_store
  store.transaction do |f|
    @roles = f[name][:roles]
  end
end