roqua-support 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +13 -60
  3. data/.rspec +0 -0
  4. data/.travis.yml +0 -0
  5. data/Appraisals +10 -10
  6. data/CHANGELOG.md +24 -0
  7. data/Gemfile +4 -4
  8. data/Gemfile.lock +132 -123
  9. data/LICENSE.txt +0 -0
  10. data/README.md +23 -0
  11. data/circle.yml +0 -0
  12. data/gemfiles/rails52.gemfile +8 -6
  13. data/gemfiles/rails60.gemfile +23 -0
  14. data/gemfiles/{rails42.gemfile → rails61.gemfile} +8 -7
  15. data/lib/roqua-support/version.rb +1 -1
  16. data/lib/roqua/core_ext/active_interaction/filters/date_time_as_unix_extension.rb +4 -4
  17. data/lib/roqua/core_ext/active_interaction/filters/duration_filter.rb +0 -0
  18. data/lib/roqua/core_ext/active_interaction/rails_instrumentation.rb +0 -0
  19. data/lib/roqua/core_ext/activerecord/uniq_find_or_create.rb +0 -0
  20. data/lib/roqua/core_ext/enumerable/sort_by_alphanum.rb +0 -0
  21. data/lib/roqua/core_ext/fabrication/singleton.rb +0 -0
  22. data/lib/roqua/probes/base_probe.rb +1 -1
  23. data/lib/roqua/responders/active_interaction_aware_responder.rb +0 -0
  24. data/lib/roqua/responders/api_errors_responder.rb +0 -0
  25. data/lib/roqua/scheduling/scheduler.rb +7 -2
  26. data/lib/roqua/support/command_runner.rb +0 -0
  27. data/lib/roqua/support/errors.rb +5 -1
  28. data/lib/roqua/support/instrumentation.rb +0 -0
  29. data/lib/roqua/support/log_wrapper.rb +0 -0
  30. data/lib/roqua/support/request_logger.rb +0 -0
  31. data/lib/roqua/support/stats.rb +0 -0
  32. data/lib/roqua/support/stats/hosted_graphite_backend.rb +0 -0
  33. data/lib/roqua/type.rb +7 -0
  34. data/lib/roqua/type/stripped_string.rb +34 -0
  35. data/lib/roqua/validators/subset_validator.rb +1 -1
  36. data/roqua-support.gemspec +5 -5
  37. data/spec/roqua/core_ext/active_interaction/date_time_as_unix_extension_spec.rb +0 -0
  38. data/spec/roqua/core_ext/active_interaction/duration_filter_spec.rb +0 -0
  39. data/spec/roqua/core_ext/active_interaction/rails_intrumentation_spec.rb +0 -0
  40. data/spec/roqua/probes/delayed_job_probe_spec.rb +1 -1
  41. data/spec/roqua/probes/monitoring_probe_spec.rb +1 -1
  42. data/spec/roqua/responders/active_interaction_aware_responder_spec.rb +0 -0
  43. data/spec/roqua/responders/api_errors_responder_spec.rb +0 -0
  44. data/spec/roqua/scheduling/scheduler_spec.rb +3 -2
  45. data/spec/roqua/support/errors_spec.rb +8 -2
  46. data/spec/roqua/support/stats_spec.rb +0 -0
  47. data/spec/roqua/type/stripped_string_spec.rb +34 -0
  48. data/spec/roqua/validators/subset_validator_spec.rb +0 -0
  49. metadata +36 -35
  50. data/gemfiles/rails50.gemfile +0 -22
  51. data/gemfiles/rails51.gemfile +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5997425ea5b975ef1adf4b17e10d3d6c44bbdaa6507f696db1a5aad1ddf9513
4
- data.tar.gz: cc565728bb3fc02e707b92d8ab507c996a793f9c6d5d16b0e6d8cfed1462ae70
3
+ metadata.gz: ba331b8cd7288dd98818cc40f6bd94eb5a7b4de085536b2acaae63be5fa7bf68
4
+ data.tar.gz: d003572377199b362bb14c681620013f7db75edf7a02a6be2a3661b4dae17edb
5
5
  SHA512:
6
- metadata.gz: c9fc30367ece67f45800e8ab586f86f8aed50f8033be899265c5a03a87318ebdb960b87652c69dbb03da28c419242dffa1aa6977e82708b6e33a3b9ff445c352
7
- data.tar.gz: 28c2f803f644b2244908cc52b5326074298e81b31c8e0f3f9cd6ac9a422dab00e51ac3d1e4383f2b09516fdc045bafe6b52cde2e3cf22353608d284ce9e046d9
6
+ metadata.gz: 2f5ca88d5af226aca07fb1d8b212c15ece4b719d13dbbe0bd64fff263c50b8e50d4ed857058694b594d444f100c0e5bc01a59775579d382d3060b6f5b04950fa
7
+ data.tar.gz: 15a161ebb389456b0e3a91ac7f9545c43091596793c03d7167bb6b00532e54cac5a4d7c0f520b12dd89aab8905d2ab21d446cf6e40f09029e9a1c6d8bd84ab7a
data/.gitlab-ci.yml CHANGED
@@ -2,78 +2,31 @@ variables:
2
2
  RAILS_ENV: "test"
3
3
 
4
4
  before_script:
5
+ - if [ -x "$(command -v apk)" ]; then apk add sqlite-dev; fi
5
6
  - export BUNDLE_PATH=$CI_PROJECT_DIR/.gems
6
7
  - bundle --jobs 2 --retry 3
7
- - bundle exec appraisal
8
- - bundle --jobs 2 --retry 3
9
-
10
- .ruby_23: &ruby_23
11
- image: registry.roqua.nl/roqua/roqua-build-images:ruby-2.3-rails-base-test
12
- cache:
13
- key: ruby_23
14
- paths:
15
- - .gems
8
+ - bundle exec appraisal install
16
9
 
17
- .ruby_24: &ruby_24
18
- image: registry.roqua.nl/roqua/roqua-build-images:ruby-2.4-rails-base-test
19
- cache:
20
- key: ruby_24
21
- paths:
22
- - .gems
23
10
 
24
- .ruby_25: &ruby_25
25
- image: registry.roqua.nl/roqua/docker-base-images:ruby-2.5
11
+ .ruby_27: &ruby_27
12
+ image: registry.roqua.nl/roqua/docker-base-images:ruby-2.7-builder
26
13
  cache:
