zabby 0.0.2

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.
@@ -0,0 +1,8 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # Author:: Farzad FARID (<ffarid@pragmatic-source.com>)
3
+ # Copyright:: Copyright (c) 2011 Farzad FARID
4
+ # License:: Simplified BSD License
5
+
6
+ module Zabby
7
+ VERSION = "0.0.2"
8
+ end
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # Author:: Farzad FARID (<ffarid@pragmatic-source.com>)
3
+ # Copyright:: Copyright (c) 2011 Farzad FARID
4
+ # License:: Simplified BSD License
5
+
6
+ module Zabby
7
+ # Definition of the Zabbix Objects as provided by the Zabbix API
8
+ class ZObject
9
+ attr_reader :zname, :zmethods
10
+
11
+ def initialize(zname, zmethods)
12
+ @zname = zname
13
+ @zmethods = zmethods.map { |f| f.to_sym }
14
+ end
15
+
16
+ # Simulate methods on the object.
17
+ # For example: "host.get", "item.create"..
18
+ # @zmethods is the list of valid methods.
19
+ def method_missing(zmethod, *args, &block)
20
+ if @zmethods.include? zmethod
21
+ Zabby::Runner.instance.connection.perform_request(@zname, zmethod, args.first)
22
+ else
23
+ super
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,5 @@
1
+ require 'rspec'
2
+
3
+ RSpec.configure do |c|
4
+ c.mock_with :rspec
5
+ end
data/zabby.gemspec ADDED
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # Author:: Farzad FARID (<ffarid@pragmatic-source.com>)
3
+ # Copyright:: Copyright (c) 2011 Farzad FARID
4
+ # License:: Simplified BSD License
5
+
6
+ $:.push File.expand_path("../lib", __FILE__)
7
+ require "zabby/version"
8
+
9
+ Gem::Specification.new do |s|
10
+ s.name = "zabby"
11
+ s.version = Zabby::VERSION
12
+ s.platform = Gem::Platform::RUBY
13
+ s.authors = ["Farzad FARID"]
14
+ s.email = ["ffarid@pragmatic-source.com"]
15
+ s.homepage = "http://zabby.org/"
16
+ s.summary = %q{Ruby Zabbix API and command line interface}
17
+ s.description = %q{Zabby is a Zabby API and CLI. It provides a provisioning tool for
18
+ creating, updating and querying Zabbix objects (hosts, items, triggers, etc.) through the web
19
+ service.}
20
+
21
+ s.rubyforge_project = "zabby"
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
26
+ s.require_paths = ["lib"]
27
+ s.add_runtime_dependency "json"
28
+ s.add_development_dependency "bundler", ">= 1.0.0"
29
+ s.add_development_dependency "rspec", ">= 2.0.0"
30
+ s.add_development_dependency "rake", ">= 0.8.7"
31
+ end
metadata ADDED
@@ -0,0 +1,170 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zabby
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
11
+ platform: ruby
12
+ authors:
13
+ - Farzad FARID
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-12-21 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: json
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: bundler
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 23
44
+ segments:
45
+ - 1
46
+ - 0
47
+ - 0
48
+ version: 1.0.0
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: rspec
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 15
60
+ segments:
61
+ - 2
62
+ - 0
63
+ - 0
64
+ version: 2.0.0
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: rake
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 49
76
+ segments:
77
+ - 0
78
+ - 8
79
+ - 7
80
+ version: 0.8.7
81
+ type: :development
82
+ version_requirements: *id004
83
+ description: |-
84
+ Zabby is a Zabby API and CLI. It provides a provisioning tool for
85
+ creating, updating and querying Zabbix objects (hosts, items, triggers, etc.) through the web
86
+ service.
87
+ email:
88
+ - ffarid@pragmatic-source.com
89
+ executables:
90
+ - zabbyrb
91
+ - zabbysh
92
+ extensions: []
93
+
94
+ extra_rdoc_files: []
95
+
96
+ files:
97
+ - .gitignore
98
+ - Gemfile
99
+ - LICENSE
100
+ - README.rdoc
101
+ - Rakefile
102
+ - bin/zabbyrb
103
+ - bin/zabbysh
104
+ - doc/Zabby.html
105
+ - doc/Zabby/AuthenticationError.html
106
+ - doc/Zabby/Config.html
107
+ - doc/Zabby/ConfigurationError.html
108
+ - doc/Zabby/Connection.html
109
+ - doc/Zabby/ResponseCodeError.html
110
+ - doc/Zabby/Runner.html
111
+ - doc/_index.html
112
+ - doc/class_list.html
113
+ - doc/css/common.css
114
+ - doc/css/full_list.css
115
+ - doc/css/style.css
116
+ - doc/file.LICENSE.html
117
+ - doc/file.README.html
118
+ - doc/file_list.html
119
+ - doc/frames.html
120
+ - doc/index.html
121
+ - doc/js/app.js
122
+ - doc/js/full_list.js
123
+ - doc/js/jquery.js
124
+ - doc/method_list.html
125
+ - doc/top-level-namespace.html
126
+ - lib/zabby.rb
127
+ - lib/zabby/config.rb
128
+ - lib/zabby/connection.rb
129
+ - lib/zabby/exceptions.rb
130
+ - lib/zabby/runner.rb
131
+ - lib/zabby/version.rb
132
+ - lib/zabby/zobject.rb
133
+ - spec/spec_helper.rb
134
+ - zabby.gemspec
135
+ has_rdoc: true
136
+ homepage: http://zabby.org/
137
+ licenses: []
138
+
139
+ post_install_message:
140
+ rdoc_options: []
141
+
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ hash: 3
150
+ segments:
151
+ - 0
152
+ version: "0"
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ hash: 3
159
+ segments:
160
+ - 0
161
+ version: "0"
162
+ requirements: []
163
+
164
+ rubyforge_project: zabby
165
+ rubygems_version: 1.4.2
166
+ signing_key:
167
+ specification_version: 3
168
+ summary: Ruby Zabbix API and command line interface
169
+ test_files:
170
+ - spec/spec_helper.rb