rubix 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -54,7 +54,7 @@ module Rubix
54
54
 
55
55
  def till_response attempt=1, max_attempts=5, &block
56
56
  response = block.call
57
- Rubix.logger.log(Logger::DEBUG, response.body, 'RECV') if Rubix.logger
57
+ Rubix.logger.log(Logger::DEBUG, "RECV: #{response.body}") if Rubix.logger
58
58
  case
59
59
  when response.code.to_i >= 500 && attempt <= max_attempts
60
60
  sleep 1 # FIXME make the sleep time configurable...
@@ -82,7 +82,7 @@ module Rubix
82
82
 
83
83
  def raw_post_request raw_params
84
84
  json_body = raw_params.to_json
85
- Rubix.logger.log(Logger::DEBUG, json_body, 'SEND') if Rubix.logger
85
+ Rubix.logger.log(Logger::DEBUG, "SEND: #{json_body}") if Rubix.logger
86
86
  Net::HTTP::Post.new(uri.path).tap do |req|
87
87
  req['Content-Type'] = 'application/json-rpc'
88
88
  req.body = json_body
@@ -14,7 +14,6 @@ module Rubix
14
14
  def self.default_logger
15
15
  @logger = Logger.new(default_log_path)
16
16
  @logger.level = default_log_severity
17
- p default_log_severity
18
17
  @logger
19
18
  end
20
19
 
@@ -50,33 +49,29 @@ module Rubix
50
49
 
51
50
  module Logs
52
51
 
53
- def log_name
54
- @log_name
55
- end
56
-
57
52
  def debug *args
58
53
  return unless Rubix.logger
59
- Rubix.logger.log(Logger::DEBUG, args.join(' '), log_name)
54
+ Rubix.logger.log(Logger::DEBUG, args.join(' '))
60
55
  end
61
56
 
62
57
  def info *args
63
58
  return unless Rubix.logger
64
- Rubix.logger.log(Logger::INFO, args.join(' '), log_name)
59
+ Rubix.logger.log(Logger::INFO, args.join(' '))
65
60
  end
66
61
 
67
62
  def warn *args
68
63
  return unless Rubix.logger
69
- Rubix.logger.log(Logger::WARN, args.join(' '), log_name)
64
+ Rubix.logger.log(Logger::WARN, args.join(' '))
70
65
  end
71
66
 
72
67
  def error *args
73
68
  return unless Rubix.logger
74
- Rubix.logger.log(Logger::ERROR, args.join(' '), log_name)
69
+ Rubix.logger.log(Logger::ERROR, args.join(' '))
75
70
  end
76
71
 
77
72
  def fatal *args
78
73
  return unless Rubix.logger
79
- Rubix.logger.log(Logger::FATAL, args.join(' '), log_name)
74
+ Rubix.logger.log(Logger::FATAL, args.join(' '))
80
75
  end
81
76
 
82
77
  end
@@ -35,10 +35,6 @@ module Rubix
35
35
  new(params)
36
36
  end
37
37
 
38
- def log_name
39
- "APP #{name || id}@#{host.name}"
40
- end
41
-
42
38
  def self.id_field
43
39
  'applicationid'
44
40
  end
@@ -49,10 +49,6 @@ module Rubix
49
49
  })
50
50
  end
51
51
 
52
- def log_name
53
- "HOST #{name || id}"
54
- end
55
-
56
52
  def self.id_field
57
53
  'hostid'
58
54
  end
@@ -104,13 +100,12 @@ module Rubix
104
100
  request('host.update', params.merge('hostid' => id))
105
101
  end
106
102
 
107
- def after_update
103
+ def before_update
108
104
  response = request('host.massUpdate', { 'groups' => host_group_params, 'templates' => template_params, 'macros' => user_macro_params, 'hosts' => [{'hostid' => id}]})
109
105
  if response.has_data?
110
- info("Updated templates, host groups, & macros")
111
106
  true
112
107
  else
113
- error("Could not update all templates, host groups, and/or macros: #{response.error_message}")
108
+ error("Could not update all templates, host groups, and/or macros for #{resource_name}: #{response.error_message}")
114
109
  false
115
110
  end
116
111
  end
@@ -28,15 +28,10 @@ module Rubix
28
28
  })
29
29
  end
30
30
 
31
- def log_name
32
- "GROUP #{name || id}"
33
- end
34
-
35
31
  def self.id_field
36
32
  'groupid'
37
33
  end
38
34
 
39
-
40
35
  #
41
36
  # == Associations ==
42
37
  #
@@ -78,10 +78,6 @@ module Rubix
78
78
  })
79
79
  end