27
- key: ruby_25
14
+ key: ruby_27
28
15
  paths:
29
16
  - .gems
30
17
 
31
- rails_42_ruby_23:
32
- <<: *ruby_23
33
- script:
34
- - bundle exec appraisal rails42 bundle exec rspec
35
-
36
- rails_50_ruby_23:
37
- <<: *ruby_23
38
- script:
39
- - bundle exec appraisal rails50 bundle exec rspec
40
18
 
41
- rails_50_ruby_24:
42
- <<: *ruby_24
43
- script:
44
- - bundle exec appraisal rails50 bundle exec rspec
45
-
46
- rails_50_ruby_25:
47
- <<: *ruby_25
48
- script:
49
- - bundle exec appraisal rails50 bundle exec rspec
50
-
51
- rails_51_ruby_23:
52
- <<: *ruby_23
53
- script:
54
- - bundle exec appraisal rails51 bundle exec rspec
55
-
56
- rails_51_ruby_24:
57
- <<: *ruby_24
58
- script:
59
- - bundle exec appraisal rails51 bundle exec rspec
60
-
61
- rails_51_ruby_25:
62
- <<: *ruby_25
63
- script:
64
- - bundle exec appraisal rails51 bundle exec rspec
65
-
66
- rails_52_ruby_23:
67
- <<: *ruby_23
19
+ rails_52_ruby_27:
20
+ <<: *ruby_27
68
21
  script:
69
22
  - bundle exec appraisal rails52 bundle exec rspec
70
23
 
71
- rails_52_ruby_24:
72
- <<: *ruby_24
24
+ rails_60_ruby_27:
25
+ <<: *ruby_27
73
26
  script:
74
- - bundle exec appraisal rails52 bundle exec rspec
27
+ - bundle exec appraisal rails60 bundle exec rspec
75
28
 
76
- rails_52_ruby_25:
77
- <<: *ruby_25
29
+ rails_61_ruby_27:
30
+ <<: *ruby_27
78
31
  script:
79
- - bundle exec appraisal rails52 bundle exec rspec
32
+ - bundle exec appraisal rails61 bundle exec rspec
data/.rspec CHANGED
File without changes
data/.travis.yml CHANGED
File without changes
data/Appraisals CHANGED
@@ -1,15 +1,15 @@
1
- appraise "rails42" do
2
- gem "activesupport", "~> 4.2.10"
3
- end
4
-
5
- appraise "rails50" do
6
- gem "activesupport", "~> 5.0.0"
1
+ appraise "rails52" do
2
+ gem "active_interaction", "~> 3.0"
3
+ gem "activesupport", "~> 5.2.0"
4
+ gem 'appsignal', '~> 2.9.8' # test each minor versions we support
7
5
  end
8
6
 
9
- appraise "rails51" do
10
- gem "activesupport", "~> 5.1.0"
7
+ appraise "rails60" do
8
+ gem "activesupport", "~> 6.0.0"
9
+ gem 'appsignal', '~> 2.10.6'
11
10
  end
12
11
 
13
- appraise "rails52" do
14
- gem "activesupport", "~> 5.2.0"
12
+ appraise "rails61" do
13
+ gem "activesupport", "~> 6.1.0"
14
+ gem 'appsignal', '~> 3.0.0'
15
15
  end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## 0.4.0
2
+
3
+ * Remove support for ruby 2.5 and 2.6
4
+ * Add stripped_string type (attributes api)
5
+ * Add support for appsignal v3
6
+ * Add support for active_interaction v4
7
+
8
+ ## 0.3.5
9
+
10
+ * Update AppSignal gauge for every minute the probe runs
11
+
12
+ ## 0.3.4
13
+
14
+ * gemspec and tests: Removed rails 4.2 and 5.0, remove ruby 2.3 and 2.4, added ruby 2.6, allow appsignal 2.10
15
+
16
+ ## 0.3.3
17
+
18
+ * Added support for hl7 namespace when reporting errors
19
+
20
+ ## 0.3.2
21
+
22
+ * Use tags for better appsignal metrics
23
+ * Require Appsignal 2.9 to avoid probe registration problems
24
+
1
25
  ## 0.3.1
2
26
 
3
27
  * Added Appsignal counters for probe calls and scheduling probe call tasks in particular.
data/Gemfile CHANGED
@@ -4,14 +4,14 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'appraisal'
7
- gem 'roqua_styleguide', git: 'https://gitlab.roqua.nl/roqua/styleguide.git'
7
+ # fix so long as we support ruby 2.6 and ealier.
8
+ gem 'roqua_styleguide', git: 'https://gitlab.roqua.nl/roqua/styleguide.git', ref: '9662550'
8
9
 
9
10
  group :test do
11
+ gem 'sqlite3'
10
12
  gem 'actionpack', '>= 4.0'
11
- gem 'active_interaction', '~> 3.0'
12
- gem 'appsignal', '~> 2.9.6'
13
13
  gem 'climate_control' # For ENV modification in specs
14
- gem 'combustion', '~> 0.5.2'
14
+ gem 'combustion', '~> 1.1.1'
15
15
  gem 'fakefs', require: 'fakefs/safe'
16
16
  gem 'guard-rspec', '~> 4.2.6'
17
17
  gem 'responders'
data/Gemfile.lock CHANGED
@@ -1,78 +1,81 @@
1
1
  GIT
2
2
  remote: https://gitlab.roqua.nl/roqua/styleguide.git
3
- revision: e1fbbb611484e295719ed91c4eef889753ac8d8f
3
+ revision: 9662550201987db20c03e300eddb34d8ad035613
4
+ ref: 9662550
4
5
  specs:
5
- roqua_styleguide (0.0.6)
6
- rubocop (~> 0.50.0)
6
+ roqua_styleguide (0.0.8)
7
+ rubocop (~> 0.90.0)
8
+ rubocop-rails
7
9
 
8
10
  PATH
9
11
  remote: .
10
12
  specs:
11
- roqua-support (0.3.0)
12
- active_interaction (~> 3.0)
13
- activesupport (>= 3.2, < 6)
13
+ roqua-support (0.4.0)
14
+ active_interaction (>= 3.0, < 5.0)
15
+ activesupport (>= 5.2, < 6.2)
16
+ appsignal (>= 2.9, < 3.1)
14
17
  naught (~> 1.0)
