chillout 0.8.5.1 → 0.8.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 987de6b530580a990c6976659f84f144583c1b75
4
- data.tar.gz: 6165cdbdc4f0da56d467f30bb41d4840402322e8
3
+ metadata.gz: 658b6a7781d10cb43a0d4b337823465ed2be5b0f
4
+ data.tar.gz: 71bf4f623d9ed3f1db59443a84b5b2737c5ad190
5
5
  SHA512:
6
- metadata.gz: b0ad33c2f10ef2654eb16338b89d6deea4b52026fd514e1cb73d2f262c97a76f36f852b0dbb88b5b132fbe8e49492a0b82e2af22788a2f3a5a7201e08985f4bf
7
- data.tar.gz: 6928608274f23e0fe511b3f463755e59044589aa95d77a66866417c8fbe90b1264faece1a5f1942115118434443701bf3e279a383a5af7f52d6dfb4bc5784110
6
+ metadata.gz: 03b4744020e8157adb20fbd5a418d9679c1be269dcc597d5e67d2b198ac03102aa534ad94962c7aa46c5154fc292c3fe38b6d7a44380138626bb8fa255bbab89
7
+ data.tar.gz: 57a7ab5198b538415f0d1e2eea38f8b1542b5aa9a05cc380181a38b2dfd7fda26fdb390e958dbb9049e21c535d3fcf126812e678d59970ab150778598f536045
@@ -1,5 +1,10 @@
1
1
  # chillout gem changes
2
2
 
3
+ 0.8.6
4
+ -----
5
+
6
+ - Introduced custom advanced metrics.
7
+
3
8
  0.8.5
4
9
  -----
5
10
 
data/README.md CHANGED
@@ -28,9 +28,9 @@ chillout gem is automatically tracking your model creations. Remember you have t
28
28
 
29
29
  ### Custom metrics
30
30
 
31
- You can use `Chillout::Metric.track('custom_name')` to track a custom, phony metric. It's quite useful when you want to track a certain business process, like:
31
+ You can use `Chillout::Metric.track('custom_name')` to track a custom metric. It's quite useful when you want to track a certain business process, like:
32
32
 
33
- ```
33
+ ```ruby
34
34
  # in 'new':
35
35
  Chillout::Metric.track('RegistrationStarted')
36
36
 
@@ -40,6 +40,30 @@ Chillout::Metric.track('RegistrationCompleted')
40
40
 
41
41
  We encourage you to ship your own class (Adapter) which encapsulates this global constant and it's closer to your application's domain.
42
42
 
43
+ ### Advanced custom metrics
44
+
45
+ For more advanced tracking which supports multiple values, multiple tags and custom timestamps use `Chillout::Metric.push`:
46
+
47
+ ```ruby
48
+ Chillout::Metric.push(
49
+ series: "purchases",
50
+ tags: {
51
+ country: "USA",
52
+ terminal: "KATE-123",
53
+ },
54
+ timestamp: Time.now.utc,
55
+ values: {
56
+ number_of_products: 4,
57
+ total_amount: 55.70,
58
+ tax: 5.70,
59
+ },
60
+ )
61
+ ```
62
+
63
+ * `tags`, `timestamp` and `values` are optional.
64
+ * Tag keys and values should be strings (or symbols).
65
+ * Make sure that given values types are consistent. Avoid sending `total_amount: 55.70` in one metric and `total_amount: 60` in another. Always convert to same class such as Float, Integer or String.
66
+
43
67
  ## Different strategy
44
68
 
45
69
  By default chillout uses a background thread to send metrics in a non-blocking way. However, if you prefer it can use `active_job` and the adapter you configured for it ie. sidekiq, resque, delayed_job, etc.
@@ -1,6 +1,7 @@
1
1
  require "chillout/version"
2
2
  require "chillout/config"
3
3
  require "chillout/creations_container"
4
+ require "chillout/custom_advanced_metric"
4
5
  require "chillout/middleware/creations_monitor"
5
6
  require "chillout/integrations/sidekiq"
