km 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,12 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- km (1.1.0)
4
+ km (1.1.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
8
8
  specs:
9
- awesome_print (0.3.1)
10
9
  diff-lcs (1.1.2)
11
10
  json (1.5.1)
12
11
  rake (0.8.7)
@@ -18,16 +17,13 @@ GEM
18
17
  rspec-expectations (2.4.0)
19
18
  diff-lcs (~> 1.1.2)
20
19
  rspec-mocks (2.4.0)
21
- watchr (0.7)
22
20
 
23
21
  PLATFORMS
24
22
  ruby
25
23
 
26
24
  DEPENDENCIES
27
- awesome_print
28
25
  bundler (>= 1.0.0)
29
26
  json
30
27
  km!
31
28
  rake
32
29
  rspec (~> 2.4.0)
33
- watchr
data/README.rdoc CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  We are hosting our documentation for our Ruby API here: http://support.kissmetrics.com/apis/ruby
4
4
 
5
+ = Installation
6
+
7
+ gem install km
8
+
5
9
  = SaaS
6
10
 
7
11
  This gem includes SaaS calls. For more information please refer to:
data/bin/km_send CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'optparse'
2
4
  require 'km'
3
5
 
4
6
  env = 'production'
data/km.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["KISSmetrics"]
9
9
  s.email = ["support@kissmetrics.com"]
10
- s.homepage = "http://rubygems.org/gems/km"
10
+ s.homepage = "https://github.com/kissmetrics/km"
11
11
  s.summary = "KISSmetrics ruby API gem"
12
12
  s.description = "KISSmetrics ruby API gem"
13
13
 
@@ -16,9 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.add_development_dependency "bundler", ">= 1.0.0"
18
18
  s.add_development_dependency "rspec", "~> 2.4.0"
19
- s.add_development_dependency "awesome_print"
20
19
  s.add_development_dependency "rake"
21
- s.add_development_dependency "watchr"
22
20
  s.add_development_dependency "json"
23
21
 
24
22
  s.files = `git ls-files`.split("\n")
data/lib/km.rb CHANGED
@@ -1,17 +1,9 @@
1
1
  require 'cgi'
2
2
  require 'socket'
3
+ require 'net/http'
3
4
  require 'fileutils'
4
5
  require 'km/saas'
5
6
 
6
- class Hash
7
- def reverse_merge(other_hash)
8
- other_hash.merge(self)
9
- end if !respond_to?(:reverse_merge)
10
- def reverse_merge!(other_hash)
11
- replace(reverse_merge(other_hash))
12
- end if !respond_to?(:reverse_merge)
13
- end
14
-
15
7
  class KMError < StandardError; end
16
8
 
17
9
  class KM
@@ -35,7 +27,8 @@ class KM
35
27
  :use_cron => @use_cron,
36
28
  :env => set_env,
37
29
  }
38
- options.reverse_merge!(default)
30
+ options = default.merge(options)
31
+
39
32
  begin
40
33
  @key = key
41
34
  @host = options[:host]
@@ -196,7 +189,8 @@ class KM
196
189
  data.update('_p' => @id) unless update == false
197
190
  data.update('_k' => @key)
198
191
  data.update '_d' => 1 if data['_t']
199
- data.reverse_merge!('_t' => Time.now.to_i)
192
+ data['_t'] ||= Time.now.to_i
193
+
200
194
  data.inject(query) do |query,key_val|
201
195
  query_arr << key_val.collect { |i| CGI.escape i.to_s }.join('=')
202
196
  end
@@ -218,14 +212,11 @@ class KM
218
212
  log_sent(line)
219
213
  return
220
214
  end
221
- host,port = @host.split(':')
222
215
  begin
