class Reactor::Plans::CreateObj
Public Class Methods
new(opts={})
click to toggle source
# File lib/reactor/plans/create_obj.rb, line 9 def initialize(opts={}) @name = opts[:name] @parent = opts[:parent] @objClass = opts[:objClass] @attrs = {} @ignoreExisting = opts[:ignoreExisting] end
Public Instance Methods
migrate!()
click to toggle source
# File lib/reactor/plans/create_obj.rb, line 32 def migrate! return true if (@ignoreExisting) && Reactor::Cm::Obj.exists?(path) @obj = Cm::Obj.create(@name, @parent, @objClass) @attrs.each do |key,value| @obj.set(key,value) end @obj.save! @obj.release! end
path()
click to toggle source
# File lib/reactor/plans/create_obj.rb, line 42 def path File.join(@parent, @name) end
prepare!()
click to toggle source
# File lib/reactor/plans/create_obj.rb, line 17 def prepare! raise "#{self.class.name}: name is nil" if @name.nil? raise "#{self.class.name}: parent is nil" if @parent.nil? raise "#{self.class.name}: objClass is nil" if @objClass.nil? raise "#{self.class.name}: parent does not exist" if not Reactor::Cm::Obj.exists?(@parent) raise "#{self.class.name}: obj with name #{@name} already exists" if (!@ignoreExisting) && Reactor::Cm::Obj.exists?(path) =begin raise "#{self.class.name}: objClass #{@objClass} not found" if not Reactor::Cm::ObjClass.exists?(@objClass) @attrs.keys.each do |attr| raise "#{self.class.name}: attr #{attr} not found for objClass #{@objClass}" if not Reactor::Cm::ObjClass.has_attribute?(attr) end =end # ...? end
set(key, value)
click to toggle source
# File lib/reactor/plans/create_obj.rb, line 5 def set(key, value) @attrs[key.to_sym] = value end