6
7
  require "chillout/subscribers/action_controller_notifications"
@@ -15,6 +16,15 @@ module Chillout
15
16
  Chillout.creations ||= CreationsContainer.new
16
17
  Chillout.creations.increment!(name)
17
18
  end
19
+
20
+ def self.push(series:, tags:{}, timestamp: Time.now.utc, values: {value: 1.0})
21
+ Chillout.client.enqueue(CustomAdvancedMetric.new(
22
+ series: series,
23
+ tags: tags,
24
+ timestamp: timestamp,
25
+ values: values
26
+ ))
27
+ end
18
28
  end
19
29
 
20
30
  def self.creations
@@ -24,6 +34,14 @@ module Chillout
24
34
  def self.creations=(val)
25
35
  Thread.current[:creations] = val
26
36
  end
37
+
38
+ def self.client=(client)
39
+ @client = client
40
+ end
41
+
42
+ def self.client
43
+ @client
44
+ end
27
45
  end
28
46
 
29
47
  require 'chillout/railtie' if defined?(Rails)
@@ -10,7 +10,6 @@ module Chillout
10
10
  private
11
11
  def listen(monitored_class)
12
12
  class_name = monitored_class.name
13
- return unless class_name
14
13
  monitored_class.after_commit :on => :create do
15
14
  Rails.logger.debug "[Chillout] Model created: #{class_name}"
16
15
  Chillout.creations ||= CreationsContainer.new
@@ -0,0 +1,21 @@
1
+ module Chillout
2
+ class CustomAdvancedMetric
3
+
4
+ def initialize(series:, tags:, timestamp:, values:)
5
+ @series = series.to_str
6
+ @tags = tags.to_h
7
+ @timestamp = timestamp.utc
8
+ @values = values.to_h
9
+ end
10
+
11
+ def as_measurements()
12
+ [{
13
+ series: @series,
14
+ tags: @tags,
15
+ timestamp: @timestamp,
16
+ values: @values,
17
+ }]
18
+ end
19
+
20
+ end
21
+ end
@@ -50,6 +50,7 @@ module Chillout
50
50
  Subscribers::ActionControllerNotifications.new.enable(client)
51
51
  end
52
52
  client.start
53
+ Chillout.client = client
53
54
  end
54
55
 
55
56
  private
@@ -1,3 +1,3 @@
1
1
  module Chillout
2
- VERSION = "0.8.5.1"
2
+ VERSION = "0.8.6"
3
3
  end
