Class: Comet::LoginProtectionOptions
- Inherits:
-
Object
- Object
- Comet::LoginProtectionOptions
- Defined in:
- lib/comet/models/login_protection_options.rb
Overview
LoginProtectionOptions is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#cooldown_seconds ⇒ Object
The duration to block requests, in seconds.
-
#enabled ⇒ Object
Enable this feature to block repeated failed login attempts to the Comet Server.
-
#failure_threshold ⇒ Object
The number of failed attempts before a cooldown is applied.
-
#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 ⇒ LoginProtectionOptions
constructor
A new instance of LoginProtectionOptions.
-
#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 ⇒ LoginProtectionOptions
Returns a new instance of LoginProtectionOptions.
32 33 34 |
# File 'lib/comet/models/login_protection_options.rb', line 32 def initialize clear end |
Instance Attribute Details
#cooldown_seconds ⇒ Object
The duration to block requests, in seconds. If the feature is enabled, should be at least 1 second.
27 28 29 |
# File 'lib/comet/models/login_protection_options.rb', line 27 def cooldown_seconds @cooldown_seconds end |
#enabled ⇒ Object
Enable this feature to block repeated failed login attempts to the Comet Server.
17 18 19 |
# File 'lib/comet/models/login_protection_options.rb', line 17 def enabled @enabled end |
#failure_threshold ⇒ Object
The number of failed attempts before a cooldown is applied. If the feature is enabled, should be at least 1.
22 23 24 |
# File 'lib/comet/models/login_protection_options.rb', line 22 def failure_threshold @failure_threshold end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
30 31 32 |
# File 'lib/comet/models/login_protection_options.rb', line 30 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
36 37 38 39 40 |
# File 'lib/comet/models/login_protection_options.rb', line 36 def clear @failure_threshold = 0 @cooldown_seconds = 0 @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 |
# File 'lib/comet/models/login_protection_options.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 'Enabled' @enabled = v when 'FailureThreshold' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @failure_threshold = v when 'CooldownSeconds' raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric @cooldown_seconds = v else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
43 44 45 46 47 |
# File 'lib/comet/models/login_protection_options.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.
84 85 86 |
# File 'lib/comet/models/login_protection_options.rb', line 84 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/comet/models/login_protection_options.rb', line 72 def to_hash ret = {} ret['Enabled'] = @enabled ret['FailureThreshold'] = @failure_threshold ret['CooldownSeconds'] = @cooldown_seconds @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.
89 90 91 |
# File 'lib/comet/models/login_protection_options.rb', line 89 def to_json( = {}) to_hash.to_json() end |