Class: Rubix::Medium
- Defined in:
- lib/rubix/models/medium.rb
Constant Summary collapse
- PRIORITY_CODES =
Numeric codes that correspond to accepting triggers that are any priority less than or equal to that listed. More fine grained control is possible, i.e. - accepting :not_classified and :wanring triggers but rejejcting :information triggers. In the interests of simplicity, we avoid exposing that degree of freedom here.
{ :none => 0, :not_classified => 1, :information => 3, :warning => 7, :average => 15, :high => 31, :disaster => 63, :all => 63, nil => 63 }.freeze
- PRIORITY_NAMES =
PRIORITY_CODES.invert.freeze
Instance Attribute Summary collapse
Attributes inherited from Model
Class Method Summary collapse
Instance Method Summary collapse
-
#create_params ⇒ Object
Requests ==.
-
#initialize(properties = {}) ⇒ Medium
constructor
A new instance of Medium.
Methods included from Associations::BelongsToMediaType
#media_type, #media_type=, #media_type_id, #media_type_id=
Methods included from Associations::BelongsToUser
#user, #user=, #user_id, #user_id=
Methods inherited from Model
#after_create, all, all_params, all_request, #before_destroy, #before_update, #create, #create_request, #destroy, #destroy_params, #destroy_request, each, find, find_or_create, find_params, find_request, get_params, #id_field, list, #new_record?, properties, request, #request, #resource_name, resource_name, #save, #to_hash, #update, #update_params, #update_request, #validate, web_request, zabbix_attr, zabbix_name
Methods included from Logs
#debug, #error, #fatal, #info, #warn
Constructor Details
#initialize(properties = {}) ⇒ Medium
Returns a new instance of Medium.
42 43 44 45 46 47 48 49 |
# File 'lib/rubix/models/medium.rb', line 42 def initialize properties={} super(properties) self.severity = properties[:severity].to_i if properties[:severity] self.user = properties[:user] self.user_id = properties[:user_id] self.media_type = properties[:media_type] self.media_type_id = properties[:media_type_id] end |
Instance Attribute Details
#severity ⇒ Object
34 35 36 |
# File 'lib/rubix/models/medium.rb', line 34 def severity @severity ||= self.class::PRIORITY_CODES[priority] end |
Class Method Details
.build(medium) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/rubix/models/medium.rb', line 73 def self.build medium new({ :id => medium[id_field].to_i, :address => medium['sendto'], :severity => medium['severity'].to_i, :priority => self::PRIORITY_NAMES[medium['severity'].to_i], :timeframe => medium['period'], :enabled => (medium['active'].to_i == 0), :user_id => medium['userid'].to_i, :media_type_id => medium['mediatypeid'].to_i }) end |
.id_field ⇒ Object
38 39 40 |
# File 'lib/rubix/models/medium.rb', line 38 def self.id_field 'mediaid' end |
Instance Method Details
#create_params ⇒ Object
Requests ==
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/rubix/models/medium.rb', line 62 def create_params { :mediatypeid => media_type_id, :userid => user_id, :sendto => address, :active => (enabled ? 0 : 1), :severity => (severity || self.class::PRIORITY_CODES[priority]), :period => timeframe } end |