15
18
  with_advisory_lock (~> 3.2)
16
19
 
17
20
  GEM
18
21
  remote: https://rubygems.org/
19
22
  specs:
20
- actionpack (5.0.1)
21
- actionview (= 5.0.1)
22
- activesupport (= 5.0.1)
23
- rack (~> 2.0)
24
- rack-test (~> 0.6.3)
23
+ actionpack (6.0.2.2)
24
+ actionview (= 6.0.2.2)
25
+ activesupport (= 6.0.2.2)
26
+ rack (~> 2.0, >= 2.0.8)
27
+ rack-test (>= 0.6.3)
25
28
  rails-dom-testing (~> 2.0)
26
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
- actionview (5.0.1)
28
- activesupport (= 5.0.1)
29
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
30
+ actionview (6.0.2.2)
31
+ activesupport (= 6.0.2.2)
29
32
  builder (~> 3.1)
30
- erubis (~> 2.7.0)
33
+ erubi (~> 1.4)
31
34
  rails-dom-testing (~> 2.0)
32
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
33
- active_interaction (3.4.0)
34
- activemodel (>= 4, < 6)
35
- activemodel (5.0.1)
36
- activesupport (= 5.0.1)
37
- activerecord (5.0.1)
38
- activemodel (= 5.0.1)
39
- activesupport (= 5.0.1)
40
- arel (~> 7.0)
41
- activesupport (5.0.1)
35
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
36
+ active_interaction (4.0.0)
37
+ activemodel (>= 5, < 7)
38
+ activemodel (6.0.2.2)
39
+ activesupport (= 6.0.2.2)
40
+ activerecord (6.0.2.2)
41
+ activemodel (= 6.0.2.2)
42
+ activesupport (= 6.0.2.2)
43
+ activesupport (6.0.2.2)
42
44
  concurrent-ruby (~> 1.0, >= 1.0.2)
43
- i18n (~> 0.7)
45
+ i18n (>= 0.7, < 2)
44
46
  minitest (~> 5.1)
45
47
  tzinfo (~> 1.1)
46
- appraisal (2.1.0)
48
+ zeitwerk (~> 2.2)
49
+ appraisal (2.2.0)
47
50
  bundler
48
51
  rake
49
52
  thor (>= 0.14.0)
50
- appsignal (2.9.6)
53
+ appsignal (3.0.2)
51
54
  rack
52
- arel (7.1.4)
53
- ast (2.3.0)
54
- builder (3.2.3)
55
+ ast (2.4.2)
56
+ builder (3.2.4)
55
57
  climate_control (0.2.0)
56
- coderay (1.1.1)
57
- combustion (0.5.5)
58
+ coderay (1.1.2)
59
+ combustion (1.1.2)
58
60
  activesupport (>= 3.0.0)
59
61
  railties (>= 3.0.0)
60
62
  thor (>= 0.14.6)
61
- concurrent-ruby (1.0.4)
62
- delayed_job (4.1.4)
63
- activesupport (>= 3.0, < 5.2)
64
- delayed_job_active_record (4.1.2)
65
- activerecord (>= 3.0, < 5.2)
63
+ concurrent-ruby (1.1.8)
64
+ crass (1.0.6)
65
+ delayed_job (4.1.8)
66
+ activesupport (>= 3.0, < 6.1)
67
+ delayed_job_active_record (4.1.4)
68
+ activerecord (>= 3.0, < 6.1)
66
69
  delayed_job (>= 3.0, < 5)
67
70
  diff-lcs (1.3)
68
- erubis (2.7.0)
69
- fakefs (0.15.0)
70
- ffi (1.9.17)
71
+ erubi (1.9.0)
72
+ fakefs (1.2.2)
73
+ ffi (1.12.2)
71
74
  formatador (0.2.5)
72
- guard (2.14.0)
75
+ guard (2.16.2)
73
76
  formatador (>= 0.2.4)
74
77
  listen (>= 2.7, < 4.0)
75
- lumberjack (~> 1.0)
78
+ lumberjack (>= 1.0.12, < 2.0)
76
79
  nenv (~> 0.1)
77
80
  notiffany (~> 0.0)
78
81
  pry (>= 0.9.12)
@@ -81,110 +84,116 @@ GEM
81
84
  guard-rspec (4.2.10)
82
85
  guard (~> 2.1)
83
86
  rspec (>= 2.14, < 4.0)
84
- i18n (0.7.0)
85
- listen (3.1.5)
86
- rb-fsevent (~> 0.9, >= 0.9.4)
87
- rb-inotify (~> 0.9, >= 0.9.7)
88
- ruby_dep (~> 1.2)
89
- loofah (2.0.3)
87
+ i18n (1.8.10)
88
+ concurrent-ruby (~> 1.0)
89
+ listen (3.2.1)
90
+ rb-fsevent (~> 0.10, >= 0.10.3)
91
+ rb-inotify (~> 0.9, >= 0.9.10)
92
+ loofah (2.5.0)
93
+ crass (~> 1.0.2)
90
94
  nokogiri (>= 1.5.9)
91
- lumberjack (1.0.11)
92
- method_source (0.8.2)
93
- mini_portile2 (2.1.0)
94
- minitest (5.10.1)
95
+ lumberjack (1.2.4)
96
+ method_source (1.0.0)
97
+ mini_portile2 (2.4.0)
98
+ minitest (5.14.4)
95
99
  naught (1.1.0)
96
100
  nenv (0.3.0)
97
- nokogiri (1.7.0.1)
98
- mini_portile2 (~> 2.1.0)
99
- notiffany (0.1.1)
101
+ nokogiri (1.10.9)
102
+ mini_portile2 (~> 2.4.0)
103
+ notiffany (0.1.3)
100
104
  nenv (~> 0.1)
101
105
  shellany (~> 0.0)
