Module: Pray::Environment
- Defined in:
- lib/pray/environment.rb
Class Method Summary collapse
- .collect_group_names(manifest) ⇒ Object
- .package_matches_environment?(groups, environment) ⇒ Boolean
- .should_render_package?(declaration, environment) ⇒ Boolean
- .validate_environment(manifest, environment) ⇒ Object
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
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
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 |