class GitPrepareBranch::Variable

Attributes

capture[R]
context[R]
name[R]
value[R]

Public Class Methods

new(name, context:, value: nil, capture: nil) click to toggle source
# File lib/git-prepare-branch/variable.rb, line 7
def initialize(name, context:, value: nil, capture: nil)
  @name = name
  @context = context
  @capture = capture
  @value = calculate_value(value)
end

Private Instance Methods

calculate_value(value) click to toggle source
# File lib/git-prepare-branch/variable.rb, line 16
def calculate_value(value)
  return context.terminal.capture(capture_with_variables_injected) unless capture.nil?
  return value.call(context) if value.kind_of? Proc
  value
end
capture_with_variables_injected() click to toggle source
# File lib/git-prepare-branch/variable.rb, line 22
def capture_with_variables_injected
  format(capture, context.variables.to_h)
end