102
- parallel (1.12.0)
103
- parser (2.4.0.0)
104
- ast (~> 2.2)
105
- powerpack (0.1.1)
106
- pry (0.10.4)
107
- coderay (~> 1.1.0)
108
- method_source (~> 0.8.1)
109
- slop (~> 3.4)
110
- rack (2.0.1)
111
- rack-test (0.6.3)
112
- rack (>= 1.0)
113
- rails-dom-testing (2.0.2)
114
- activesupport (>= 4.2.0, < 6.0)
115
- nokogiri (~> 1.6)
116
- rails-html-sanitizer (1.0.3)
117
- loofah (~> 2.0)
118
- railties (5.0.1)
119
- actionpack (= 5.0.1)
120
- activesupport (= 5.0.1)
106
+ parallel (1.20.1)
107
+ parser (3.0.0.0)
108
+ ast (~> 2.4.1)
109
+ pry (0.13.1)
110
+ coderay (~> 1.1)
111
+ method_source (~> 1.0)
112
+ rack (2.2.3)
113
+ rack-test (1.1.0)
114
+ rack (>= 1.0, < 3)
115
+ rails-dom-testing (2.0.3)
116
+ activesupport (>= 4.2.0)
117
+ nokogiri (>= 1.6)
118
+ rails-html-sanitizer (1.3.0)
119
+ loofah (~> 2.3)
120
+ railties (6.0.2.2)
121
+ actionpack (= 6.0.2.2)
122
+ activesupport (= 6.0.2.2)
121
123
  method_source
122
124
  rake (>= 0.8.7)
123
- thor (>= 0.18.1, < 2.0)
124
- rainbow (2.2.2)
125
- rake
126
- rake (12.1.0)
127
- rb-fsevent (0.9.8)
128
- rb-inotify (0.9.7)
129
- ffi (>= 0.5.0)
130
- responders (2.3.0)
131
- railties (>= 4.2.0, < 5.1)
132
- rspec (3.5.0)
133
- rspec-core (~> 3.5.0)
134
- rspec-expectations (~> 3.5.0)
135
- rspec-mocks (~> 3.5.0)
136
- rspec-core (3.5.4)
137
- rspec-support (~> 3.5.0)
138
- rspec-expectations (3.5.0)
125
+ thor (>= 0.20.3, < 2.0)
126
+ rainbow (3.0.0)
127
+ rake (13.0.1)
128
+ rb-fsevent (0.10.4)
129
+ rb-inotify (0.10.1)
130
+ ffi (~> 1.0)
131
+ regexp_parser (2.1.1)
132
+ responders (3.0.0)
133
+ actionpack (>= 5.0)
134
+ railties (>= 5.0)
135
+ rexml (3.2.4)
136
+ rspec (3.9.0)
137
+ rspec-core (~> 3.9.0)
138
+ rspec-expectations (~> 3.9.0)
139
+ rspec-mocks (~> 3.9.0)
140
+ rspec-core (3.9.2)
141
+ rspec-support (~> 3.9.3)
142
+ rspec-expectations (3.9.1)
139
143
  diff-lcs (>= 1.2.0, < 2.0)
140
- rspec-support (~> 3.5.0)
141
- rspec-instrumentation-matcher (0.0.4)
144
+ rspec-support (~> 3.9.0)
145
+ rspec-instrumentation-matcher (0.0.9)
142
146
  activesupport
143
147
  rspec-expectations
144
- rspec-mocks (3.5.0)
148
+ rspec-mocks (3.9.1)
145
149
  diff-lcs (>= 1.2.0, < 2.0)
146
- rspec-support (~> 3.5.0)
147
- rspec-rails (3.5.2)
148
- actionpack (>= 3.0)
149
- activesupport (>= 3.0)
150
- railties (>= 3.0)
151
- rspec-core (~> 3.5.0)
152
- rspec-expectations (~> 3.5.0)
153
- rspec-mocks (~> 3.5.0)
154
- rspec-support (~> 3.5.0)
155
- rspec-support (3.5.0)
156
- rubocop (0.50.0)
150
+ rspec-support (~> 3.9.0)
151
+ rspec-rails (4.0.0)
152
+ actionpack (>= 4.2)
153
+ activesupport (>= 4.2)
154
+ railties (>= 4.2)
155
+ rspec-core (~> 3.9)
156
+ rspec-expectations (~> 3.9)
157
+ rspec-mocks (~> 3.9)
158
+ rspec-support (~> 3.9)
159
+ rspec-support (3.9.3)
160
+ rubocop (0.90.0)
157
161
  parallel (~> 1.10)
158
- parser (>= 2.3.3.1, < 3.0)
159
- powerpack (~> 0.1)
160
- rainbow (>= 2.2.2, < 3.0)
162
+ parser (>= 2.7.1.1)
163
+ rainbow (>= 2.2.2, < 4.0)
164
+ regexp_parser (>= 1.7)
165
+ rexml
166
+ rubocop-ast (>= 0.3.0, < 1.0)
161
167
  ruby-progressbar (~> 1.7)
162
- unicode-display_width (~> 1.0, >= 1.0.1)
163
- ruby-progressbar (1.8.3)
164
- ruby_dep (1.5.0)
168
+ unicode-display_width (>= 1.4.0, < 2.0)
169
+ rubocop-ast (0.8.0)
170
+ parser (>= 2.7.1.5)
171
+ rubocop-rails (2.9.1)
172
+ activesupport (>= 4.2.0)
173
+ rack (>= 1.1)
174
+ rubocop (>= 0.90.0, < 2.0)
175
+ ruby-progressbar (1.11.0)
165
176
  shellany (0.0.1)
166
- slop (3.6.0)
167
- sqlite3 (1.3.13)
168
- thor (0.19.4)
169
- thread_safe (0.3.5)
177
+ sqlite3 (1.4.2)
178
+ thor (1.0.1)
179
+ thread_safe (0.3.6)
170
180
  timecop (0.9.1)
171
- tzinfo (1.2.2)
181
+ tzinfo (1.2.9)
172
182
  thread_safe (~> 0.1)
173
- unicode-display_width (1.3.0)
183
+ unicode-display_width (1.7.0)
174
184
  with_advisory_lock (3.2.0)
175
185
  activerecord (>= 3.2)
186
+ zeitwerk (2.4.2)
176
187
 
177
188
  PLATFORMS
178
189
  ruby
179
190
 
180
191
  DEPENDENCIES
181
192
  actionpack (>= 4.0)
182
- active_interaction (~> 3.0)
183
193
  appraisal
