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