80
80
 
81
- def log_name
82
- "ITEM #{key}@#{host.name}"
83
- end
84
-
85
81
  def self.id_field
86
82
  'itemid'
87
83
  end
@@ -9,18 +9,17 @@ module Rubix
9
9
  extend Logs
10
10
  include Logs
11
11
 
12
- def self.model_name
12
+ def self.resource_name
13
13
  self.to_s.split('::').last
14
14
  end
15
15
 
16
- def self.log_name
17
- model_name
16
+ def resource_name
17
+ "#{self.class.resource_name} #{respond_to?(:name) ? self.name : self.id}"
18
18
  end
19
19
 
20
20
  def initialize properties={}
21
21
  @properties = properties
22
22
  @id = properties[:id]
23
- @log_name = self.class.model_name
24
23
  end
25
24
 
26
25
  def new_record?
@@ -43,7 +42,7 @@ module Rubix
43
42
  when response.success?
44
43
  # a successful but empty response means it wasn't found
45
44
  else
46
- error("Could not find #{options.inspect}: #{response.error_message}")
45
+ error("Error finding #{resource_name} using #{options.inspect}: #{response.error_message}")
47
46
  nil
48
47
  end
49
48
  end
@@ -62,7 +61,7 @@ module Rubix
62
61
  false
63
62
  end
64
63
  else
65
- error("Could not create #{options.inspect}: #{response.error_message}")
64
+ error("Error creating #{resource_name} using #{options.inspect}: #{response.error_message}")
66
65
  false
67
66
  end
68
67
  end
@@ -77,31 +76,29 @@ module Rubix
77
76
  if response.has_data?
78
77
  @id = response.result[self.class.id_field + 's'].first.to_i
79
78
  info("Created")
80
- true
81
79
  else
82
- error("Could not create: #{response.error_message}")
83
- false
80
+ error("Error creating #{resource_name}: #{response.error_message}")
81
+ return false
84
82
  end
85
83
  end
86
84
 
87
85
  def update
88
86
  return false unless validate
89
87
  return create if new_record?
88
+ return false unless before_update
90
89
  response = update_request
91
90
  if response.has_data?
92
91
  info("Updated")
93
- after_update
94
92
  else
95
- error("Could not update: #{response.error_message}")
96
- false
93
+ error("Error updating #{resource_name}: #{response.error_message}")
94
+ return false
97
95
  end
98
- after_update
99
96
  end
100
97
 
101
- def after_update
98
+ def before_update
102
99
  true
103
100
  end
104
-
101
+
105
102
  def save
106
103
  new_record? ? create : update
107
104
  end
@@ -111,13 +108,13 @@ module Rubix
111
108
  response = destroy_request
112
109
  case
113
110
  when response.has_data? && response.result.values.first.first.to_i == id
114
- info("Destroyed")
111
+ info("Destroyed #{resource_name}")
115
112
  true
116
113
  when response.zabbix_error? && response.error_message =~ /does not exist/i
117
114
  # was never there
118
115
  true
119
116
  else
120
- error("Could not destroy: #{response.error_message}")
117
+ error("Could not destroy #{resource_name}: #{response.error_message}")
121
118
  false
122
119
  end
123
120
  end
@@ -39,10 +39,6 @@ module Rubix
39
39
  })
40
40
  end
41
41
 
42
- def log_name
43
- "TEMPLATE #{name || id}"
44
- end
45
-
46
42
  def self.id_field
47
43
  'templateid'
48
44
  end
@@ -30,10 +30,6 @@ module Rubix
30
30
  })
31
31
  end
32
32
 
33
- def log_name
34
- "MACRO #{macro_name}@#{host.name}"
35
- end
36
-
37
33
  def self.unmacro_name name
38
34
  (name || '').gsub(/^\{\$/, '').gsub(/\}$/, '').upcase
39
35
  end
@@ -29,15 +29,14 @@ module Rubix
29
29
  @settings = settings
30
30
  confirm_settings
31
31
  self.host = Host.new(:name => settings['host'])
32
- @log_name = "PIPE #{host.name}"
33
32
  if settings['fast']
34
- info("Forwarding...") if settings['verbose']
33
+ info("Forwarding for #{self.host.name}...") if settings['verbose']
35
34
  else
36
35
  initialize_hostgroups
37
36
  initialize_templates
38
37
  initialize_host
39
38
  initialize_applications
40
- info("Forwarding...") if settings['verbose'] && host.exists?
39
+ info("Forwarding for #{self.host.name}...") if settings['verbose'] && host.exists?
41
40
  end
42
41
  end
43
42
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubix
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dhruv Bansal