rtsd 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f207e09c65c06032cb454afe6cae321f408b1709
4
+ data.tar.gz: 25b1794a1a165875684adad56366b2948519ea3a
5
+ SHA512:
6
+ metadata.gz: 9cc08405254aab40290397fe4c6ebb2a3af20123e6138e6224ccba895425d870d1ae31bdaed6b9729ba6f919573d35acff1ee571dd2a314e23396e37afc370a3
7
+ data.tar.gz: f0eed0810838345d974bd0f2e428bfa9af1ae388c0a29f678a12f3f14ff39d6a0d70c0c17e2199c1cfd4fb58469a1d2366c1dbbc3e1a73deb6a99b6ff3a3769c
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ vendor
data/README.md CHANGED
@@ -20,15 +20,13 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- TODO: Write usage instructions here
24
-
25
23
  ```ruby
26
24
  client = Rtsd::Client.new(:hostname => 'localhost', :port => 4242)
27
25
 
28
26
  client.put(:metric => 'cheezeburgers.per_second',
29
27
  :value => 9001,
30
28
  :timestamp => Time.now.to_i,
31
- :tags => {:ya => 'nope', :host => 'strongbadia')
29
+ :tags => {:ya => 'nope', :host => 'strongbadia'})
32
30
  ```
33
31
 
34
32
  ## Contributing
@@ -10,8 +10,10 @@ module Rtsd
10
10
  metric = params.fetch(:metric)
11
11
  timestamp = params[:timestamp] || Time.now.to_i
12
12
  value = params.fetch(:value).to_f
13
- tags = params.fetch(:tags, []).map{|k,v| "#{k}=#{v}"}.join(" ")
13
+ tags = params.fetch(:tags).map{|k,v| "#{k}=#{v}"}.join(" ")
14
14
  connection.puts "put %s %d %s %s" % [metric, timestamp, value, tags]
15
+ rescue KeyError => e
16
+ raise ArgumentError, e.message
15
17
  end
16
18
  end
17
19
  end
@@ -1,3 +1,3 @@
1
1
  module Rtsd
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["donald.plummer@gmail.com"]
11
11
  spec.description = %q{A Ruby client for OpenTSDB, for writing metrics to the API.}
12
12
  spec.summary = %q{A Ruby client for OpenTSDB.}
13
- spec.homepage = "https://github.com/dplummer/rtsd"
13
+ spec.homepage = "https://github.com/dplummer/rtsd_client"
14
14
  spec.license = "MIT"
15
15
  spec.signing_key = "#{ENV['HOME']}/.gem/gem-private_key.pem"
16
16
  spec.cert_chain = ["#{ENV['HOME']}/.gem/gem-public_cert.pem"]
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Rtsd::Client do
4
4
  subject { Rtsd::Client.new(:hostname => 'localhost', :port => 4242) }
5
- let(:socket) { mock("Socket", :puts => nil) }
5
+ let(:socket) { double("Socket", :puts => nil) }
6
6
 
7
7
  before(:each) do
8
8
  TCPSocket.stub(:new).and_return(socket)
@@ -25,6 +25,28 @@ describe Rtsd::Client do
25
25
  subject.put(params)
26
26
  end
27
27
 
28
+ context 'missing keys' do
29
+ it 'raises ArgumentError with no params' do
30
+ expect{subject.put({})}.to raise_error(ArgumentError)
31
+ end
32
+
33
+ it 'raises ArgumentError with missing metric' do
34
+ expect{subject.put({:value => 1, :timestamp => Time.now.to_i, :tags => {:foo => 'bar'}})}.to raise_error(ArgumentError)
35
+ end
36
+
37
+ it 'raises ArgumentError with missing value' do
38
+ expect{subject.put({:metric => 1, :timestamp => Time.now.to_i, :tags => {:foo => 'bar'}})}.to raise_error(ArgumentError)
39
+ end
40
+
41
+ it 'raises ArgumentError with missing tags' do
42
+ expect{subject.put({:metric => 'foo.bar', :value => 1, :timestamp => Time.now.to_i})}.to raise_error(ArgumentError)
43
+ end
44
+
45
+ it 'does not raise ArgumentError with missing timestamp' do
46
+ expect{subject.put({:metric => 'foo.bar', :value => 1, :tags => { :foo => 'bar' }})}.not_to raise_error()
47
+ end
48
+ end
49
+
28
50
  context "no server listening" do
29
51
  before(:each) do
30
52
  TCPSocket.stub(:new).and_raise(Errno::ECONNREFUSED)
metadata CHANGED
@@ -1,19 +1,13 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rtsd
3
- version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Donald Plummer
14
8
  autorequire:
15
9
  bindir: bin
