class Reactor::Cm::ObjClass
Public Class Methods
create(name, type)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 17 def self.create(name, type) klass = ObjClass.new klass.send(:create,name, type) klass end
exists?(name)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 8 def self.exists?(name) klass = ObjClass.new begin return klass.send(:get, name).ok? rescue return false end end
get(name)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 23 def self.get(name) klass = ObjClass.new klass.send(:get, name) klass end
new(name=nil)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 132 def initialize(name=nil) @name = name @params = {} @params_options = {} @preset = {} end
rename(current_name, new_name)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 29 def self.rename(current_name, new_name) request = XmlRequest.prepare do |xml| xml.tag!('objClass-where') do xml.tag!('name', current_name) end xml.tag!('objClass-set') do xml.tag!('name', new_name) end end request.execute! end
Public Instance Methods
attributes()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 103 def attributes __attributes_get('attributes') end
attributes=(attr_arr)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 107 def attributes=(attr_arr) __attributes_set('attributes', attr_arr) end
delete!()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 119 def delete! request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', @name) xml.tag!("#{base_name}-delete") end response = request.execute! end
has_attribute?(attr_name)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 99 def has_attribute?(attr_name) attributes.include? attr_name end
mandatory_attributes()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 111 def mandatory_attributes __attributes_get('mandatoryAttributes') end
mandatory_attributes=(attr_arr)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 115 def mandatory_attributes=(attr_arr) __attributes_set('mandatoryAttributes', attr_arr) end
preset(key, value)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 46 def preset(key, value) @preset[key] = value end
preset_attributes()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 50 def preset_attributes request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', @name) xml.get_key_tag!(base_name, 'presetAttributes') end response = request.execute! result = response.xpath('//dictitem') result = [result] unless result.kind_of?(Array) result.map do |dictitem| key = dictitem.children.detect {|c| c.name == 'key'}.text value = dictitem.children.detect {|c| c.name == 'value'}.text {key => value} end.inject({}, &:merge) end
save!()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 66 def save! request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', @name) xml.set_tag!(base_name) do @params.each do |key, value| if @params_options[key][:cdata] xml.tag!(key.to_s) do xml.cdata!(value) end else xml.value_tag!(key.to_s, value) end end unless @preset.empty? all_preset = (preset_attributes.merge(@preset)) xml.tag!('presetAttributes') do @preset.each do |key, value| xml.tag!('dictitem') do xml.tag!('key') do xml.text!(key.to_s) end xml.tag!('value') do xml.text!(value.to_s) end end end end end end end response = request.execute! end
set(key, value, options={})
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 41 def set(key, value, options={}) @params_options[key.to_sym] = (!options.nil? && !options.empty? && options) || {} @params[key.to_sym] = value end
Protected Instance Methods
base_name()
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 128 def base_name 'objClass' end
create(name, type)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 149 def create(name, type) request = XmlRequest.prepare do |xml| xml.create_tag!(base_name) do |xml| xml.tag!('name') do xml.text!(name) end xml.tag!('objType') do xml.text!(type) end end end response = request.execute! @name = name response end
get(name)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 139 def get(name) request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', name) xml.get_key_tag!(base_name, 'name') end response = request.execute! @name = name response end
Private Instance Methods
__attributes_get(field)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 166 def __attributes_get(field) request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', @name) xml.get_key_tag!(base_name, field) end response = request.execute! items = response.xpath("//listitem/text()") return [items.to_s] unless items.kind_of?(Array) items.map(&:to_s) end
__attributes_set(field, attr_arr)
click to toggle source
# File lib/reactor/cm/obj_class.rb, line 177 def __attributes_set(field, attr_arr) request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, 'name', @name) xml.set_key_tag!(base_name, field, attr_arr) end response = request.execute! end