@@ -0,0 +1,29 @@
1
+ require 'test_helper'
2
+
3
+ class ClientSendsAdvancedMetricsTest < AcceptanceTestCase
4
+
5
+ def test_client_sends_advanced_metrics
6
+ test_app = TestApp.new
7
+ test_endpoint = TestEndpoint.new(port: 8084)
8
+ test_user = TestUser.new
9
+
10
+ test_endpoint.listen
11
+ test_app.boot(chillout_port: 8084)
12
+ if ENV['STRATEGY'] != 'active_job'
13
+ assert test_endpoint.has_received_information_about_startup
14
+ end
15
+ test_user.purchase
16
+ assert measurement = test_endpoint.has_one_purchase
17
+ assert_equal "purchases", measurement["series"]
18
+
19
+ assert_equal "USA", measurement["tags"]["country"]
20
+ assert_equal "KATE-123", measurement["tags"]["terminal"]
21
+
22
+ assert_equal 4, measurement["values"]["number_of_products"]
23
+ assert_equal 55.70, measurement["values"]["total_amount"]
24
+ assert_equal 5.70, measurement["values"]["tax"]
25
+ ensure
26
+ test_app.shutdown if test_app
27
+ end
28
+
29
+ end
@@ -0,0 +1,91 @@
1
+ require 'test_helper'
2
+ require 'chillout/custom_advanced_metric'
3
+
4
+ module Chillout
5
+ class CustomAdvancedMetricTest < ChilloutTestCase
6
+ def setup
7
+ @time = Time.now.utc
8
+ end
9
+
10
+ def test_basic_scenario
11
+ m = CustomAdvancedMetric.new(
12
+ series: "who",
13
+ tags: {
14
+ let: "the_dog",
15
+ },
16
+ values: {
17
+ out: 1,
18
+ we: "did",
19
+ },
20
+ timestamp: @time
21
+ ).as_measurements
22
+
23
+ assert_equal m, [{
24
+ series: "who",
25
+ tags: {
26
+ let: "the_dog",
27
+ },
28
+ values: {
29
+ out: 1,
30
+ we: "did",
31
+ },
32
+ timestamp: @time,
33
+ }]
34
+ end
35
+
36
+ def test_tags
37
+ m = CustomAdvancedMetric.new(
38
+ series: "who",
39
+ tags: [["1", "two"]],
40
+ values: {},
41
+ timestamp: @time
42
+ ).as_measurements
43
+
44
+ assert_equal m.first.fetch(:tags), {"1" => "two"}
45
+ end
46
+
47
+ def test_values
48
+ m = CustomAdvancedMetric.new(
49
+ series: "who",
50
+ tags: [],
51
+ values: [[:dog, 3]],
52
+ timestamp: @time
53
+ ).as_measurements
54
+
55
+ assert_equal m.first.fetch(:values), {dog: 3}
56
+ end
57
+
58
+ def test_invalid_series
59
+ assert_raises ArgumentError do
60
+ CustomAdvancedMetric.new(
61
+ series: Object.new,
62
+ tags: {
63
+ let: "the_dog",
64
+ },
65
+ values: {
66
+ out: 1,
67
+ we: "did",
68
+ },
69
+ timestamp: @time
70
+ )
71
+ end
72
+ end
73
+
74
+ def test_invalid_series
75
+ assert_raises NoMethodError do
76
+ CustomAdvancedMetric.new(
77
+ series: Object.new,
78
+ tags: {
79
+ let: "the_dog",
80
+ },
81
+ values: {
82
+ out: 1,
83
+ we: "did",
84
+ },
85
+ timestamp: @time
86
+ )
87
+ end
88
+ end
89
+
90
+ end
91
+ end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
- end
3
+ resources :purchases, only: %i(create)
4
+ end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -0,0 +1,18 @@
1
+ class PurchasesController < ApplicationController
2
+ def create
3
+ Chillout::Metric.push(
4
+ series: "purchases",
5
+ tags: {
6
+ country: "USA",
7
+ terminal: "KATE-123",
8
+ },
9
+ timestamp: Time.now.utc,
10
+ values: {
11
+ number_of_products: 4,
12
+ total_amount: 55.70,
13
+ tax: 5.70,
14
+ },
15
+ )
16
+ head :ok
17
+ end
18
+ end
@@ -1,3 +1,4 @@
1
1
  Rails400::Application.routes.draw do
2
2
  resources :entities
3
+ resources :purchases, only: %i(create)
3
4
  end
@@ -67,6 +67,12 @@ class TestUser
67
67
  end
68
68
  end
69
69
 
70
+ def purchase
71
+ Net::HTTP.start('127.0.0.1', 3000) do |http|
72
+ http.post('/purchases', "")
73
+ end
74
+ end
75
+
70
76
  end
71
77
 
72
78
  class TestApp
@@ -188,6 +194,19 @@ class TestEndpoint
188
194
  false
189
195
  end
190
196
 
197
+ def has_one_purchase
198
+ 10.times do
199
+ begin
200
+ many = metrics.pop(true)
201
+ metric = many["measurements"].find{|m| m["series"] == "purchases" }
202
+ return metric if metric
203
+ rescue ThreadError
204
+ sleep(1)
205
+ end
206
+ end
207
+ false
208
+ end
209
+
191
210
  def has_one_controller_metric
192
211
  10.times do
193
212
  begin
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chillout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.5.1
4
+ version: 0.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Lomnicki
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-07-12 00:00:00.000000000 Z
14
+ date: 2017-07-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: multi_json
@@ -206,6 +206,7 @@ files:
206
206
  - lib/chillout/config.rb