16
- cert_chain:
10
+ cert_chain:
17
11
  - |
18
12
  -----BEGIN CERTIFICATE-----
19
13
  MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRcwFQYDVQQDDA5kb25h
@@ -35,119 +29,113 @@ cert_chain:
35
29
  3n5ySa5BwuDg/KUBbTgacxQa0/RPnlDEe5bDD4wR9Fl14ogCgp7FNmvS/mpx1Gsx
36
30
  83hy5JO2AhXPlQJF/Tc0VdNU
37
31
  -----END CERTIFICATE-----
38
-
39
- date: 2013-04-07 00:00:00 Z
40
- dependencies:
41
- - !ruby/object:Gem::Dependency
32
+ date: 2013-08-02 00:00:00.000000000 Z
33
+ dependencies:
34
+ - !ruby/object:Gem::Dependency
42
35
  name: bundler
43
- prerelease: false
44
- requirement: &id001 !ruby/object:Gem::Requirement
45
- none: false
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- hash: 25
50
- segments:
51
- - 1
52
- - 1
53
- - 5
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
54
40
  version: 1.1.5
55
41
  type: :development
56
- version_requirements: *id001
57
- - !ruby/object:Gem::Dependency
58
- name: rake
59
42
  prerelease: false
60
- requirement: &id002 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 3
66
- segments:
67
- - 0
68
- version: "0"
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.1.5
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
69
55
  type: :development
70
- version_requirements: *id002
71
- - !ruby/object:Gem::Dependency
72
- name: rspec
73
56
  prerelease: false
74
- requirement: &id003 !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- hash: 3
80
- segments:
81
- - 0
82
- version: "0"
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
83
69
  type: :development
84
- version_requirements: *id003
85
- - !ruby/object:Gem::Dependency
86
- name: guard
87
70
  prerelease: false
88
- requirement: &id004 !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
- version: "0"
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: guard
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
97
83
  type: :development
98
- version_requirements: *id004
99
- - !ruby/object:Gem::Dependency
100
- name: guard-rspec
101
84
  prerelease: false
102
- requirement: &id005 !ruby/object:Gem::Requirement
103
- none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 0
110
- version: "0"
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: guard-rspec
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
111
97
  type: :development
112
- version_requirements: *id005
113
- - !ruby/object:Gem::Dependency
114
- name: guard-bundler
115
98
  prerelease: false
116
- requirement: &id006 !ruby/object:Gem::Requirement
117
- none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
- version: "0"
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: guard-bundler
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
125
111
  type: :development
126
- version_requirements: *id006
127
- - !ruby/object:Gem::Dependency
128
- name: rb-inotify
129
112
  prerelease: false
130
- requirement: &id007 !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ - !ruby/object:Gem::Dependency
119
+ name: rb-inotify
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
139
125
  type: :development
140
- version_requirements: *id007
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
141
132
  description: A Ruby client for OpenTSDB, for writing metrics to the API.
142
- email:
133
+ email:
143
134
  - donald.plummer@gmail.com
144
135
  executables: []
145
-
146
136
  extensions: []
147
-
148
137
  extra_rdoc_files: []
149
-
150
- files:
138
+ files:
151
139
  - .gitignore
152
140
  - .rspec
153
141
  - Gemfile
@@ -162,40 +150,31 @@ files:
162
150
  - rtsd.gemspec
163
151
  - spec/rtsd/client_spec.rb
164
152
  - spec/spec_helper.rb
165
- homepage: https://github.com/dplummer/rtsd
166
- licenses:
153
+ homepage: https://github.com/dplummer/rtsd_client
154
+ licenses:
167
155
  - MIT
156
+ metadata: {}
168
157
  post_install_message:
169
158
  rdoc_options: []
170
-
171
- require_paths:
159
+ require_paths:
172
160
  - lib
173
- required_ruby_version: !ruby/object:Gem::Requirement
174
- none: false
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- hash: 3
179
- segments:
180
- - 0
181
- version: "0"
182
- required_rubygems_version: !ruby/object:Gem::Requirement
183
- none: false
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- hash: 3
188
- segments:
189
- - 0
190
- version: "0"
161
+ required_ruby_version: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - '>='
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
191
171
  requirements: []
192
-
193
172
  rubyforge_project:
194
- rubygems_version: 1.8.24
173
+ rubygems_version: 2.0.4
195
174
  signing_key:
196
- specification_version: 3
175
+ specification_version: 4
197
176
  summary: A Ruby client for OpenTSDB.
198
- test_files:
177
+ test_files:
199
178
  - spec/rtsd/client_spec.rb
200
179
  - spec/spec_helper.rb
201
180
  has_rdoc:
metadata.gz.sig CHANGED
Binary file