Sha256: 04481748e9d3bc58c66550e48a4cee7d83deb9beeb42848c9646f104c1f7957c
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
require 'logger' module Sym # # This module is responsible for installing Sym BASH extensions. # module Constants BASH_FILES = Dir.glob("#{File.expand_path('../../bin', __dir__)}/sym.*.bash").freeze class << self attr_reader :user_home def user_home=(value) @user_home = value register_bash_files! end def config @config ||= {} end def sym_key_file "#{user_home}/.sym.key" end def register_bash_files! BASH_FILES.each do |bash_file| register_bash_extension bash_file end end private def register_bash_extension(bash_file) return unless user_home && Dir.exist?(user_home) source_file = File.basename(bash_file) home_file = "#{user_home}/.#{source_file}" config_key = source_file.gsub(/sym\./, '').gsub(/\.bash/, '').to_sym config[config_key] = { dest: home_file, source: bash_file, script: "[[ -f #{home_file} ]] && source #{home_file}" } end end self.user_home ||= ::Dir.home rescue nil self.user_home ||= '/tmp' self.register_bash_files! module Log NIL = Logger.new(nil).freeze # empty logger LOG = Logger.new(STDERR).freeze end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sym-3.0.0 | lib/sym/constants.rb |