207
207
  - lib/chillout/creation_listener.rb
208
208
  - lib/chillout/creations_container.rb
209
+ - lib/chillout/custom_advanced_metric.rb
209
210
  - lib/chillout/generators/install.rb
210
211
  - lib/chillout/integrations/sidekiq.rb
211
212
  - lib/chillout/job.rb
@@ -223,6 +224,7 @@ files:
223
224
  - lib/chillout/tasks.rb
224
225
  - lib/chillout/version.rb
225
226
  - lib/chillout/worker.rb
227
+ - test/acceptance/client_sends_advanced_metrics_test.rb
226
228
  - test/acceptance/client_sends_controller_performance_test.rb
227
229
  - test/acceptance/client_sends_metrics_test.rb
228
230
  - test/acceptance/sidekiq_workers_send_metrics_test.rb
@@ -231,6 +233,7 @@ files:
231
233
  - test/client_test.rb
232
234
  - test/config_test.rb
233
235
  - test/creations_container_test.rb
236
+ - test/custom_advanced_metric_test.rb
234
237
  - test/dispatcher_test.rb
235
238
  - test/http_client_test.rb
236
239
  - test/integration/client_test.rb
@@ -248,6 +251,7 @@ files:
248
251
  - test/support/rails_4_0_0/app/controllers/application_controller.rb
249
252
  - test/support/rails_4_0_0/app/controllers/concerns/.keep
250
253
  - test/support/rails_4_0_0/app/controllers/entities_controller.rb
254
+ - test/support/rails_4_0_0/app/controllers/purchases_controller.rb
251
255
  - test/support/rails_4_0_0/app/helpers/application_helper.rb
252
256
  - test/support/rails_4_0_0/app/models/.keep
253
257
  - test/support/rails_4_0_0/app/models/concerns/.keep
@@ -292,6 +296,7 @@ files:
292
296
  - test/support/rails_4_0_13/app/controllers/application_controller.rb
293
297
  - test/support/rails_4_0_13/app/controllers/concerns/.keep
294
298
  - test/support/rails_4_0_13/app/controllers/entities_controller.rb
299
+ - test/support/rails_4_0_13/app/controllers/purchases_controller.rb
295
300
  - test/support/rails_4_0_13/app/helpers/application_helper.rb
296
301
  - test/support/rails_4_0_13/app/models/.keep
297
302
  - test/support/rails_4_0_13/app/models/concerns/.keep
@@ -336,6 +341,7 @@ files:
336
341
  - test/support/rails_4_1_0/app/controllers/application_controller.rb
337
342
  - test/support/rails_4_1_0/app/controllers/concerns/.keep
338
343
  - test/support/rails_4_1_0/app/controllers/entities_controller.rb
344
+ - test/support/rails_4_1_0/app/controllers/purchases_controller.rb
339
345
  - test/support/rails_4_1_0/app/helpers/application_helper.rb
340
346
  - test/support/rails_4_1_0/app/models/.keep
341
347
  - test/support/rails_4_1_0/app/models/concerns/.keep
@@ -380,6 +386,7 @@ files:
380
386
  - test/support/rails_4_1_16/app/controllers/application_controller.rb
381
387
  - test/support/rails_4_1_16/app/controllers/concerns/.keep
382
388
  - test/support/rails_4_1_16/app/controllers/entities_controller.rb
389
+ - test/support/rails_4_1_16/app/controllers/purchases_controller.rb
383
390
  - test/support/rails_4_1_16/app/helpers/application_helper.rb
384
391
  - test/support/rails_4_1_16/app/models/.keep
385
392
  - test/support/rails_4_1_16/app/models/concerns/.keep
@@ -424,6 +431,7 @@ files:
424
431
  - test/support/rails_4_2_0/app/controllers/application_controller.rb
425
432
  - test/support/rails_4_2_0/app/controllers/concerns/.keep
426
433
  - test/support/rails_4_2_0/app/controllers/entities_controller.rb
434
+ - test/support/rails_4_2_0/app/controllers/purchases_controller.rb
427
435
  - test/support/rails_4_2_0/app/helpers/application_helper.rb
