class ActiveScripts::Recipes::Base

Constants

DATABASES

INFO: ActiveScripts::Recipes::Base contains code that is

shared between all recipe files.
ENVIRONMENTS

Attributes

environment[RW]

Public Class Methods

new() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 13
def initialize
  @environment = :unknown
end
packages() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 17
def self.packages
  assert_valid_user!
  new.packages
end

Private Instance Methods

assert_valid_environment!() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 24
def assert_valid_environment!
  unless ENVIRONMENTS.include?(@environment)
    raise ArgumentError,
      "Unknown recipe environment: #{@environment.inspect}. Valid recipe environments are: #{ENVIRONMENTS.map(&:inspect).join(', ')}"
  end
end
find_or_initialize_databases!() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 37
def find_or_initialize_databases!
  output, error, status = Open3.capture3("brew list")
  output = output.squish

  databases = []
  DATABASES.each { |database| databases.push(database) if output.include?(database) }

  if databases.empty?
    ask("   [?] Which database(s)? ", lambda { |str| str.strip.split(/,\s*/) }) { |q| q.default = "mysql" }
  else
    return(databases)
  end
end
notify_environment_unavailable!() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 55
def notify_environment_unavailable!
  say_warning("   [!] RecipeError")
  say_warning("     - The recipe environment is not available.")
end
prompt_environment!() click to toggle source
# File lib/active_scripts/recipes/base.rb, line 51
def prompt_environment!
  @environment = choose("   [?] Which environment?", :development, :staging, :production)
end