223
- sock = TCPSocket.open(host,port)
224
- request = 'GET ' + line + " HTTP/1.1\r\n"
225
- request += "Host: " + Socket.gethostname + "\r\n"
226
- request += "Connection: Close\r\n\r\n";
227
- sock.print(request)
228
- sock.close
216
+ host,port = @host.split(':')
217
+ res = Net::HTTP.start(host, port) do |http|
218
+ http.get(line)
219
+ end
229
220
  rescue Exception => e
230
221
  raise KMError.new("#{e} for host #{@host}")
231
222
  end
data/lib/km/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class KM
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/spec/setup.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'ap'
2
1
  require 'km'
3
2
  require 'fileutils'
4
3
  require 'accept'
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: km
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 1
8
- - 0
9
- version: 1.1.0
4
+ prerelease:
5
+ version: 1.1.1
10
6
  platform: ruby
11
7
  authors:
12
8
  - KISSmetrics
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-02-08 00:00:00 -08:00
13
+ date: 2011-06-07 00:00:00 -07:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
@@ -25,10 +21,6 @@ dependencies:
25
21
  requirements:
26
22
  - - ">="
27
23
  - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 0
31
- - 0
32
24
  version: 1.0.0
33
25
  type: :development
34
26
  version_requirements: *id001
@@ -40,65 +32,31 @@ dependencies:
40
32
  requirements:
41
33
  - - ~>
42
34
  - !ruby/object:Gem::Version
43
- segments:
44
- - 2
45
- - 4
46
- - 0
47
35
  version: 2.4.0
48
36
  type: :development
49
37
  version_requirements: *id002
50
38
  - !ruby/object:Gem::Dependency
51
- name: awesome_print
39
+ name: rake
52
40
  prerelease: false
53
41
  requirement: &id003 !ruby/object:Gem::Requirement
54
42
  none: false
55
43
  requirements:
56
44
  - - ">="
57
45
  - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
46
  version: "0"
61
47
  type: :development
62
48
  version_requirements: *id003
63
49
  - !ruby/object:Gem::Dependency
64
- name: rake
50
+ name: json
65
51
  prerelease: false
66
52
  requirement: &id004 !ruby/object:Gem::Requirement
67
53
  none: false
68
54
  requirements:
69
55
  - - ">="
70
56
  - !ruby/object:Gem::Version
71
- segments:
72
- - 0
73
57
  version: "0"
74
58
  type: :development
75
59
  version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: watchr
78
- prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- segments:
85
- - 0
86
- version: "0"
87
- type: :development
88
- version_requirements: *id005
89
- - !ruby/object:Gem::Dependency
90
- name: json
91
- prerelease: false
92
- requirement: &id006 !ruby/object:Gem::Requirement
93
- none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- segments:
98
- - 0
99
- version: "0"
100
- type: :development
101
- version_requirements: *id006
102
60
  description: KISSmetrics ruby API gem
103
61
  email:
104
62
  - support@kissmetrics.com
@@ -180,7 +138,7 @@ files:
180
138
  - spec/setup.rb
181
139
  - spec/watchr.rb
182
140
  has_rdoc: true
183
- homepage: http://rubygems.org/gems/km
141
+ homepage: https://github.com/kissmetrics/km
184
142
  licenses: []
185
143
 
186
144
  post_install_message:
@@ -193,23 +151,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
151
  requirements:
194
152
  - - ">="
195
153
  - !ruby/object:Gem::Version
196
- segments:
197
- - 0
198
154
  version: "0"
199
155
  required_rubygems_version: !ruby/object:Gem::Requirement
200
156
  none: false
201
157
  requirements:
202
158
  - - ">="
203
159
  - !ruby/object:Gem::Version
204
- segments:
205
- - 1
206
- - 3
207
- - 6
208
160
  version: 1.3.6
209
161
  requirements: []
210
162
 
211
163
  rubyforge_project: kissmetrics
212
- rubygems_version: 1.3.7
164
+ rubygems_version: 1.6.2
213
165
  signing_key:
214
166
  specification_version: 3
215
167
  summary: KISSmetrics ruby API gem