class Bringit::RevList

Constants

ALLOWED_VARIABLES

Attributes

env[R]
repository[R]

Public Class Methods

new(oldrev, newrev, repository:, env: nil) click to toggle source
# File lib/bringit/rev_list.rb, line 7
def initialize(oldrev, newrev, repository:, env: nil)
  @repository = repository
  @env = env.presence || {}
  @args = ["git",
            "--git-dir=#{repository.path}",
            "rev-list",
            "--max-count=1",
            oldrev,
            "^#{newrev}"]
end

Public Instance Methods

execute() click to toggle source
# File lib/bringit/rev_list.rb, line 18
def execute
  Bringit::Popen.popen(@args, nil, parse_environment_variables)
end
valid?() click to toggle source
# File lib/bringit/rev_list.rb, line 22
def valid?
  environment_variables.all? do |(name, value)|
    value.to_s.start_with?(repository.path)
  end
end

Private Instance Methods

environment_variables() click to toggle source
# File lib/bringit/rev_list.rb, line 36
def environment_variables
  @environment_variables ||= env.slice(*ALLOWED_VARIABLES).compact
end
parse_environment_variables() click to toggle source
# File lib/bringit/rev_list.rb, line 30
def parse_environment_variables
  return {} unless valid?

  environment_variables
end