class Comet::SourceConfig
SourceConfig
is a typed class wrapper around the underlying Comet
Server API data structure.
Attributes
@type [Number] create_time
@type [String] description
@type [String] engine
@type [Hash{String => String}] engine_props
@type [Number] modify_time
@type [Hash{String => Comet::RetentionPolicy}] override_destination_retention
@type [String] owner_device
@type [Array<String>] post_exec
@type [Array<String>] pre_exec
@type [Comet::SourceStatistics] statistics
@type [Array<String>] thaw_exec
@type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
Public Class Methods
# File lib/comet/models/source_config.rb, line 53 def initialize clear end
Public Instance Methods
# File lib/comet/models/source_config.rb, line 57 def clear @engine = '' @description = '' @owner_device = '' @create_time = 0 @modify_time = 0 @pre_exec = [] @thaw_exec = [] @post_exec = [] @engine_props = {} @override_destination_retention = {} @statistics = Comet::SourceStatistics.new @unknown_json_fields = {} end
@param [Hash] obj The complete object as a Ruby hash
# File lib/comet/models/source_config.rb, line 80 def from_hash(obj) raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash obj.each do |k, v| case k when 'Engine' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @engine = v when 'Description' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @description = v when 'OwnerDevice' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @owner_device = v when 'CreateTime' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @create_time = v when 'ModifyTime' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @modify_time = v when 'PreExec' if v.nil? @pre_exec = [] else @pre_exec = Array.new(v.length) v.each_with_index do |v1, i1| raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String @pre_exec[i1] = v1 end end when 'ThawExec' if v.nil? @thaw_exec = [] else @thaw_exec = Array.new(v.length) v.each_with_index do |v1, i1| raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String @thaw_exec[i1] = v1 end end when 'PostExec' if v.nil? @post_exec = [] else @post_exec = Array.new(v.length) v.each_with_index do |v1, i1| raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String @post_exec[i1] = v1 end end when 'EngineProps' @engine_props = {} if v.nil? @engine_props = {} else v.each do |k1, v1| raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String @engine_props[k1] = v1 end end when 'OverrideDestinationRetention' @override_destination_retention = {} if v.nil? @override_destination_retention = {} else v.each do |k1, v1| @override_destination_retention[k1] = Comet::RetentionPolicy.new @override_destination_retention[k1].from_hash(v1) end end when 'Statistics' @statistics = Comet::SourceStatistics.new @statistics.from_hash(v) else @unknown_json_fields[k] = v end end end
@param [String] json_string The complete object in JSON format
# File lib/comet/models/source_config.rb, line 73 def from_json(json_string) raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String from_hash(JSON.parse(json_string)) end
@return [Hash] The complete object as a Ruby hash
# File lib/comet/models/source_config.rb, line 193 def to_h to_hash end
@return [Hash] The complete object as a Ruby hash
# File lib/comet/models/source_config.rb, line 169 def to_hash ret = {} ret['Engine'] = @engine ret['Description'] = @description ret['OwnerDevice'] = @owner_device ret['CreateTime'] = @create_time ret['ModifyTime'] = @modify_time ret['PreExec'] = @pre_exec ret['ThawExec'] = @thaw_exec ret['PostExec'] = @post_exec ret['EngineProps'] = @engine_props unless @override_destination_retention.nil? ret['OverrideDestinationRetention'] = @override_destination_retention end unless @statistics.nil? ret['Statistics'] = @statistics end @unknown_json_fields.each do |k, v| ret[k] = v end ret end
@return [String] The complete object as a JSON string
# File lib/comet/models/source_config.rb, line 198 def to_json(options = {}) to_hash.to_json(options) end