Class: Comet::EmailReportConfig
- Inherits:
-
Object
- Object
- Comet::EmailReportConfig
- Defined in:
- lib/comet/models/email_report_config.rb
Overview
EmailReportConfig is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#filter ⇒ Object
Returns the value of attribute filter.
-
#report_type ⇒ Object
Returns the value of attribute report_type.
-
#summary_frequency ⇒ Object
Returns the value of attribute summary_frequency.
-
#time_span ⇒ Object
Returns the value of attribute time_span.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ EmailReportConfig
constructor
A new instance of EmailReportConfig.
-
#to_h ⇒ Hash
The complete object as a Ruby hash.
-
#to_hash ⇒ Hash
The complete object as a Ruby hash.
-
#to_json(options = {}) ⇒ String
The complete object as a JSON string.
Constructor Details
#initialize ⇒ EmailReportConfig
Returns a new instance of EmailReportConfig.
30 31 32 |
# File 'lib/comet/models/email_report_config.rb', line 30 def initialize clear end |
Instance Attribute Details
#filter ⇒ Object
Returns the value of attribute filter.
25 26 27 |
# File 'lib/comet/models/email_report_config.rb', line 25 def filter @filter end |
#report_type ⇒ Object
Returns the value of attribute report_type.
16 17 18 |
# File 'lib/comet/models/email_report_config.rb', line 16 def report_type @report_type end |
#summary_frequency ⇒ Object
Returns the value of attribute summary_frequency.
19 20 21 |
# File 'lib/comet/models/email_report_config.rb', line 19 def summary_frequency @summary_frequency end |
#time_span ⇒ Object
Returns the value of attribute time_span.
22 23 24 |
# File 'lib/comet/models/email_report_config.rb', line 22 def time_span @time_span end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
28 29 30 |
# File 'lib/comet/models/email_report_config.rb', line 28 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/comet/models/email_report_config.rb', line 34 def clear @report_type = 0 @summary_frequency = [] @time_span = Comet::TimeSpan.new @filter = Comet::SearchClause.new @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/comet/models/email_report_config.rb', line 50 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 'ReportType' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @report_type = v when 'SummaryFrequency' if v.nil? @summary_frequency = [] else @summary_frequency = Array.new(v.length) v.each_with_index do |v1, i1| @summary_frequency[i1] = Comet::ScheduleConfig.new @summary_frequency[i1].from_hash(v1) end end when 'TimeSpan' @time_span = Comet::TimeSpan.new @time_span.from_hash(v) when 'Filter' @filter = Comet::SearchClause.new @filter.from_hash(v) else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
43 44 45 46 47 |
# File 'lib/comet/models/email_report_config.rb', line 43 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_h ⇒ Hash
Returns The complete object as a Ruby hash.
97 98 99 |
# File 'lib/comet/models/email_report_config.rb', line 97 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/comet/models/email_report_config.rb', line 82 def to_hash ret = {} ret['ReportType'] = @report_type ret['SummaryFrequency'] = @summary_frequency unless @time_span.nil? ret['TimeSpan'] = @time_span end ret['Filter'] = @filter @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.
102 103 104 |
# File 'lib/comet/models/email_report_config.rb', line 102 def to_json( = {}) to_hash.to_json() end |