Class: Propro::Script
- Inherits:
-
Object
- Object
- Propro::Script
- Defined in:
- lib/propro/script.rb
Class Method Summary collapse
Instance Method Summary collapse
- #get_password ⇒ Object
- #get_server ⇒ Object
- #get_user ⇒ Object
-
#initialize ⇒ Script
constructor
A new instance of Script.
- #load_file(file) ⇒ Object
- #provision(*commands) ⇒ Object
- #server(host, opts = {}) ⇒ Object
- #set(key, value) ⇒ Object
- #source(src) ⇒ Object
- #to_bash ⇒ Object
Constructor Details
#initialize ⇒ Script
Returns a new instance of Script.
9 10 11 12 13 14 15 16 |
# File 'lib/propro/script.rb', line 9 def initialize @sources = [] @options = [] @commands = [] @server = nil @password = nil source :lib end |
Class Method Details
.load(file) ⇒ Object
3 4 5 6 7 |
# File 'lib/propro/script.rb', line 3 def self.load(file) script = new script.load_file(file) script end |
Instance Method Details
#get_password ⇒ Object
34 35 36 |
# File 'lib/propro/script.rb', line 34 def get_password @password end |
#get_server ⇒ Object
30 31 32 |
# File 'lib/propro/script.rb', line 30 def get_server @server end |
#get_user ⇒ Object
38 39 40 |
# File 'lib/propro/script.rb', line 38 def get_user @user end |
#load_file(file) ⇒ Object
18 19 20 21 22 |
# File 'lib/propro/script.rb', line 18 def load_file(file) @file = file @file_name = File.basename(@file) instance_eval(File.read(file)) end |
#provision(*commands) ⇒ Object
50 51 52 |
# File 'lib/propro/script.rb', line 50 def provision(*commands) @commands.concat(commands.flatten.map { |c| Command.new(c) }) end |
#server(host, opts = {}) ⇒ Object
24 25 26 27 28 |
# File 'lib/propro/script.rb', line 24 def server(host, opts = {}) @server = host @password = opts[:password] @user = opts[:user] || 'root' end |
#set(key, value) ⇒ Object
46 47 48 |
# File 'lib/propro/script.rb', line 46 def set(key, value) @options << Option.new(key, value) end |
#source(src) ⇒ Object
42 43 44 |
# File 'lib/propro/script.rb', line 42 def source(src) @sources.concat(Package.sources_for_path(src)) end |
#to_bash ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/propro/script.rb', line 54 def to_bash <<-SH #!/usr/bin/env bash #{Propro.} # # Built from: #{@file_name} unset UCF_FORCE_CONFFOLD export UCF_FORCE_CONFFNEW="YES" export DEBIAN_FRONTEND="noninteractive" #{sources_bash} # Options from: #{@file_name} #{} function main { #{commands_bash} finished reboot-system } main SH end |