428
436
  - test/support/rails_4_2_0/app/jobs/create_entity_job.rb
429
437
  - test/support/rails_4_2_0/app/models/.keep
@@ -469,6 +477,7 @@ files:
469
477
  - test/support/rails_4_2_8/app/controllers/application_controller.rb
470
478
  - test/support/rails_4_2_8/app/controllers/concerns/.keep
471
479
  - test/support/rails_4_2_8/app/controllers/entities_controller.rb
480
+ - test/support/rails_4_2_8/app/controllers/purchases_controller.rb
472
481
  - test/support/rails_4_2_8/app/helpers/application_helper.rb
473
482
  - test/support/rails_4_2_8/app/jobs/create_entity_job.rb
474
483
  - test/support/rails_4_2_8/app/models/.keep
@@ -514,6 +523,7 @@ files:
514
523
  - test/support/rails_5_0_3/app/controllers/application_controller.rb
515
524
  - test/support/rails_5_0_3/app/controllers/concerns/.keep
516
525
  - test/support/rails_5_0_3/app/controllers/entities_controller.rb
526
+ - test/support/rails_5_0_3/app/controllers/purchases_controller.rb
517
527
  - test/support/rails_5_0_3/app/helpers/application_helper.rb
518
528
  - test/support/rails_5_0_3/app/jobs/create_entity_job.rb
519
529
  - test/support/rails_5_0_3/app/models/.keep
@@ -559,6 +569,7 @@ files:
559
569
  - test/support/rails_5_1_1/app/controllers/application_controller.rb
560
570
  - test/support/rails_5_1_1/app/controllers/concerns/.keep
561
571
  - test/support/rails_5_1_1/app/controllers/entities_controller.rb
572
+ - test/support/rails_5_1_1/app/controllers/purchases_controller.rb
562
573
  - test/support/rails_5_1_1/app/helpers/application_helper.rb
563
574
  - test/support/rails_5_1_1/app/jobs/create_entity_job.rb
564
575
  - test/support/rails_5_1_1/app/models/.keep
@@ -620,11 +631,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
620
631
  version: '0'
621
632
  requirements: []
622
633
  rubyforge_project:
623
- rubygems_version: 2.5.2
634
+ rubygems_version: 2.6.12
624
635
  signing_key:
625
636
  specification_version: 4
626
637
  summary: Chillout.io Ruby client
627
638
  test_files:
639
+ - test/acceptance/client_sends_advanced_metrics_test.rb
628
640
  - test/acceptance/client_sends_controller_performance_test.rb
629
641
  - test/acceptance/client_sends_metrics_test.rb
630
642
  - test/acceptance/sidekiq_workers_send_metrics_test.rb
@@ -633,6 +645,7 @@ test_files:
633
645
  - test/client_test.rb
634
646
  - test/config_test.rb
635
647
  - test/creations_container_test.rb
648
+ - test/custom_advanced_metric_test.rb
636
649
  - test/dispatcher_test.rb
637
650
  - test/http_client_test.rb
638
651
  - test/integration/client_test.rb
@@ -650,6 +663,7 @@ test_files:
650
663
  - test/support/rails_4_0_0/app/controllers/application_controller.rb
651
664
  - test/support/rails_4_0_0/app/controllers/concerns/.keep
652
665
  - test/support/rails_4_0_0/app/controllers/entities_controller.rb
666
+ - test/support/rails_4_0_0/app/controllers/purchases_controller.rb
653
667
  - test/support/rails_4_0_0/app/helpers/application_helper.rb
654
668
  - test/support/rails_4_0_0/app/models/.keep
655
669
  - test/support/rails_4_0_0/app/models/concerns/.keep
@@ -694,6 +708,7 @@ test_files:
694
708
  - test/support/rails_4_0_13/app/controllers/application_controller.rb
695
709
  - test/support/rails_4_0_13/app/controllers/concerns/.keep
696
710
  - test/support/rails_4_0_13/app/controllers/entities_controller.rb
