class Vra::RequestParameters
Public Class Methods
new()
click to toggle source
# File lib/vra/request_parameters.rb, line 21 def initialize @entries = {} end
Public Instance Methods
all_entries()
click to toggle source
# File lib/vra/request_parameters.rb, line 80 def all_entries @entries.values end
delete(key)
click to toggle source
# File lib/vra/request_parameters.rb, line 76 def delete(key) @entries.delete(key) end
set(key, type, value)
click to toggle source
# File lib/vra/request_parameters.rb, line 52 def set(key, type, value) if key.to_s.include? "~" split_key = key.to_s.split("~") parent = nil split_key.each_with_index do |item, index| if index == 0 if @entries[item].nil? @entries[item] = Vra::RequestParameter.new(item, nil, nil) end parent = @entries[item] elsif index == (split_key.count - 1) c = Vra::RequestParameter.new(item, type, value) parent.add_child(c) else p = Vra::RequestParameter.new(item, nil, nil) parent.add_child(p) parent = p end end else @entries[key] = Vra::RequestParameter.new(key, type, value) end end
set_parameters(key, value_data, parent = nil)
click to toggle source
@param key [String] - the name of the key @param value_data [Hash] - the data of the key name @note - the value_data must have type and value property in the hash
# File lib/vra/request_parameters.rb, line 28 def set_parameters(key, value_data, parent = nil) value_type = value_data[:type] || value_data["type"] data_value = value_data[:value] || value_data["value"] if value_type if parent.nil? set(key, value_type, data_value) else parent.add_child(Vra::RequestParameter.new(key, value_type, data_value)) end else if parent.nil? p = set(key, nil, nil) else p = Vra::RequestParameter.new(key, nil, nil) parent.add_child(p) end value_data.each do |k, data| set_parameters(k, data, p) end end end
to_h()
click to toggle source
# File lib/vra/request_parameters.rb, line 84 def to_h hash = {} @entries.each do |k, v| hash.merge!(v.to_h) end hash end
to_vra()
click to toggle source
# File lib/vra/request_parameters.rb, line 94 def to_vra hash = { "data" => {}, } @entries.each do |k, v| hash["data"].merge!(v.to_vra) end hash end