module Springcm::Helpers
Public Class Methods
deserialize_field(field)
click to toggle source
Deserialize a SpringCM attribute value
# File lib/springcm-sdk/helpers.rb, line 52 def self.deserialize_field(field) type = field["AttributeType"] value = field["Value"] Helpers.deserialize_value(type, value) end
deserialize_value(type, value)
click to toggle source
# File lib/springcm-sdk/helpers.rb, line 37 def self.deserialize_value(type, value) if type == "String" value elsif type == "Number" value.to_i elsif type == "Decimal" value.to_f elsif type == "Date" Date.strptime(value[0..8], "%Y%m%d") else value end end
serialize_field(field_config, value)
click to toggle source
# File lib/springcm-sdk/helpers.rb, line 23 def self.serialize_field(field_config, value) type = field_config.type name = field_config.name repeating = field_config.repeating_attribute? serialized = { "AttributeType" => type, "RepeatingAttribute" => repeating } if !value.nil? serialized["Value"] = Helpers.serialize_value(type, value) end serialized end
serialize_value(type, value)
click to toggle source
# File lib/springcm-sdk/helpers.rb, line 14 def self.serialize_value(type, value) if type == "Date" # Raise if value is not a DateTime serialized_value = value.strftime("%m/%d/%Y") else serialized_value = value.to_s end end
validate_access!(access)
click to toggle source
# File lib/springcm-sdk/helpers.rb, line 58 def self.validate_access!(access) access_types = [ :inherit_from_parent_folder, :no_access, :view, :view_create, :view_edit, :view_edit_delete, :view_edit_delete_set_access ] if !access_types.include?(access) raise ArgumentError.new("Access must be one of: #{access_types.map(&:inspect).join(", ")}") end end
validate_offset_limit!(offset, limit)
click to toggle source
Validate an offset and limit pair.
# File lib/springcm-sdk/helpers.rb, line 4 def self.validate_offset_limit!(offset, limit) if !limit.is_a?(Integer) || limit < 1 || limit > 1000 raise ArgumentError.new("Limit must be an integer between 1 and 1000 (inclusive).") end if !offset.is_a?(Integer) || offset < 0 raise ArgumentError.new("Offset must be a positive, non-zero integer.") end end