184
- appsignal (~> 2.9.6)
185
- bundler (~> 1.0)
194
+ bundler (~> 2.0)
186
195
  climate_control
187
- combustion (~> 0.5.2)
196
+ combustion (~> 1.1.1)
188
197
  delayed_job_active_record
189
198
  fakefs
190
199
  guard-rspec (~> 4.2.6)
@@ -196,8 +205,8 @@ DEPENDENCIES
196
205
  rspec (>= 2.12.0, < 4.0)
197
206
  rspec-instrumentation-matcher
198
207
  rspec-rails
199
- sqlite3 (~> 1.3.6)
208
+ sqlite3
200
209
  timecop
201
210
 
202
211
  BUNDLED WITH
203
- 1.17.3
212
+ 2.1.4
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
@@ -104,6 +104,29 @@ class ApiAreaController < ApplicationController
104
104
  ...
105
105
  ```
106
106
 
107
+ ### Types
108
+
109
+ In initializer:
110
+
111
+ ```ruby
112
+ require 'roqua/type'
113
+ ```
114
+
115
+ In models:
116
+
117
+ ```ruby
118
+ # strip whitespace and nil if blank.
119
+ attribute :firstname, :stripped_string
120
+ # strip, but don't nil if blank.
121
+ attribute :firstname, :stripped_string, allow_empty: true
122
+ ```
123
+
124
+ #### option 2
125
+
126
+ `require 'roqua/type/stripped_string'`
127
+
128
+ `attribute :firstname, Roqua::Type::StrippedString.new(allow_empty: true)`
129
+
107
130
  # Delayed Job activity monitoring
108
131
 
109
132
  To add monitoring of whether Delayed Job keeps picking up jobs or checking for new jobs, add the following line to an initializer:
data/circle.yml CHANGED
File without changes
@@ -3,20 +3,22 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal"
6
- gem "roqua_styleguide", :git => "https://gitlab.roqua.nl/roqua/styleguide.git"
6
+ gem "roqua_styleguide", git: "https://gitlab.roqua.nl/roqua/styleguide.git", ref: "9662550"
7
+ gem "active_interaction", "~> 3.0"
7
8
  gem "activesupport", "~> 5.2.0"
9
+ gem "appsignal", "~> 2.9.8"
8
10
 
9
11
  group :test do
12
+ gem "sqlite3"
10
13
  gem "actionpack", ">= 4.0"
11
- gem "active_interaction", "~> 3.0"
12
- gem "appsignal"
13
14
  gem "climate_control"
14
- gem "combustion", "~> 0.5.2"
15
- gem "fakefs", :require => "fakefs/safe"
15
+ gem "combustion", "~> 1.1.1"
16
+ gem "fakefs", require: "fakefs/safe"
16
17
  gem "guard-rspec", "~> 4.2.6"
17
18
  gem "responders"
18
19
  gem "rspec-instrumentation-matcher"
19
20
  gem "rspec-rails"
21
+ gem "pry"
20
22
  end
21
23
 
22
- gemspec :path => "../"
24
+ gemspec path: "../"
@@ -0,0 +1,23 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "roqua_styleguide", git: "https://gitlab.roqua.nl/roqua/styleguide.git", ref: "9662550"
7
+ gem "activesupport", "~> 6.0.0"
8
+ gem "appsignal", "~> 2.10.6"
9
+
10
+ group :test do
11
+ gem "sqlite3"
12
+ gem "actionpack", ">= 4.0"
13
+ gem "climate_control"
14
+ gem "combustion", "~> 1.1.1"
15
+ gem "fakefs", require: "fakefs/safe"
16
+ gem "guard-rspec", "~> 4.2.6"
17
+ gem "responders"
18
+ gem "rspec-instrumentation-matcher"
19
+ gem "rspec-rails"
20
+ gem "pry"
21
+ end
22
+
23
+ gemspec path: "../"
@@ -3,20 +3,21 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal"
6
- gem "roqua_styleguide", :git => "https://gitlab.roqua.nl/roqua/styleguide.git"
7
- gem "activesupport", "~> 4.2.10"
6
+ gem "roqua_styleguide", git: "https://gitlab.roqua.nl/roqua/styleguide.git", ref: "9662550"
7
+ gem "activesupport", "~> 6.1.0"
8
+ gem "appsignal", "~> 3.0.0"
8
9
 
9
10
  group :test do
11
+ gem "sqlite3"
10
12
  gem "actionpack", ">= 4.0"
11
- gem "active_interaction", "~> 3.0"
12
- gem "appsignal"
13
13
  gem "climate_control"
14
- gem "combustion", "~> 0.5.2"
15
- gem "fakefs", :require => "fakefs/safe"
14
+ gem "combustion", "~> 1.1.1"
15
+ gem "fakefs", require: "fakefs/safe"
16
16
  gem "guard-rspec", "~> 4.2.6"
17
17
  gem "responders"
18
18
  gem "rspec-instrumentation-matcher"
19
19
  gem "rspec-rails"
20
+ gem "pry"
20
21
  end
21
22
 
22
- gemspec :path => "../"
23
+ gemspec path: "../"
@@ -1,5 +1,5 @@
1
1
  module Roqua
2
2
  module Support
3
- VERSION = '0.3.1'.freeze
3
+ VERSION = '0.4.0'.freeze
4
4
  end
5
5
  end
@@ -1,11 +1,11 @@
1
1
  # allow datetimes to be given as unix times for activeinteractions
2
2
  module RoquaDateTimeAsUnixFilterExtension
3
- def cast(value, interaction)
3
+ def cast(value, interaction, **options)
4
4
  case value
5
5
  when Numeric, /^[0-9]+$/
6
6
  Time.at(value.to_i).to_datetime
7
7
  when ''
8
- super(nil, interaction)
8
+ super(nil, interaction, **options)
9
9
  else
10
10
  super
11
11
  end
@@ -15,12 +15,12 @@ ActiveInteraction::DateTimeFilter.include RoquaDateTimeAsUnixFilterExtension
15
15
 
16
16
  # allow datetimes to be given as unix times as string
17
17
  module RoquaTimeAsUnixFilterExtension
18
- def cast(value, interaction)
18
+ def cast(value, interaction, **options)
19
19
  case value
20
20
  when /^[0-9]+$/
21
21
  Time.at(value.to_i)
22
22
  when ''
23
- super(nil, interaction)
23
+ super(nil, interaction, **options)
24
24
  else
25
25
  super
26
26
  end
File without changes
File without changes
@@ -17,7 +17,7 @@ module Roqua
17
17
  # do not override me, implement probes by implementing the #run method
18
18
  def call
19
19
  run
20
- Appsignal.increment_counter("probe.call.completed.#{self.class.name.demodulize.underscore}", 1)
20
+ Appsignal.increment_counter("probe.call.completed", 1, probe_name: self.class.name.demodulize.underscore)
21
21
  end
22
22
  end
23
23
  end
File without changes
@@ -11,6 +11,8 @@ class Roqua::Scheduling::Scheduler
11
11
  raise ex if Rails.env.test?
12
12
  end
13
13
  end
14
+
15
+ Appsignal.increment_counter("scheduler.completed", 1)
14
16
  end
15
17
  end
16
18
 
@@ -27,7 +29,10 @@ class Roqua::Scheduling::Scheduler
27
29
  end
28
30
 
29
31
  def advisory_lock_name
30
- "#{ActiveRecord::Base.connection_config[:database]}_cron_lock"
32
+ db_name = ActiveRecord::Base.respond_to?(:connection_db_config) \
33
+ ? ActiveRecord::Base.connection_db_config.database
34
+ : ActiveRecord::Base.connection_config[:database]
35
+ "#{db_name}_cron_lock"
31
36
  end
32
37
 
33
38
  private
@@ -42,7 +47,7 @@ class Roqua::Scheduling::Scheduler
42
47
  task = schedule.tasks[cron_job.name]
43
48
  task.run
44
49
 
45
- Appsignal.increment_counter("scheduler.run_task.completed.#{task.name}", 1)
50
+ Appsignal.increment_counter("scheduler.run_task.completed", 1, task_name: task.name)
46
51
  cron_job.update completed_at: Time.now, next_run_at: task.next_run_at
47
52
  end
48
53
  end
File without changes
@@ -33,6 +33,7 @@ module Roqua
33
33
  case category
34
34
  when :background then Appsignal::Transaction::BACKGROUND_JOB
35
35
  when :web then Appsignal::Transaction::HTTP_REQUEST
36
+ when :hl7 then 'hl7'
36
37
  else Appsignal::Transaction::BLANK
37
38
  end
38
39
  end
@@ -81,7 +82,10 @@ module Roqua
81
82
  current_transaction.set_tags(labels)
82
83
  current_transaction.add_exception(exception)
83
84
  else
84
- Appsignal.send_error exception, labels, namespace
85
+ Appsignal.send_error exception do |transaction|
86
+ transaction.set_tags labels
87
+ transaction.set_namespace namespace
88
+ end
85
89
  end
86
90
  end
87
91
  end
File without changes
File without changes
File without changes
File without changes
File without changes
data/lib/roqua/type.rb ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_model/type"
4
+
5
+ require_relative "./type/stripped_string"
6
+
7
+ ActiveRecord::Type.register(:stripped_string, Roqua::Type::StrippedString)
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Strips whitespace and make nil when string becomes empty.
4
+ module Roqua
5
+ module Type
6
+ class StrippedString < ActiveModel::Type::ImmutableString
7
+ # taken from strip_attributes gem
8
+ # Unicode invisible and whitespace characters. The POSIX character class
9
+ # [:space:] corresponds to the Unicode class Z ("separator"). We also
10
+ # include the following characters from Unicode class C ("control"), which
11
+ # are spaces or invisible characters that make no sense at the start or end
12
+ # of a string:
13
+ # U+180E MONGOLIAN VOWEL SEPARATOR
14
+ # U+200B ZERO WIDTH SPACE
15
+ # U+200C ZERO WIDTH NON-JOINER
16
+ # U+200D ZERO WIDTH JOINER
17
+ # U+2060 WORD JOINER
18
+ # U+FEFF ZERO WIDTH NO-BREAK SPACE
19
+ MULTIBYTE_WHITE = "\u180E\u200B\u200C\u200D\u2060\uFEFF"
20
+ MULTIBYTE_SPACE = /[[:space:]#{MULTIBYTE_WHITE}]/.freeze
21
+
22
+ def initialize(allow_empty: false)
23
+ super()
24
+ @allow_empty = allow_empty
25
+ end
26
+
27
+ def cast(value)
28
+ return unless value
29
+ value = super(value).gsub(/\A#{MULTIBYTE_SPACE}+|#{MULTIBYTE_SPACE}+\z/, "").freeze
30
+ value.blank? && !@allow_empty ? nil : value
31
+ end
32
+ end
33
+ end
34
+ end
@@ -6,7 +6,7 @@ class SubsetValidator < ActiveModel::EachValidator
6
6
  def validate_each(record, attribute, value)
7
7
  return unless value
8
8
  unless value.all? { |element| options.fetch(:of).include? element }
9
- record.errors[attribute] << (options[:message] || I18n.t('errors.messages.subset'))
9
+ record.errors.add attribute, (options[:message] || I18n.t('errors.messages.subset'))
10
10
  end
11
11
  end
12
12
  end
@@ -18,16 +18,16 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency 'active_interaction', '~> 3.0'
22
- gem.add_dependency 'activesupport', '>= 3.2', '< 6'
21
+ gem.required_ruby_version = '>= 2.7'
22
+ gem.add_dependency 'active_interaction', '>= 3.0', '< 5.0'
23
+ gem.add_dependency 'activesupport', '>= 5.2', '< 6.2'
23
24
  gem.add_dependency 'naught', '~> 1.0'
24
25
  gem.add_dependency 'with_advisory_lock', '~> 3.2'
26
+ gem.add_dependency 'appsignal', '>= 2.9', '< 3.1'
25
27
 
26
- gem.add_development_dependency 'appsignal', '>= 2.3.1'
27
- gem.add_development_dependency 'bundler', '~> 1.0'
28
+ gem.add_development_dependency 'bundler', '~> 2.0'
28
29
  gem.add_development_dependency 'delayed_job_active_record'
29
30
  gem.add_development_dependency 'rake'
30
31
  gem.add_development_dependency 'rspec', '>= 2.12.0', '< 4.0'
31
- gem.add_development_dependency 'sqlite3', '~> 1.3.6'
32
32
  gem.add_development_dependency 'timecop'
33
33
  end
@@ -32,7 +32,7 @@ describe Roqua::Probes::DelayedJobProbe do
32
32
  end
33
33
 
34
34
  it 'increments the probe call counter' do
35
- expect(Appsignal).to receive(:increment_counter).with('probe.call.completed.delayed_job_probe', 1)
35
+ expect(Appsignal).to receive(:increment_counter).with('probe.call.completed', 1, probe_name: "delayed_job_probe")
36
36
  probe.call
37
37
  end
38
38
  end
@@ -21,7 +21,7 @@ describe Roqua::Probes::MonitoringProbe do
21
21
  end
22
22
 
23
23
  it 'increments the probe call counter' do
24
- expect(Appsignal).to receive(:increment_counter).with('probe.call.completed.monitoring_probe', 1)
24
+ expect(Appsignal).to receive(:increment_counter).with('probe.call.completed', 1, probe_name: "monitoring_probe")
25
25
  probe.call
26
26
  end
27
27
  end
File without changes
@@ -51,7 +51,7 @@ describe Roqua::Scheduling::Scheduler do
51
51
  end
52
52
 
53
53
  it 'generates a database specific advisory lock name' do
54
- expect(ActiveRecord::Base.connection_config[:database]).to eql(':memory:')
54
+ # expect(ActiveRecord::Base.connection_config[:database]).to eql(':memory:')
55
55
  expect(subject.advisory_lock_name).to eql ':memory:_cron_lock'
56
56
  end
57
57
 
@@ -86,7 +86,8 @@ describe Roqua::Scheduling::Scheduler do
86
86
  end
87
87
 
88
88
  it 'counts task calls' do
89
- expect(Appsignal).to receive(:increment_counter).with('scheduler.run_task.completed.hourly', 1)
89
+ expect(Appsignal).to receive(:increment_counter).with('scheduler.completed', 1)
90
+ expect(Appsignal).to receive(:increment_counter).with('scheduler.run_task.completed', 1, task_name: 'hourly')
90
91
  subject.ping
91
92
  end
92
93
  end
@@ -94,6 +94,7 @@ describe 'Error reporting' do
94
94
  let(:transaction) { double("transaction") }
95
95
 
96
96
  before do
97
+ Appsignal.config = Appsignal::Config.new(Dir.pwd, "test")
97
98
  allow(Appsignal).to receive(:active?).and_return(true)
98
99
  allow(Appsignal).to receive(:is_ignored_exception?).and_return(false)
99
100
  allow(Appsignal).to receive(:agent).and_return(agent)
@@ -105,16 +106,21 @@ describe 'Error reporting' do
105
106
  end
106
107
 
107
108
  it 'defaults to a background job' do
108
- expect(Appsignal).to receive(:send_error).with(exception, {}, Appsignal::Transaction::BACKGROUND_JOB)
109
+ transaction = Appsignal::Transaction.new(SecureRandom.uuid, Appsignal::Transaction::FRONTEND, nil)
110
+ expect(Appsignal).to receive(:send_error).with(exception).and_yield(transaction)
109
111
  Roqua::Support::Errors.report exception
112
+ expect(transaction.namespace).to eq Appsignal::Transaction::BACKGROUND_JOB
110
113
  end
111
114
 
112
115
  it 'it will send an error under the provided category' do
116
+ transaction = Appsignal::Transaction.new(SecureRandom.uuid, Appsignal::Transaction::FRONTEND, nil)
113
117
  expect(Appsignal)
114
118
  .to receive(:send_error)
115
- .with(exception, {a: 'b'}, Appsignal::Transaction::HTTP_REQUEST)
119
+ .with(exception).and_yield(transaction)
116
120
 
117
121
  Roqua::Support::Errors.report exception, a: 'b', namespace: :web
122
+ expect(transaction.namespace).to eq Appsignal::Transaction::HTTP_REQUEST
123
+ expect(transaction.tags).to eq a: 'b'
118
124
  end
119
125
 
120
126
  describe 'when a current transaction is present' do
File without changes
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ require 'roqua/type/stripped_string'
5
+
6
+ RSpec.describe Roqua::Type::StrippedString do
7
+ let(:cls) do
8
+ Class.new(ActiveRecord::Base) do
9
+ self.table_name = 'delayed_jobs'
10
+
11
+ attribute :locked_by, Roqua::Type::StrippedString.new
12
+ attribute :queue, Roqua::Type::StrippedString.new(allow_empty: true)
13
+ end
14
+ end
15
+
16
+ it "strips whitespace from outside and not inside" do
17
+ expect(described_class.new.cast(" some name \n \t \u180E\u200B\u200C\u200D\u2060\uFEFF ")).to eq "some name"
18
+ end
19
+
20
+ it "nils empty values by default" do
21
+ expect(described_class.new.cast(" \n \t ")).to eq nil
22
+ end
23
+
24
+ it "keeps value empty if allow_empty is true" do
25
+ expect(described_class.new(allow_empty: true).cast(" \n \t ")).to eq ""
26
+ end
27
+
28
+ it "works on active_record" do
29
+ instance = cls.new(locked_by: " \n \t ", queue: " \n \t ", cron: " \n \t ")
30
+ expect(instance.locked_by).to be_nil
31
+ expect(instance.queue).to eq ""
32
+ expect(instance.cron).to eq " \n \t "
33
+ end
34
+ end
File without changes
metadata CHANGED
@@ -1,49 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roqua-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marten Veldthuis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-11 00:00:00.000000000 Z
11
+ date: 2021-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_interaction
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: activesupport
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '3.2'
39
+ version: '5.2'
34
40
  - - "<"
35
41
  - !ruby/object:Gem::Version
36
- version: '6'
42
+ version: '6.2'
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
40
46
  requirements:
41
47
  - - ">="
42
48
  - !ruby/object:Gem::Version
43
- version: '3.2'
49
+ version: '5.2'
44
50
  - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '6'
52
+ version: '6.2'
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: naught
49
55
  requirement: !ruby/object:Gem::Requirement
@@ -78,28 +84,34 @@ dependencies:
78
84
  requirements:
79
85
  - - ">="
80
86
  - !ruby/object:Gem::Version
81
- version: 2.3.1
82
- type: :development
87
+ version: '2.9'
88
+ - - "<"
89
+ - !ruby/object:Gem::Version
90
+ version: '3.1'
91
+ type: :runtime
83
92
  prerelease: false
84
93
  version_requirements: !ruby/object:Gem::Requirement
85
94
  requirements:
86
95
  - - ">="
87
96
  - !ruby/object:Gem::Version
88
- version: 2.3.1
97
+ version: '2.9'
98
+ - - "<"
99
+ - !ruby/object:Gem::Version
100
+ version: '3.1'
89
101
  - !ruby/object:Gem::Dependency
90
102
  name: bundler
91
103
  requirement: !ruby/object:Gem::Requirement
92
104
  requirements:
93
105
  - - "~>"
94
106
  - !ruby/object:Gem::Version
95
- version: '1.0'
107
+ version: '2.0'
96
108
  type: :development
97
109
  prerelease: false
98
110
  version_requirements: !ruby/object:Gem::Requirement
99
111
  requirements:
100
112
  - - "~>"
101
113
  - !ruby/object:Gem::Version
102
- version: '1.0'
114
+ version: '2.0'
103
115
  - !ruby/object:Gem::Dependency
104
116
  name: delayed_job_active_record
105
117
  requirement: !ruby/object:Gem::Requirement
@@ -148,20 +160,6 @@ dependencies:
148
160
  - - "<"
149
161
  - !ruby/object:Gem::Version
150
162
  version: '4.0'
151
- - !ruby/object:Gem::Dependency
152
- name: sqlite3
153
- requirement: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: 1.3.6
158
- type: :development
159
- prerelease: false
160
- version_requirements: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: 1.3.6
165
163
  - !ruby/object:Gem::Dependency
166
164
  name: timecop
167
165
  requirement: !ruby/object:Gem::Requirement
@@ -196,10 +194,9 @@ files:
196
194
  - README.md
197
195
  - Rakefile
198
196
  - circle.yml
199
- - gemfiles/rails42.gemfile
200
- - gemfiles/rails50.gemfile
201
- - gemfiles/rails51.gemfile
202
197
  - gemfiles/rails52.gemfile
198
+ - gemfiles/rails60.gemfile
199
+ - gemfiles/rails61.gemfile
203
200
  - lib/roqua-support.rb
204
201
  - lib/roqua-support/railtie.rb
205
202
  - lib/roqua-support/version.rb
@@ -233,6 +230,8 @@ files:
233
230
  - lib/roqua/support/request_logger.rb
234
231
  - lib/roqua/support/stats.rb
235
232
  - lib/roqua/support/stats/hosted_graphite_backend.rb
233
+ - lib/roqua/type.rb
234
+ - lib/roqua/type/stripped_string.rb
236
235
  - lib/roqua/validators/subset_validator.rb
237
236
  - roqua-support.gemspec
238
237
  - spec/internal/config/balancer_state
@@ -259,6 +258,7 @@ files:
259
258
  - spec/roqua/support/request_logger_spec.rb
260
259
  - spec/roqua/support/stats_spec.rb
261
260
  - spec/roqua/support_spec.rb
261
+ - spec/roqua/type/stripped_string_spec.rb
262
262
  - spec/roqua/validators/subset_validator_spec.rb
263
263
  - spec/spec_helper.rb
264
264
  - styleguide/ruby/rubocop.yml
@@ -266,7 +266,7 @@ homepage: https://github.com/roqua/roqua-support
266
266
  licenses:
267
267
  - MIT
268
268
  metadata: {}
269
- post_install_message:
269
+ post_install_message:
270
270
  rdoc_options: []
271
271
  require_paths:
272
272
  - lib
@@ -274,15 +274,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
274
  requirements:
275
275
  - - ">="
276
276
  - !ruby/object:Gem::Version
277
- version: '0'
277
+ version: '2.7'
278
278
  required_rubygems_version: !ruby/object:Gem::Requirement
279
279
  requirements:
280
280
  - - ">="
281
281
  - !ruby/object:Gem::Version
282
282
  version: '0'
283
283
  requirements: []
284
- rubygems_version: 3.0.3
285
- signing_key:
284
+ rubygems_version: 3.1.4
285
+ signing_key:
286
286
  specification_version: 4
287
287
  summary: Helper objects and proxies used by a lot of RoQua applications
288
288
  test_files:
@@ -310,5 +310,6 @@ test_files:
310
310
  - spec/roqua/support/request_logger_spec.rb
311
311
  - spec/roqua/support/stats_spec.rb
312
312
  - spec/roqua/support_spec.rb
313
+ - spec/roqua/type/stripped_string_spec.rb
313
314
  - spec/roqua/validators/subset_validator_spec.rb
314
315
  - spec/spec_helper.rb
@@ -1,22 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal"
6
- gem "roqua_styleguide", :git => "https://gitlab.roqua.nl/roqua/styleguide.git"
7
- gem "activesupport", "~> 5.0.0"
8
-
9
- group :test do
10
- gem "actionpack", ">= 4.0"
11
- gem "active_interaction", "~> 3.0"
12
- gem "appsignal"
13
- gem "climate_control"
14
- gem "combustion", "~> 0.5.2"
15
- gem "fakefs", :require => "fakefs/safe"
16
- gem "guard-rspec", "~> 4.2.6"
17
- gem "responders"
18
- gem "rspec-instrumentation-matcher"
19
- gem "rspec-rails"
20
- end
21
-
22
- gemspec :path => "../"
@@ -1,22 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal"
6
- gem "roqua_styleguide", :git => "https://gitlab.roqua.nl/roqua/styleguide.git"
7
- gem "activesupport", "~> 5.1.0"
8
-
9
- group :test do
10
- gem "actionpack", ">= 4.0"
11
- gem "active_interaction", "~> 3.0"
12
- gem "appsignal"
13
- gem "climate_control"
14
- gem "combustion", "~> 0.5.2"
15
- gem "fakefs", :require => "fakefs/safe"
16
- gem "guard-rspec", "~> 4.2.6"
17
- gem "responders"
18
- gem "rspec-instrumentation-matcher"
19
- gem "rspec-rails"
20
- end
21
-
22
- gemspec :path => "../"