class ActiveScripts::Preparations::Base
Constants
- COMMANDS
INFO:
ActiveScripts::Preparations::Base
contains code that isshared between all preparation files.
- OPTIONS
Attributes
command[RW]
options[RW]
Public Class Methods
execute(command, options={})
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 18 def self.execute(command, options={}) new(command, options).execute end
new(command, options={})
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 13 def initialize(command, options={}) @command = command @options = options end
Public Instance Methods
execute()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 22 def execute assert_valid_command! assert_valid_options! send(@command) end
Private Instance Methods
assert_valid_command!()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 30 def assert_valid_command! unless COMMANDS.include?(@command) raise ArgumentError, "Unknown package command: #{@command.inspect}. Valid package commands are: #{COMMANDS.map(&:inspect).join(', ')}" end end
assert_valid_options!()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 37 def assert_valid_options! @options.each_key do |option| unless OPTIONS.include?(option) raise ArgumentError, "Unknown package option: #{option.inspect}. Valid package options are: #{OPTIONS.map(&:inspect).join(', ')}" end end end
execute_command!(command)
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 54 def execute_command!(command) say(" Executing: '#{command}'") if option_dry_run? || option_verbose? option_dry_run? ? (output = error = "") : (output, error, status = Open3.capture3("#{command}")) return(error.blank? ? output : error) end
notify_preparation_missing!()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 69 def notify_preparation_missing! say_error(" [!] PreparationError") say_error(" - The preparation is not installed.") end
option_dry_run?()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 46 def option_dry_run? @options.fetch(:dry_run, false) end
option_verbose?()
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 50 def option_verbose? @options.fetch(:verbose, false) end
preparation_output?(output, excludes: nil, includes: nil)
click to toggle source
# File lib/active_scripts/preparations/base.rb, line 60 def preparation_output?(output, excludes: nil, includes: nil) output = output.squish if includes.nil? && excludes.nil? output.blank? else includes.nil? ? [excludes].flatten.any? { |str| output.exclude?(str) } : [includes].flatten.any? { |str| output.include?(str) } end end