Module: Pray::Environment

Defined in:
lib/pray/environment.rb

Class Method Summary collapse

Class Method Details

.collect_group_names(manifest) ⇒ Object



15
16
17
# File 'lib/pray/environment.rb', line 15

def collect_group_names(manifest)
  manifest.packages.flat_map(&:groups).uniq.sort
end

.package_matches_environment?(groups, environment) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
# File 'lib/pray/environment.rb', line 7

def package_matches_environment?(groups, environment)
  return true if groups.empty?

  return false if environment.nil?

  groups.any? { |group| group == environment }
end

.should_render_package?(declaration, environment) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/pray/environment.rb', line 37

def should_render_package?(declaration, environment)
  package_matches_environment?(declaration.groups, environment)
end

.validate_environment(manifest, environment) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/pray/environment.rb', line 19

def validate_environment(manifest, environment)
  return if environment.nil?

  if environment.empty?
    raise Error.resolution("environment name cannot be empty")
  end

  known_groups = collect_group_names(manifest)
  if known_groups.empty?
    raise Error.resolution("unknown environment #{environment}; Prayfile defines no groups")
  end
  return if known_groups.include?(environment)

  raise Error.resolution(
    "unknown environment #{environment}; available groups are #{known_groups.join(", ")}"
  )
end