chillout 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .rbx
data/.travis.yml CHANGED
@@ -5,3 +5,7 @@ rvm:
5
5
  - 1.9.2
6
6
  - 1.8.7
7
7
  - ree
8
+ - jruby-18mode
9
+ - jruby-19mode
10
+ - rbx-18mode
11
+ - rbx-19mode
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Chillout
2
2
 
3
3
  [![Build Status](https://travis-ci.org/chilloutio/chillout.png)](https://travis-ci.org/chilloutio/chillout)
4
+ [![Code Climate](https://codeclimate.com/github/chilloutio/chillout.png)](https://codeclimate.com/github/chilloutio/chillout)
5
+ [![Gem Version](https://badge.fury.io/rb/chillout.png)](http://badge.fury.io/rb/chillout)
4
6
 
5
7
  ## Installation
6
8
 
@@ -15,12 +17,7 @@ And then execute:
15
17
  And configure in config/environments/production.rb:
16
18
 
17
19
  ```ruby
18
- config.chillout = {
19
- secret: '<YOUR_SECRET>',
20
- ssl: true,
21
- port: 443,
22
- hostname: 'api.chillout.io'
23
- }
20
+ config.chillout = { secret: '<YOUR_SECRET>' }
24
21
  ```
25
22
 
26
23
  Check if everything is ok:
data/Rakefile CHANGED
@@ -1,11 +1,10 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
3
 
4
4
  task :default => :test
5
5
 
6
6
  desc 'Run chillout unit tests.'
7
7
  Rake::TestTask.new(:test) do |t|
8
- t.libs << 'lib'
9
- t.libs << 'test'
8
+ t.libs = %w(lib test)
10
9
  t.pattern = 'test/**/*_test.rb'
11
10
  end
data/chillout.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'chillout/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "chillout"
8
8
  gem.version = Chillout::VERSION
9
- gem.authors = ["Michał Łomnicki", "Jan Filipowski"]
10
- gem.email = ["michal.lomnicki@gmail.com", "jachuf@gmail.com", "dev@arkency.com"]
9
+ gem.authors = ["Michał Łomnicki", "Jan Filipowski", "Paweł Pacana"]
10
+ gem.email = ["michal.lomnicki@gmail.com", "jachuf@gmail.com", "pawel.pacana@gmail.com", "dev@arkency.com"]
11
11
  gem.description = "Chillout.io Ruby client"
12
12
  gem.summary = "Chillout.io Ruby client"
13
13
  gem.homepage = "http://chillout.io/"
@@ -17,7 +17,8 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency "json", "~> 1.7.0"
20
+ gem.add_dependency 'multi_json', '~> 1.4'
21
+
21
22
  gem.add_development_dependency "minitest", "~>3.2.0"
22
23
  gem.add_development_dependency "rake", "~> 0.9.2"
23
24
  gem.add_development_dependency "mocha", "0.12.8"
@@ -1,7 +1,7 @@
1
1
  require 'forwardable'
2
- require 'chillout/server-side/server_side'
3
- require 'chillout/server-side/http_client'
4
- require 'chillout/server-side/dispatcher'
2
+ require 'chillout/server_side/server_side'
3
+ require 'chillout/server_side/http_client'
4
+ require 'chillout/server_side/dispatcher'
5
5
  require 'chillout/config'
6
6
  require 'chillout/event_data_builder'
7
7
  require 'chillout/prefixed_logger'
@@ -31,20 +31,35 @@ module Chillout
31
31
  @server_side = ServerSide.new(@event_data_builder, @http_client).freeze
32
32
  @dispatcher = Dispatcher.new(@server_side).freeze
33
33
  @queue = Queue.new
34
+ @worker_mutex = Mutex.new
34
35
  end
35
36
 
36
37
  def enqueue(creations)
38
+ ensure_worker_running
39
+ @logger.info "Creations were enqueued."
37
40
  @queue << creations
38
41
  end
39
42
 
43
+ def worker_running?
44
+ @worker_thread && @worker_thread.alive?
45
+ end
46
+
47
+ private
40
48
  def start_worker
41
- thread = Thread.new do
49
+ @worker_thread = Thread.new do
42
50
  worker = Worker.new(@dispatcher, @queue, @logger)
43
51
  worker.run
44
52
  end
45
53
  end
46
54
 
47
- private
55
+ def ensure_worker_running
56
+ return if worker_running?
57
+ @worker_mutex.synchronize do
58
+ return if worker_running?
59
+ start_worker
60
+ end
61
+ end
62
+
48
63
  def build_config(config_or_api_key, options)
49
64
  case config_or_api_key
50
65
  when Config
@@ -7,13 +7,20 @@ module Chillout
7
7
  end
8
8
 
9
9
  def call(env)
10
- response = @app.call(env)
10
+ dup._call(env)
11
+ end
12
+
13
+ def _call(env)
14
+ status, headers, body = @app.call(env)
15
+ return status, headers, body
11
16
  ensure
12
17
  if Thread.current[:creations]
18
+ @client.logger.info "Non-empty creations container found"
13
19
  @client.enqueue(Thread.current[:creations])
14
20
  Thread.current[:creations] = nil
15
21
  end
16
- response
22
+
23
+ body.close if body && body.respond_to?(:close) && $!
17
24
  end
18
25
  end
19
26
  end
@@ -9,7 +9,7 @@ module Chillout
9
9
 
10
10
  [:error, :fatal, :warn, :info, :debug].each do |method_name|
11
11
  define_method method_name do |message|
12
- @logger.send(method_name, "[Chillout] #{message}")
12
+ @logger.send(method_name, "[#{@prefix}] #{message}")
13
13
  end
14
14
  end
15
15
  end
@@ -16,7 +16,7 @@ module Chillout
16
16
  end
17
17
 
18
18
  class RailsInitializer
19
-
19
+
20
20
  def initialize(rails_app, chillout_config, rails_logger)
21
21
  @rails_app = rails_app
22
22
  @chillout_config = chillout_config
@@ -24,14 +24,12 @@ module Chillout
24
24
  end
25
25
 
26
26
  def start
27
- @rails_logger.info "[Chillout] railtie initializing"
27
+ @rails_logger.info "[Chillout] Railtie initializing"
28
28
  client = Client.new(@chillout_config[:secret], options)
29
29
  ActiveRecord::Base.extend(CreationListener)
30
- @rails_logger.info "[Chillout] creation listener attached"
30
+ @rails_logger.info "[Chillout] Creation listener attached"
31
31
  @rails_app.middleware.use Middleware::CreationsMonitor, client
32
- @rails_logger.info "[Chillout] creation monitor enabled"
33
- client.start_worker
34
- @rails_logger.info "[Chillout] worker started"
32
+ @rails_logger.info "[Chillout] Creation monitor enabled"
35
33
  end
36
34
 
37
35
  def options
@@ -1,6 +1,6 @@
1
1
  require 'net/http'
2
2
  require 'net/https'
3
- require 'json'
3
+ require 'multi_json'
4
4
 
5
5
  module Chillout
6
6
  class HttpClient
@@ -30,7 +30,7 @@ module Chillout
30
30
  http = Net::HTTP.new(@config.hostname, @config.port)
31
31
  http.use_ssl = @config.ssl
32
32
  request_spec = Net::HTTP::Post.new(path)
33
- request_spec.body = JSON.dump(data)
33
+ request_spec.body = MultiJson.dump(data)
34
34
  request_spec.content_type = MEDIA_TYPE
35
35
  request_spec.basic_auth @config.authentication_user, @config.authentication_password
36
36
  http.start do
@@ -1,3 +1,3 @@
1
1
  module Chillout
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.4"
3
3
  end
@@ -10,7 +10,9 @@ module Chillout
10
10
  end
11
11
 
12
12
  def get_all_containers_to_process
13
+ logger.info "Waiting for at least one container."
13
14
  all_containers = [queue.pop]
15
+ logger.info "Received at least one container."
14
16
  loop do
15
17
  begin
16
18
  all_containers << queue.pop(true)
@@ -18,6 +20,7 @@ module Chillout
18
20
  break
19
21
  end
20
22
  end
23
+ logger.info "Received containers to process: #{all_containers.count}"
21
24
  all_containers
22
25
  end
23
26
 
@@ -30,8 +33,9 @@ module Chillout
30
33
  end
31
34
 
32
35
  def send_creations(creations_container)
36
+ logger.info "Trying to send creations"
33
37
  dispatcher.send_creations(creations_container)
34
- logger.info "Sending metrics"
38
+ logger.info "Metrics sent"
35
39
  rescue Dispatcher::SendCreationsFailed
36
40
  queue << creations_container
37
41
  logger.error "Sending metrics failed"
@@ -43,6 +47,7 @@ module Chillout
43
47
  end
44
48
 
45
49
  def run
50
+ logger.info "Worker started"
46
51
  send_startup_message
47
52
  loop do
48
53
  containers_to_merge = get_all_containers_to_process
data/lib/chillout.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  require "chillout/version"
2
2
  require "chillout/config"
3
3
  require "chillout/middleware/creations_monitor"
4
- require "chillout/server-side/dispatcher"
5
- require "chillout/server-side/server_side"
6
- require "chillout/server-side/http_client"
4
+ require "chillout/server_side/dispatcher"
5
+ require "chillout/server_side/server_side"
6
+ require "chillout/server_side/http_client"
7
7
  require "chillout/client"
8
8
 
9
9
  module Chillout
@@ -10,8 +10,7 @@ module Chillout
10
10
  stub_api_request(api_key, "clients")
11
11
  stub_api_request(api_key, "metrics")
12
12
  @config = Chillout::Config.new(api_key)
13
- @client = Chillout::Client.new(@config)
14
- @client.start_worker
13
+ @client = Chillout::Client.new(@config, :logger => null_logger)
15
14
  end
16
15
 
17
16
  def app
@@ -31,6 +30,7 @@ module Chillout
31
30
  def test_creations_values
32
31
  get "/"
33
32
  Thread.pass
33
+ sleep 2
34
34
  assert_equal 2, request_body["content"]["creations"]["User"]
35
35
  assert_equal 3, request_body["content"]["creations"]["Cart"]
36
36
  end
@@ -0,0 +1,31 @@
1
+ require 'test_helper'
2
+ require 'chillout/creations_container'
3
+
4
+ class WorkerIntegrationTest < ChilloutTestCase
5
+
6
+ def setup
7
+ @_api_key = "xyz123"
8
+ stub_request(:post, api_url('clients')).to_return(:body => "OK", :status => 200)
9
+ stub_request(:post, api_url('metrics')).to_return(:body => "OK", :status => 200)
10
+ end
11
+
12
+ def test_worker_running_after_fork_on_first_use
13
+ return if RUBY_PLATFORM == 'java'
14
+
15
+ client = Chillout::Client.new(@_api_key, :logger => null_logger)
16
+ worker_check = Proc.new do
17
+ client.enqueue(Chillout::CreationsContainer.new)
18
+ assert client.worker_running?
19
+ end
20
+
21
+ assert_successful_exit Process.fork(&worker_check)
22
+ end
23
+
24
+ def test_worker_running_lazily
25
+ client = Chillout::Client.new(@_api_key, :logger => null_logger)
26
+ client.enqueue(Chillout::CreationsContainer.new)
27
+
28
+ assert client.worker_running?
29
+ end
30
+
31
+ end
@@ -5,7 +5,8 @@ module Chillout
5
5
  class CreationsMonitorTest < ChilloutTestCase
6
6
  setup do
7
7
  @env = { 'HOST' => 'example.net' }
8
- @client = mock()
8
+ @logger = stub(:info => "")
9
+ @client = stub(:logger => @logger)
9
10
  end
10
11
 
11
12
  context "for call with model creation" do
@@ -5,7 +5,7 @@ module Chillout
5
5
  def test_error_message_is_prefixed
6
6
  output = StringIO.new
7
7
  logger = Logger.new(output)
8
- prefixed_logger = PrefixedLogger.new("[Chillout]", logger)
8
+ prefixed_logger = PrefixedLogger.new("Chillout", logger)
9
9
  prefixed_logger.error "Someone is wrong on the internet"
10
10
  assert_includes output.string, "[Chillout] Someone is wrong on the internet"
11
11
  end
data/test/test_helper.rb CHANGED
@@ -17,17 +17,6 @@ class ChilloutTestCase < Test::Unit::TestCase
17
17
  assert collection.include?(object), message || "#{collection.inspect} expected to include #{object.inspect}."
18
18
  end
19
19
 
20
- def build_exception(klass = Exception, message = "Test Exception")
21
- raise klass.new(message)
22
- rescue Exception => exception
23
- exception
24
- end
25
-
26
- def build_error(klass, message = "Test Error", environment = {})
27
- exception = build_exception(klass, message)
28
- Chillout::Error.new(exception, environment)
29
- end
30
-
31
20
  def stub_api_request(api_key, resource_name)
32
21
  @_api_key = api_key
33
22
  stub_request(:post, api_url(resource_name))
@@ -35,7 +24,7 @@ class ChilloutTestCase < Test::Unit::TestCase
35
24
 
36
25
  def assert_request_body(resource_name)
37
26
  assert_requested(:post, api_url(resource_name)) do |request|
38
- yield JSON.parse(request.body)
27
+ yield MultiJson.load(request.body)
39
28
  end
40
29
  end
41
30
 
@@ -48,6 +37,15 @@ class ChilloutTestCase < Test::Unit::TestCase
48
37
  "https://#{@_api_key}:#{@_api_key}@api.chillout.io/#{resource_name}"
49
38
  end
50
39
 
40
+ def null_logger
41
+ Logger.new('/dev/null')
42
+ end
43
+
44
+ def assert_successful_exit(pid)
45
+ _, status = Process.wait2(pid)
46
+ assert_equal 0, status.exitstatus
47
+ end
48
+
51
49
  end
52
50
 
53
51
  class ChilloutTestException < Exception; end
metadata CHANGED
@@ -1,147 +1,140 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: chillout
3
- version: !ruby/object:Gem::Version
4
- hash: 13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 5
9
- - 3
10
- version: 0.5.3
11
6
  platform: ruby
12
- authors:
13
- - "Micha\xC5\x82 \xC5\x81omnicki"
7
+ authors:
8
+ - Michał Łomnicki
14
9
  - Jan Filipowski
10
+ - Paweł Pacana
15
11
  autorequire:
16
12
  bindir: bin
17
13
  cert_chain: []
18
-
19
- date: 2013-04-03 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: json
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
14
+ date: 2013-04-08 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: multi_json
18
+ requirement: !ruby/object:Gem::Requirement
25
19
  none: false
26
- requirements:
20
+ requirements:
27
21
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 11
30
- segments:
31
- - 1
32
- - 7
33
- - 0
34
- version: 1.7.0
22
+ - !ruby/object:Gem::Version
23
+ version: '1.4'
35
24
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: minitest
39
25
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: '1.4'
32
+ - !ruby/object:Gem::Dependency
33
+ name: minitest
34
+ requirement: !ruby/object:Gem::Requirement
41
35
  none: false
42
- requirements:
36
+ requirements:
43
37
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 15
46
- segments:
47
- - 3
48
- - 2
49
- - 0
38
+ - !ruby/object:Gem::Version
50
39
  version: 3.2.0
51
40
  type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: rake
55
41
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
42
+ version_requirements: !ruby/object:Gem::Requirement
57
43
  none: false
58
- requirements:
44
+ requirements:
59
45
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 63
62
- segments:
63
- - 0
64
- - 9
65
- - 2
46
+ - !ruby/object:Gem::Version
47
+ version: 3.2.0
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
66
55
  version: 0.9.2
67
56
  type: :development
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: mocha
71
57
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.9.2
64
+ - !ruby/object:Gem::Dependency
65
+ name: mocha
66
+ requirement: !ruby/object:Gem::Requirement
73
67
  none: false
74
- requirements:
75
- - - "="
76
- - !ruby/object:Gem::Version
77
- hash: 63
78
- segments:
79
- - 0
80
- - 12
81
- - 8
68
+ requirements:
69
+ - - '='
70
+ - !ruby/object:Gem::Version
82
71
  version: 0.12.8
83
72
  type: :development
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- name: contest
87
73
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
74
+ version_requirements: !ruby/object:Gem::Requirement
89
75
  none: false
90
- requirements:
76
+ requirements:
77
+ - - '='
78
+ - !ruby/object:Gem::Version
79
+ version: 0.12.8
80
+ - !ruby/object:Gem::Dependency
81
+ name: contest
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
91
85
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 29
94
- segments:
95
- - 0
96
- - 1
97
- - 3
86
+ - !ruby/object:Gem::Version
98
87
  version: 0.1.3
99
88
  type: :development
100
- version_requirements: *id005
101
- - !ruby/object:Gem::Dependency
102
- name: rack-test
103
89
  prerelease: false
104
- requirement: &id006 !ruby/object:Gem::Requirement
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.1.3
96
+ - !ruby/object:Gem::Dependency
97
+ name: rack-test
98
+ requirement: !ruby/object:Gem::Requirement
105
99
  none: false
106
- requirements:
100
+ requirements:
107
101
  - - ~>
108
- - !ruby/object:Gem::Version
109
- hash: 3
110
- segments:
111
- - 0
112
- - 6
113
- - 2
102
+ - !ruby/object:Gem::Version
114
103
  version: 0.6.2
115
104
  type: :development
116
- version_requirements: *id006
117
- - !ruby/object:Gem::Dependency
118
- name: webmock
119
105
  prerelease: false
120
- requirement: &id007 !ruby/object:Gem::Requirement
106
+ version_requirements: !ruby/object:Gem::Requirement
121
107
  none: false
122
- requirements:
108
+ requirements:
123
109
  - - ~>
124
- - !ruby/object:Gem::Version
125
- hash: 33
126
- segments:
127
- - 1
128
- - 8
129
- - 11
110
+ - !ruby/object:Gem::Version
111
+ version: 0.6.2
112
+ - !ruby/object:Gem::Dependency
113
+ name: webmock
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
130
119
  version: 1.8.11
131
120
  type: :development
132
- version_requirements: *id007
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 1.8.11
133
128
  description: Chillout.io Ruby client
134
- email:
129
+ email:
135
130
  - michal.lomnicki@gmail.com
136
131
  - jachuf@gmail.com
132
+ - pawel.pacana@gmail.com
137
133
  - dev@arkency.com
138
134
  executables: []
139
-
140
135
  extensions: []
141
-
142
136
  extra_rdoc_files: []
143
-
144
- files:
137
+ files:
145
138
  - .gitignore
146
139
  - .travis.yml
147
140
  - Gemfile
@@ -159,9 +152,9 @@ files:
159
152
  - lib/chillout/middleware/creations_monitor.rb
160
153
  - lib/chillout/prefixed_logger.rb
161
154
  - lib/chillout/railtie.rb
162
- - lib/chillout/server-side/dispatcher.rb
163
- - lib/chillout/server-side/http_client.rb
164
- - lib/chillout/server-side/server_side.rb
155
+ - lib/chillout/server_side/dispatcher.rb
156
+ - lib/chillout/server_side/http_client.rb
157
+ - lib/chillout/server_side/server_side.rb
165
158
  - lib/chillout/tasks.rb
166
159
  - lib/chillout/version.rb
167
160
  - lib/chillout/worker.rb
@@ -174,6 +167,7 @@ files:
174
167
  - test/http_client_test.rb
175
168
  - test/integration/client_test.rb
176
169
  - test/integration/creations_monitor_rack_test.rb
170
+ - test/integration/worker_test.rb
177
171
  - test/middleware/creations_monitor_test.rb
178
172
  - test/prefixed_logger_test.rb
179
173
  - test/server_side_test.rb
@@ -181,38 +175,35 @@ files:
181
175
  - test/worker_test.rb
182
176
  homepage: http://chillout.io/
183
177
  licenses: []
184
-
185
178
  post_install_message:
186
179
  rdoc_options: []
187
-
188
- require_paths:
180
+ require_paths:
189
181
  - lib
190
- required_ruby_version: !ruby/object:Gem::Requirement
182
+ required_ruby_version: !ruby/object:Gem::Requirement
191
183
  none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- hash: 3
196
- segments:
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ segments:
197
189
  - 0
198
- version: "0"
199
- required_rubygems_version: !ruby/object:Gem::Requirement
190
+ hash: 3188055463774447782
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
192
  none: false
201
- requirements:
202
- - - ">="
203
- - !ruby/object:Gem::Version
204
- hash: 3
205
- segments:
193
+ requirements:
194
+ - - ! '>='
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ segments:
206
198
  - 0
207
- version: "0"
199
+ hash: 3188055463774447782
208
200
  requirements: []
209
-
210
201
  rubyforge_project:
211
- rubygems_version: 1.8.15
202
+ rubygems_version: 1.8.25
212
203
  signing_key:
213
204
  specification_version: 3
214
205
  summary: Chillout.io Ruby client
215
- test_files:
206
+ test_files:
216
207
  - test/check_result_test.rb
217
208
  - test/client_test.rb
218
209
  - test/config_test.rb
@@ -222,6 +213,7 @@ test_files:
222
213
  - test/http_client_test.rb
223
214
  - test/integration/client_test.rb
224
215
  - test/integration/creations_monitor_rack_test.rb
216
+ - test/integration/worker_test.rb
225
217
  - test/middleware/creations_monitor_test.rb
226
218
  - test/prefixed_logger_test.rb
227
219
  - test/server_side_test.rb