Class: Danger::EnvironmentManager

Inherits:
Object
  • Object
show all
Defined in:
lib/danger/environment_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ EnvironmentManager

Returns a new instance of EnvironmentManager.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/danger/environment_manager.rb', line 8

def initialize(env)
  CISource.constants.each do |symb|
    c = CISource.const_get(symb)
    next unless c.kind_of?(Class)
    next unless c.validates?(env)

    self.ci_source = c.new(env)
    if self.ci_source.repo_slug and self.ci_source.pull_request_id
      break
    else
      puts "Not a Pull Request - skipping `danger` run"
      self.ci_source = nil
      return nil
    end
  end

  raise "Could not find a CI source".red unless self.ci_source

  # only GitHub for now, open for PRs adding more!
  self.request_source = GitHub.new(self.ci_source, ENV)
end

Instance Attribute Details

#ci_sourceObject

Returns the value of attribute ci_source.



6
7
8
# File 'lib/danger/environment_manager.rb', line 6

def ci_source
  @ci_source
end

#request_sourceObject

Returns the value of attribute request_source.



6
7
8
# File 'lib/danger/environment_manager.rb', line 6

def request_source
  @request_source
end

#scmObject

Returns the value of attribute scm.



6
7
8
# File 'lib/danger/environment_manager.rb', line 6

def scm
  @scm
end

Instance Method Details

#fill_environment_varsObject



30
31
32
33
34
# File 'lib/danger/environment_manager.rb', line 30

def fill_environment_vars
  request_source.fetch_details

  self.scm = GitRepo.new # For now
end