711
+ - test/support/rails_4_0_13/app/controllers/purchases_controller.rb
697
712
  - test/support/rails_4_0_13/app/helpers/application_helper.rb
698
713
  - test/support/rails_4_0_13/app/models/.keep
699
714
  - test/support/rails_4_0_13/app/models/concerns/.keep
@@ -738,6 +753,7 @@ test_files:
738
753
  - test/support/rails_4_1_0/app/controllers/application_controller.rb
739
754
  - test/support/rails_4_1_0/app/controllers/concerns/.keep
740
755
  - test/support/rails_4_1_0/app/controllers/entities_controller.rb
756
+ - test/support/rails_4_1_0/app/controllers/purchases_controller.rb
741
757
  - test/support/rails_4_1_0/app/helpers/application_helper.rb
742
758
  - test/support/rails_4_1_0/app/models/.keep
743
759
  - test/support/rails_4_1_0/app/models/concerns/.keep
@@ -782,6 +798,7 @@ test_files:
782
798
  - test/support/rails_4_1_16/app/controllers/application_controller.rb
783
799
  - test/support/rails_4_1_16/app/controllers/concerns/.keep
784
800
  - test/support/rails_4_1_16/app/controllers/entities_controller.rb
801
+ - test/support/rails_4_1_16/app/controllers/purchases_controller.rb
785
802
  - test/support/rails_4_1_16/app/helpers/application_helper.rb
786
803
  - test/support/rails_4_1_16/app/models/.keep
787
804
  - test/support/rails_4_1_16/app/models/concerns/.keep
@@ -826,6 +843,7 @@ test_files:
826
843
  - test/support/rails_4_2_0/app/controllers/application_controller.rb
827
844
  - test/support/rails_4_2_0/app/controllers/concerns/.keep
828
845
  - test/support/rails_4_2_0/app/controllers/entities_controller.rb
846
+ - test/support/rails_4_2_0/app/controllers/purchases_controller.rb
829
847
  - test/support/rails_4_2_0/app/helpers/application_helper.rb
830
848
  - test/support/rails_4_2_0/app/jobs/create_entity_job.rb
831
849
  - test/support/rails_4_2_0/app/models/.keep
@@ -871,6 +889,7 @@ test_files:
871
889
  - test/support/rails_4_2_8/app/controllers/application_controller.rb
872
890
  - test/support/rails_4_2_8/app/controllers/concerns/.keep
873
891
  - test/support/rails_4_2_8/app/controllers/entities_controller.rb
892
+ - test/support/rails_4_2_8/app/controllers/purchases_controller.rb
874
893
  - test/support/rails_4_2_8/app/helpers/application_helper.rb
875
894
  - test/support/rails_4_2_8/app/jobs/create_entity_job.rb
876
895
  - test/support/rails_4_2_8/app/models/.keep
@@ -916,6 +935,7 @@ test_files:
916
935
  - test/support/rails_5_0_3/app/controllers/application_controller.rb
917
936
  - test/support/rails_5_0_3/app/controllers/concerns/.keep
918
937
  - test/support/rails_5_0_3/app/controllers/entities_controller.rb
938
+ - test/support/rails_5_0_3/app/controllers/purchases_controller.rb
919
939
  - test/support/rails_5_0_3/app/helpers/application_helper.rb
920
940
  - test/support/rails_5_0_3/app/jobs/create_entity_job.rb
921
941
  - test/support/rails_5_0_3/app/models/.keep
@@ -961,6 +981,7 @@ test_files:
961
981
  - test/support/rails_5_1_1/app/controllers/application_controller.rb
962
982
  - test/support/rails_5_1_1/app/controllers/concerns/.keep
963
983
  - test/support/rails_5_1_1/app/controllers/entities_controller.rb
984
+ - test/support/rails_5_1_1/app/controllers/purchases_controller.rb
964
985
  - test/support/rails_5_1_1/app/helpers/application_helper.rb
965
986
  - test/support/rails_5_1_1/app/jobs/create_entity_job.rb
966
987
  - test/support/rails_5_1_1/app/models/.keep