km 1.1.0 → 1.1.1

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/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