Sha256: e16a11ac99b9072e725c5ff7da5f81ee2ac71f22f78f2e52e3b25f900e731cbf

Contents?: true

Size: 1.25 KB

Versions: 8

Compression:

Stored size: 1.25 KB

Contents

module Git
  module Multi

    module Settings

      module_function

      def describe(token)
        if token.nil?
          '(nil)'
        elsif token.empty?
          '(empty)'
        else
          "#{'*' * 36}#{token[36..-1]}"
        end
      end

      def symbolize(token)
        case token
        when Git::Multi.env_var('OCTOKIT_ACCESS_TOKEN')
          then '${OCTOKIT_ACCESS_TOKEN}'
        when Git::Multi.git_option('github.token')
          then 'github.token'
        else '(unset)'
        end
      end

      def abbreviate(directory, root_dir = nil)
        case root_dir
        when :home
          then directory.gsub(Git::Multi::HOME, '${HOME}')
        when :workarea
          then directory.gsub(Git::Multi::WORKAREA, '${WORKAREA}')
        else abbreviate(abbreviate(directory, :workarea), :home)
        end
      end

    end

    module_function

    def git_option(name, default = nil)
      value = `git config #{name}`.chomp.freeze
      value.empty? && default ? default : value
    end

    def git_list(name, default = nil)
      git_option(name, default).split(',').map(&:strip)
    end

    def env_var(name, default = nil)
      value = ENV[name].freeze
      (value.nil? || value.empty?) && default ? default : value
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
git-multi-2.0.0 lib/git/multi/utils.rb
git-multi-1.2.1 lib/git/multi/utils.rb
git-multi-1.2.0 lib/git/multi/utils.rb
git-multi-1.1.0 lib/git/multi/utils.rb
git-multi-1.0.10 lib/git/multi/utils.rb
git-multi-1.0.9 lib/git/multi/utils.rb
git-multi-1.0.8 lib/git/multi/utils.rb
git-multi-1.0.7 lib/git/multi/utils.rb