class MxHero::API::Directory
Attributes
address[RW]
base[RW]
dn_authenticate[RW]
domain[RW]
error[RW]
filter[RW]
last_update[RW]
next_update[RW]
override[RW]
password[RW]
port[RW]
properties[RW]
ssl[RW]
type[RW]
useMailAsMain[RW]
user[RW]
Public Class Methods
new(data = {})
click to toggle source
# File lib/directories.rb, line 9 def initialize(data = {}) return if data.empty? [ :domain, [:type, :directoryType], [:address, :addres], :port, [:ssl, :sslFlag], :user, :password, :filter, :base, [:next_update, :nextUpdate], [:last_update, :lastUpdate], :error, [:override, :overrideFlag], [:dn_authenticate, :dnAuthenticate], :useMailAsMain ].each do |property| case property when Symbol send "#{property}=", data[property] when Array send "#{property.first}=", data[property.first] || data[property.last] end end load_properties(data) end
Public Instance Methods
last_update=(date)
click to toggle source
# File lib/directories.rb, line 31 def last_update=(date) parse_update_dates(:last_update, date) end
next_update=(date)
click to toggle source
# File lib/directories.rb, line 35 def next_update=(date) parse_update_dates(:next_update, date) end
to_hash()
click to toggle source
# File lib/directories.rb, line 43 def to_hash { domain: domain, directoryType: type, addres: address, port: port, sslFlag: ssl, # || false, user: user, password: password, filter: filter, base: base, nextUpdate: next_update, # || DateTime.now.strftime('%Q'), lastUpdate: last_update, # || DateTime.now.strftime('%Q'), error: error, overrideFlag: override, #override.nil? ? true : override, dnAuthenticate: dn_authenticate, useMailAsMain: useMailAsMain, properties: properties_field_to_hash } end
to_json()
click to toggle source
# File lib/directories.rb, line 62 def to_json to_hash.to_json end
update_properties(properties)
click to toggle source
# File lib/directories.rb, line 39 def update_properties(properties) properties.each { |prop, value| send("#{prop}=", value) if respond_to?("#{prop}=") } end
Private Instance Methods
load_properties(data)
click to toggle source
# File lib/directories.rb, line 68 def load_properties(data) @properties ||= {} props = data[:properties] case props when Array then (props || []).each { |property| @properties[property[:name].to_sym] = property[:key] } when Hash then @properties = props end end
parse_update_dates(property, date)
click to toggle source
# File lib/directories.rb, line 85 def parse_update_dates(property, date) if date.is_a? Integer or date.is_a? String instance_variable_set "@#{property}", DateTime.strptime(date.to_s, '%Q') else instance_variable_set "@#{property}", date end end
properties_field_to_hash()
click to toggle source
# File lib/directories.rb, line 77 def properties_field_to_hash values = [] (properties || []).each do |name, value| values << { name: name, key: value } end values end