class Me::Mappers::SshConfigStore2

Attributes

identity_name[R]
keys[R]

Public Class Methods

find_by_identity(identity_name) click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 8
def self.find_by_identity(identity_name)
  new(nil, identity_name).find
end
new(keys, identity_name) click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 12
def initialize(keys, identity_name)
  @identity_name = identity_name
  @keys = fetch_keys(keys)
end

Public Instance Methods

find() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 17
def find
  ensure_present
  SshConfig
    .new(keys, identity_name)
    .with_mapper(self)
end
update(keys: nil, identity_name: nil) click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 24
def update(keys: nil, identity_name: nil)
  return unless keys
  scoped.set("keys", keys)
  scoped.save
end

Private Instance Methods

_identity() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 52
def _identity
  store.get_or_set("identities", {})
  store.get_or_set("identities", identity_name, {})
  store.scoped("identities", identity_name)
end
_scoped() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 62
def _scoped
  identity.get_or_set("ssh", {})
  identity.scoped("ssh")
end
ensure_present() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 34
def ensure_present
  return if keys && !keys.empty?
  fail Errors::SshNotConfigured, identity_name
end
fetch_keys(keys) click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 39
def fetch_keys(keys)
  return keys if keys && !keys.empty?
  scoped.fetch("keys") { nil }
end
identity() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 48
def identity
  @_identity ||= _identity
end
scoped() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 58
def scoped
  @_scoped ||= _scoped
end
store() click to toggle source
# File lib/me/mappers/ssh_config_store2.rb, line 44
def store
  @_store ||= Store.build
end