class Inprovise::Script
Script
base class for Inprovise
- Author
-
Martin Corino
- License
-
Distributes under the same license as Ruby
Attributes
actions[R]
children[R]
configuration[R]
dependencies[R]
name[R]
user[R]
Public Class Methods
new(name)
click to toggle source
# File lib/inprovise/script.rb, line 53 def initialize(name) @name = name @description = nil @configuration = nil @user = nil @dependencies = [] @children = [] @actions = {} @commands = {} @remove = nil end
Public Instance Methods
action(name, &definition)
click to toggle source
# File lib/inprovise/script.rb, line 117 def action(name, &definition) @actions[name] = definition end
apply(&definition)
click to toggle source
# File lib/inprovise/script.rb, line 105 def apply(&definition) command(:apply, &definition) end
as(user)
click to toggle source
# File lib/inprovise/script.rb, line 113 def as(user) @user = user end
command(name, &definition)
click to toggle source
# File lib/inprovise/script.rb, line 121 def command(name, &definition) if block_given? (@commands[name.to_sym] ||= []) << definition else @commands[name.to_sym] ||= [] end end
configure(cfg=nil, &definition)
click to toggle source
# File lib/inprovise/script.rb, line 76 def configure(cfg=nil, &definition) @configuration = Inprovise::Config.new.merge!(cfg) if cfg command(:configure, &definition) @configuration end
depends_on(*scr_names)
click to toggle source
# File lib/inprovise/script.rb, line 89 def depends_on(*scr_names) scr_names.each do |scr_name| @dependencies << scr_name end end
describe()
click to toggle source
# File lib/inprovise/script.rb, line 70 def describe return [self.name] unless self.description nm = [self.name] self.description.split("\n").collect {|ld| "#{"%-25s" % nm.shift.to_s}\t#{ld.strip}"} end
description(desc=nil)
click to toggle source
# File lib/inprovise/script.rb, line 65 def description(desc=nil) @description = desc if desc @description end
provides_command?(name)
click to toggle source
# File lib/inprovise/script.rb, line 129 def provides_command?(name) @commands.has_key?(name.to_sym) end
revert(&definition)
click to toggle source
# File lib/inprovise/script.rb, line 109 def revert(&definition) command(:revert, &definition) end
to_s()
click to toggle source
# File lib/inprovise/script.rb, line 133 def to_s self.name end
triggers(*scr_names)
click to toggle source
# File lib/inprovise/script.rb, line 95 def triggers(*scr_names) scr_names.each do |scr_name| @children << scr_name end end
update_configuration(context)
click to toggle source
# File lib/inprovise/script.rb, line 82 def update_configuration(context) context.config[self.name.to_sym] ||= Inprovise::Config.new if @configuration context.config[self.name.to_sym].update!(@configuration) end end
validate(&definition)
click to toggle source
# File lib/inprovise/script.rb, line 101 def validate(&definition) command(:validate, &definition) end