Class: Comet::RetentionRange

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/retention_range.rb

Overview

RetentionRange is a typed class wrapper around the underlying Comet Server API data structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRetentionRange

Returns a new instance of RetentionRange.



44
45
46
# File 'lib/comet/models/retention_range.rb', line 44

def initialize
  clear
end

Instance Attribute Details

#daysObject

Returns the value of attribute days.



27
28
29
# File 'lib/comet/models/retention_range.rb', line 27

def days
  @days
end

#jobsObject

Returns the value of attribute jobs.



24
25
26
# File 'lib/comet/models/retention_range.rb', line 24

def jobs
  @jobs
end

#month_offsetObject

Returns the value of attribute month_offset.



39
40
41
# File 'lib/comet/models/retention_range.rb', line 39

def month_offset
  @month_offset
end

#monthsObject

Returns the value of attribute months.



33
34
35
# File 'lib/comet/models/retention_range.rb', line 33

def months
  @months
end

#timestampObject

Returns the value of attribute timestamp.



21
22
23
# File 'lib/comet/models/retention_range.rb', line 21

def timestamp
  @timestamp
end

#typeObject

Returns the value of attribute type.



18
19
20
# File 'lib/comet/models/retention_range.rb', line 18

def type
  @type
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



42
43
44
# File 'lib/comet/models/retention_range.rb', line 42

def unknown_json_fields
  @unknown_json_fields
end

#week_offsetObject

Returns the value of attribute week_offset.



36
37
38
# File 'lib/comet/models/retention_range.rb', line 36

def week_offset
  @week_offset
end

#weeksObject

Returns the value of attribute weeks.



30
31
32
# File 'lib/comet/models/retention_range.rb', line 30

def weeks
  @weeks
end

Instance Method Details

#clearObject



48
49
50
51
52
53
54
55
56
57
58
# File 'lib/comet/models/retention_range.rb', line 48

def clear
  @type = 0
  @timestamp = 0
  @jobs = 0
  @days = 0
  @weeks = 0
  @months = 0
  @week_offset = 0
  @month_offset = 0
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/comet/models/retention_range.rb', line 68

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 'Type'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @type = v
    when 'Timestamp'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @timestamp = v
    when 'Jobs'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @jobs = v
    when 'Days'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @days = v
    when 'Weeks'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @weeks = v
    when 'Months'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @months = v
    when 'WeekOffset'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @week_offset = v
    when 'MonthOffset'
      raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @month_offset = v
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format



61
62
63
64
65
# File 'lib/comet/models/retention_range.rb', line 61

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

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



129
130
131
# File 'lib/comet/models/retention_range.rb', line 129

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/comet/models/retention_range.rb', line 112

def to_hash
  ret = {}
  ret['Type'] = @type
  ret['Timestamp'] = @timestamp
  ret['Jobs'] = @jobs
  ret['Days'] = @days
  ret['Weeks'] = @weeks
  ret['Months'] = @months
  ret['WeekOffset'] = @week_offset
  ret['MonthOffset'] = @month_offset
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



134
135
136
# File 'lib/comet/models/retention_range.rb', line 134

def to_json(options = {})
  to_hash.to_json(options)
end