stackify-ruby-apm 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +38 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +17 -11
  5. data/Gemfile.lock +98 -95
  6. data/Rakefile +7 -5
  7. data/docker/stackify-ruby +8 -0
  8. data/docker/stackify-ruby-rvm +10 -0
  9. data/docker/stackify-ruby-test +28 -0
  10. data/lib/{stackify → stackify_apm}/agent.rb +42 -33
  11. data/lib/{stackify → stackify_apm}/config.rb +56 -39
  12. data/lib/{stackify → stackify_apm}/context.rb +5 -6
  13. data/lib/{stackify → stackify_apm}/context/request.rb +0 -0
  14. data/lib/{stackify → stackify_apm}/context/request/socket.rb +0 -0
  15. data/lib/{stackify → stackify_apm}/context/request/url.rb +2 -6
  16. data/lib/stackify_apm/context/response.rb +33 -0
  17. data/lib/{stackify → stackify_apm}/context_builder.rb +2 -5
  18. data/lib/{stackify → stackify_apm}/error.rb +7 -6
  19. data/lib/stackify_apm/error/exception.rb +37 -0
  20. data/lib/stackify_apm/error/log.rb +24 -0
  21. data/lib/stackify_apm/error_builder.rb +61 -0
  22. data/lib/stackify_apm/helper/database_helper.rb +27 -0
  23. data/lib/{stackify → stackify_apm}/instrumenter.rb +12 -19
  24. data/lib/{stackify → stackify_apm}/internal_error.rb +0 -0
  25. data/lib/{stackify → stackify_apm}/log.rb +0 -0
  26. data/lib/{stackify → stackify_apm}/logger/log_device.rb +22 -11
  27. data/lib/{stackify → stackify_apm}/logger/logger_high_version.rb +1 -6
  28. data/lib/{stackify → stackify_apm}/logger/logger_lower_version.rb +2 -1
  29. data/lib/stackify_apm/middleware.rb +70 -0
  30. data/lib/{stackify → stackify_apm}/naively_hashable.rb +1 -3
  31. data/lib/{stackify → stackify_apm}/normalizers.rb +3 -2
  32. data/lib/{stackify → stackify_apm}/normalizers/action_controller.rb +0 -0
  33. data/lib/{stackify → stackify_apm}/normalizers/action_mailer.rb +0 -0
  34. data/lib/{stackify → stackify_apm}/normalizers/action_view.rb +0 -0
  35. data/lib/{stackify → stackify_apm}/normalizers/active_record.rb +3 -25
  36. data/lib/{stackify → stackify_apm}/railtie.rb +5 -7
  37. data/lib/{stackify → stackify_apm}/root_info.rb +2 -6
  38. data/lib/{stackify → stackify_apm}/serializers.rb +3 -2
  39. data/lib/{stackify → stackify_apm}/serializers/errors.rb +7 -10
  40. data/lib/{stackify → stackify_apm}/serializers/transactions.rb +11 -18
  41. data/lib/{stackify → stackify_apm}/span.rb +8 -9
  42. data/lib/{stackify → stackify_apm}/span/context.rb +3 -1
  43. data/lib/{stackify → stackify_apm}/spies.rb +3 -2
  44. data/lib/{stackify → stackify_apm}/spies/action_dispatch.rb +3 -4
  45. data/lib/stackify_apm/spies/curb.rb +49 -0
  46. data/lib/stackify_apm/spies/curb/easy.rb +157 -0
  47. data/lib/stackify_apm/spies/curb/multi.rb +43 -0
  48. data/lib/{stackify → stackify_apm}/spies/httpclient.rb +10 -8
  49. data/lib/{stackify → stackify_apm}/spies/httprb.rb +7 -9
  50. data/lib/{stackify → stackify_apm}/spies/mongo.rb +5 -3
  51. data/lib/{stackify → stackify_apm}/spies/net_http.rb +4 -5
  52. data/lib/{stackify → stackify_apm}/spies/redis.rb +19 -18
  53. data/lib/stackify_apm/spies/sequel.rb +65 -0
  54. data/lib/{stackify → stackify_apm}/spies/sinatra.rb +7 -10
  55. data/lib/stackify_apm/spies/sinatra_activerecord/mysql_adapter.rb +201 -0
  56. data/lib/stackify_apm/spies/sinatra_activerecord/postgresql_adapter.rb +94 -0
  57. data/lib/stackify_apm/spies/sinatra_activerecord/sqlite_adapter.rb +46 -0
  58. data/lib/stackify_apm/spies/stackify_logger.rb +60 -0
  59. data/lib/{stackify → stackify_apm}/spies/tilt.rb +3 -3
  60. data/lib/stackify_apm/stacktrace.rb +18 -0
  61. data/lib/stackify_apm/stacktrace/frame.rb +47 -0
  62. data/lib/{stackify → stackify_apm}/stacktrace_builder.rb +10 -11
  63. data/lib/{stackify → stackify_apm}/subscriber.rb +20 -14
  64. data/lib/{stackify → stackify_apm}/trace_logger.rb +10 -16
  65. data/lib/stackify_apm/transaction.rb +127 -0
  66. data/lib/{stackify → stackify_apm}/util.rb +3 -1
  67. data/lib/{stackify → stackify_apm}/util/dig.rb +1 -1
  68. data/lib/{stackify → stackify_apm}/util/inflector.rb +0 -0
  69. data/lib/{stackify → stackify_apm}/util/inspector.rb +1 -3
  70. data/lib/stackify_apm/util/lru_cache.rb +49 -0
  71. data/lib/stackify_apm/util/trace_log_watcher.rb +37 -0
  72. data/lib/stackify_apm/version.rb +6 -0
  73. data/lib/{stackify → stackify_apm}/worker.rb +8 -7
  74. data/lib/stackify_ruby_apm.rb +18 -15
  75. data/run-test-docker.sh +50 -0
  76. data/run-test.sh +1 -3
  77. data/stackify-ruby-apm.gemspec +14 -11
  78. metadata +86 -59
  79. data/lib/stackify/context/response.rb +0 -37
  80. data/lib/stackify/error/exception.rb +0 -36
  81. data/lib/stackify/error/log.rb +0 -25
  82. data/lib/stackify/error_builder.rb +0 -65
  83. data/lib/stackify/middleware.rb +0 -74
  84. data/lib/stackify/spies/sinatra_activerecord/mysql_adapter.rb +0 -177
  85. data/lib/stackify/spies/sinatra_activerecord/postgresql_adapter.rb +0 -96
  86. data/lib/stackify/spies/sinatra_activerecord/sqlite_adapter.rb +0 -48
  87. data/lib/stackify/stacktrace.rb +0 -19
  88. data/lib/stackify/stacktrace/frame.rb +0 -50
  89. data/lib/stackify/transaction.rb +0 -132
  90. data/lib/stackify/util/lru_cache.rb +0 -49
  91. data/lib/stackify/version.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b769d0f8ea6c9ec534a343fb2db63c355857cd0
4
- data.tar.gz: a670f3472367c5d18abb2d73ab5a7bf6c53c3414
3
+ metadata.gz: de9af597a0b5c2cd3404ca49bb58b493ceddf026
4
+ data.tar.gz: dbfed2f61477f371a4e04d4e21e99774f85e3dba
5
5
  SHA512:
6
- metadata.gz: 255d6443ed6fc90b60bebce9282807d988b746fb2b3a08b5b1748f4db5aa6a84834561c29bc8182d0bfb32a963836cb546a6087fcbeeef96a6a39f86e7d50720
7
- data.tar.gz: fb3beadebaf884ddcacf61a34701e5cfc86177f067ec9e9956ef2d6de5db3e8ef49fdea9df24922c1d5470c081c3f18e7162bd82d4ae8abb6dd6ebd2e5510df8
6
+ metadata.gz: 2b1bae168fc9700f547c8de0ba4e26185c62b1e416d9b9520d7195db70977a6226cde6d47c07ab3ad1fa36fadeb3f2cdf685f3f006af8fedb6de93c210cd4fc7
7
+ data.tar.gz: e9050031fcfcdf3449c9375837d41e8f157fb183c6882d063b7bbe879710998290eace9b3f3e847607328649b07026c3746e76c4188762f47d62034c28b75b4b
data/.rubocop.yml ADDED
@@ -0,0 +1,38 @@
1
+ AllCops:
2
+ RubyInterpreters:
3
+ - ruby
4
+ - macruby
5
+ - rake
6
+ - jruby
7
+ - rbx
8
+
9
+ Exclude:
10
+ - 'node_modules/**/*'
11
+ - 'vendor/**/*'
12
+ - '.git/**/*'
13
+ - 'spec/**/*'
14
+
15
+ Naming/FileName:
16
+ Exclude:
17
+ - 'lib/stackify-ruby-apm.rb'
18
+
19
+ Metrics/LineLength:
20
+ Max: 1000
21
+
22
+ Metrics/BlockLength:
23
+ Max: 1000
24
+
25
+ Metrics/MethodLength:
26
+ Enabled: false
27
+
28
+ Metrics/ClassLength:
29
+ Max: 1000
30
+
31
+ Style/RedundantFreeze:
32
+ Enabled: false
33
+
34
+ Style/SafeNavigation:
35
+ Enabled: false
36
+
37
+ Metrics/AbcSize:
38
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.0.0-p648
data/Gemfile CHANGED
@@ -1,22 +1,28 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in stackify-ruby-apm.gemspec
4
6
  gemspec
5
7
 
6
8
  group :test do
7
- gem 'mongo'
8
- gem 'webmock'
9
+ gem 'activerecord'
10
+ gem 'curb'
9
11
  gem 'fakeredis'
10
- gem 'rack-test'
11
- gem 'rails'
12
- gem 'httpclient'
13
12
  gem 'http'
14
- gem 'timecop'
15
- gem "sinatra"
16
- gem "activerecord"
17
- gem "sinatra-activerecord"
18
- gem "sqlite3"
13
+ gem 'httpclient'
14
+ gem 'mongo'
19
15
  gem 'mysql2'
20
16
  gem 'pg', '~> 0.20'
17
+ gem 'rack-test'
18
+ gem 'rails'
21
19
  gem 'rubocop', require: false
20
+ gem 'sequel'
21
+ gem 'sinatra'
22
+ gem 'sinatra-activerecord'
23
+ gem 'sqlite3', '1.3.13'
24
+ gem 'stackify-api-ruby'
25
+ gem 'timecop'
26
+ gem 'to_bool'
27
+ gem 'webmock'
22
28
  end
data/Gemfile.lock CHANGED
@@ -1,57 +1,51 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stackify-ruby-apm (1.0.1)
4
+ stackify-ruby-apm (1.1.0)
5
5
  concurrent-ruby (~> 1.0)
6
6
  delegate_matcher (~> 0.4)
7
+ rufus-scheduler (~> 3.5)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
- actioncable (5.2.2)
12
- actionpack (= 5.2.2)
13
- nio4r (~> 2.0)
14
- websocket-driver (>= 0.6.1)
15
- actionmailer (5.2.2)
16
- actionpack (= 5.2.2)
17
- actionview (= 5.2.2)
18
- activejob (= 5.2.2)
12
+ actionmailer (4.2.11)
13
+ actionpack (= 4.2.11)
14
+ actionview (= 4.2.11)
15
+ activejob (= 4.2.11)
19
16
  mail (~> 2.5, >= 2.5.4)
20
- rails-dom-testing (~> 2.0)
21
- actionpack (5.2.2)
22
- actionview (= 5.2.2)
23
- activesupport (= 5.2.2)
24
- rack (~> 2.0)
25
- rack-test (>= 0.6.3)
26
- rails-dom-testing (~> 2.0)
17
+ rails-dom-testing (~> 1.0, >= 1.0.5)
18
+ actionpack (4.2.11)
19
+ actionview (= 4.2.11)
20
+ activesupport (= 4.2.11)
21
+ rack (~> 1.6)
22
+ rack-test (~> 0.6.2)
23
+ rails-dom-testing (~> 1.0, >= 1.0.5)
27
24
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
28
- actionview (5.2.2)
29
- activesupport (= 5.2.2)
25
+ actionview (4.2.11)
26
+ activesupport (= 4.2.11)
30
27
  builder (~> 3.1)
31
- erubi (~> 1.4)
32
- rails-dom-testing (~> 2.0)
28
+ erubis (~> 2.7.0)
29
+ rails-dom-testing (~> 1.0, >= 1.0.5)
33
30
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
34
- activejob (5.2.2)
35
- activesupport (= 5.2.2)
36
- globalid (>= 0.3.6)
37
- activemodel (5.2.2)
38
- activesupport (= 5.2.2)
39
- activerecord (5.2.2)
40
- activemodel (= 5.2.2)
41
- activesupport (= 5.2.2)
42
- arel (>= 9.0)
43
- activestorage (5.2.2)
44
- actionpack (= 5.2.2)
45
- activerecord (= 5.2.2)
46
- marcel (~> 0.3.1)
47
- activesupport (5.2.2)
48
- concurrent-ruby (~> 1.0, >= 1.0.2)
49
- i18n (>= 0.7, < 2)
31
+ activejob (4.2.11)
32
+ activesupport (= 4.2.11)
33
+ globalid (>= 0.3.0)
34
+ activemodel (4.2.11)
35
+ activesupport (= 4.2.11)
36
+ builder (~> 3.1)
37
+ activerecord (4.2.11)
38
+ activemodel (= 4.2.11)
39
+ activesupport (= 4.2.11)
40
+ arel (~> 6.0)
41
+ activesupport (4.2.11)
42
+ i18n (~> 0.7)
50
43
  minitest (~> 5.1)
44
+ thread_safe (~> 0.3, >= 0.3.4)
51
45
  tzinfo (~> 1.1)
52
46
  addressable (2.5.2)
53
47
  public_suffix (>= 2.0.2, < 4.0)
54
- arel (9.0.0)
48
+ arel (6.0.4)
55
49
  ast (2.4.0)
56
50
  bson (4.3.0)
57
51
  builder (3.2.3)
@@ -59,51 +53,53 @@ GEM
59
53
  crack (0.4.3)
60
54
  safe_yaml (~> 1.0.0)
61
55
  crass (1.0.4)
56
+ curb (0.9.8)
62
57
  delegate_matcher (0.4.3)
63
58
  proc_extensions (~> 0.2)
64
59
  diff-lcs (1.3)
65
60
  domain_name (0.5.20180417)
66
61
  unf (>= 0.0.5, < 1.0.0)
67
- erubi (1.8.0)
62
+ erubis (2.7.0)
63
+ et-orbi (1.1.7)
64
+ tzinfo
68
65
  fakeredis (0.7.0)
69
66
  redis (>= 3.2, < 5.0)
67
+ faraday (0.15.4)
68
+ multipart-post (>= 1.2, < 3)
70
69
  file-tail (1.2.0)
71
70
  tins (~> 1.0)
72
- globalid (0.4.1)
71
+ fugit (1.1.8)
72
+ et-orbi (~> 1.1, >= 1.1.7)
73
+ raabro (~> 1.1)
74
+ globalid (0.4.2)
73
75
  activesupport (>= 4.2.0)
74
76
  hashdiff (0.3.8)
75
- http (4.0.0)
77
+ http (3.0.0)
76
78
  addressable (~> 2.3)
77
79
  http-cookie (~> 1.0)
78
- http-form_data (~> 2.0)
80
+ http-form_data (>= 2.0.0.pre.pre2, < 3)
79
81
  http_parser.rb (~> 0.6.0)
80
82
  http-cookie (1.0.3)
81
83
  domain_name (~> 0.5)
82
84
  http-form_data (2.1.1)
83
85
  http_parser.rb (0.6.0)
84
86
  httpclient (2.8.3)
85
- i18n (1.5.1)
87
+ i18n (0.9.5)
86
88
  concurrent-ruby (~> 1.0)
87
- jaro_winkler (1.5.2)
88
89
  loofah (2.2.3)
89
90
  crass (~> 1.0.2)
90
91
  nokogiri (>= 1.5.9)
91
92
  mail (2.7.1)
92
93
  mini_mime (>= 0.1.1)
93
- marcel (0.3.3)
94
- mimemagic (~> 0.3.2)
95
- method_source (0.9.2)
96
- mimemagic (0.3.3)
97
94
  mini_mime (1.0.1)
98
- mini_portile2 (2.4.0)
95
+ mini_portile2 (2.1.0)
99
96
  minitest (5.11.3)
100
97
  mongo (2.6.2)
101
98
  bson (>= 4.3.0, < 5.0.0)
102
- mustermann (1.0.3)
99
+ multipart-post (2.0.0)
103
100
  mysql2 (0.5.2)
104
- nio4r (2.3.1)
105
- nokogiri (1.10.0)
106
- mini_portile2 (~> 2.4.0)
101
+ nokogiri (1.6.8.1)
102
+ mini_portile2 (~> 2.1.0)
107
103
  parallel (1.12.1)
108
104
  parser (2.5.3.0)
109
105
  ast (~> 2.4.0)
@@ -111,39 +107,41 @@ GEM
111
107
  powerpack (0.1.2)
112
108
  proc_extensions (0.2)
113
109
  sourcify (~> 0.5)
114
- public_suffix (3.0.3)
115
- rack (2.0.6)
116
- rack-protection (2.0.5)
110
+ public_suffix (2.0.5)
111
+ raabro (1.1.6)
112
+ rack (1.6.11)
113
+ rack-protection (1.5.5)
117
114
  rack
118
- rack-test (1.1.0)
119
- rack (>= 1.0, < 3)
120
- rails (5.2.2)
121
- actioncable (= 5.2.2)
122
- actionmailer (= 5.2.2)
123
- actionpack (= 5.2.2)
124
- actionview (= 5.2.2)
125
- activejob (= 5.2.2)
126
- activemodel (= 5.2.2)
127
- activerecord (= 5.2.2)
128
- activestorage (= 5.2.2)
129
- activesupport (= 5.2.2)
130
- bundler (>= 1.3.0)
131
- railties (= 5.2.2)
132
- sprockets-rails (>= 2.0.0)
133
- rails-dom-testing (2.0.3)
134
- activesupport (>= 4.2.0)
135
- nokogiri (>= 1.6)
115
+ rack-test (0.6.3)
116
+ rack (>= 1.0)
117
+ rails (4.2.11)
118
+ actionmailer (= 4.2.11)
119
+ actionpack (= 4.2.11)
120
+ actionview (= 4.2.11)
121
+ activejob (= 4.2.11)
122
+ activemodel (= 4.2.11)
123
+ activerecord (= 4.2.11)
124
+ activesupport (= 4.2.11)
125
+ bundler (>= 1.3.0, < 2.0)
126
+ railties (= 4.2.11)
127
+ sprockets-rails
128
+ rails-deprecated_sanitizer (1.0.3)
129
+ activesupport (>= 4.2.0.alpha)
130
+ rails-dom-testing (1.0.9)
131
+ activesupport (>= 4.2.0, < 5.0)
132
+ nokogiri (~> 1.6)
133
+ rails-deprecated_sanitizer (>= 1.0.1)
136
134
  rails-html-sanitizer (1.0.4)
137
135
  loofah (~> 2.2, >= 2.2.2)
138
- railties (5.2.2)
139
- actionpack (= 5.2.2)
140
- activesupport (= 5.2.2)
141
- method_source
136
+ railties (4.2.11)
137
+ actionpack (= 4.2.11)
138
+ activesupport (= 4.2.11)
142
139
  rake (>= 0.8.7)
143
- thor (>= 0.19.0, < 2.0)
144
- rainbow (3.0.0)
140
+ thor (>= 0.18.1, < 2.0)
141
+ rainbow (2.2.2)
142
+ rake
145
143
  rake (10.5.0)
146
- redis (4.1.0)
144
+ redis (3.3.5)
147
145
  rspec (3.8.0)
148
146
  rspec-core (~> 3.8.0)
149
147
  rspec-expectations (~> 3.8.0)
@@ -157,27 +155,28 @@ GEM
157
155
  diff-lcs (>= 1.2.0, < 2.0)
158
156
  rspec-support (~> 3.8.0)
159
157
  rspec-support (3.8.0)
160
- rubocop (0.62.0)
161
- jaro_winkler (~> 1.5.1)
158
+ rubocop (0.50.0)
162
159
  parallel (~> 1.10)
163
- parser (>= 2.5, != 2.5.1.1)
160
+ parser (>= 2.3.3.1, < 3.0)
164
161
  powerpack (~> 0.1)
165
- rainbow (>= 2.2.2, < 4.0)
162
+ rainbow (>= 2.2.2, < 3.0)
166
163
  ruby-progressbar (~> 1.7)
167
- unicode-display_width (~> 1.4.0)
164
+ unicode-display_width (~> 1.0, >= 1.0.1)
168
165
  ruby-progressbar (1.10.0)
169
166
  ruby2ruby (2.4.1)
170
167
  ruby_parser (~> 3.1)
171
168
  sexp_processor (~> 4.6)
172
169
  ruby_parser (3.12.0)
173
170
  sexp_processor (~> 4.9)
171
+ rufus-scheduler (3.5.2)
172
+ fugit (~> 1.1, >= 1.1.5)
174
173
  safe_yaml (1.0.4)
174
+ sequel (5.16.0)
175
175
  sexp_processor (4.11.0)
176
- sinatra (2.0.5)
177
- mustermann (~> 1.0)
178
- rack (~> 2.0)
179
- rack-protection (= 2.0.5)
180
- tilt (~> 2.0)
176
+ sinatra (1.4.8)
177
+ rack (~> 1.5)
178
+ rack-protection (~> 1.4)
179
+ tilt (>= 1.3, < 3)
181
180
  sinatra-activerecord (2.0.13)
182
181
  activerecord (>= 3.2)
183
182
  sinatra (>= 1.0)
@@ -194,11 +193,14 @@ GEM
194
193
  activesupport (>= 4.0)
195
194
  sprockets (>= 3.0.0)
196
195
  sqlite3 (1.3.13)
196
+ stackify-api-ruby (1.0.11)
197
+ faraday (~> 0.8)
197
198
  thor (0.20.3)
198
199
  thread_safe (0.3.6)
199
200
  tilt (2.0.9)
200
201
  timecop (0.9.1)
201
202
  tins (1.20.2)
203
+ to_bool (1.2.0)
202
204
  tzinfo (1.2.5)
203
205
  thread_safe (~> 0.1)
204
206
  unf (0.1.4)
@@ -209,9 +211,6 @@ GEM
209
211
  addressable (>= 2.3.6)
210
212
  crack (>= 0.3.2)
211
213
  hashdiff
212
- websocket-driver (0.7.0)
213
- websocket-extensions (>= 0.1.0)
214
- websocket-extensions (0.1.3)
215
214
 
216
215
  PLATFORMS
217
216
  ruby
@@ -219,6 +218,7 @@ PLATFORMS
219
218
  DEPENDENCIES
220
219
  activerecord
221
220
  bundler (~> 1.16)
221
+ curb
222
222
  fakeredis
223
223
  http
224
224
  httpclient
@@ -230,12 +230,15 @@ DEPENDENCIES
230
230
  rake (~> 10.0)
231
231
  rspec (~> 3.0)
232
232
  rubocop
233
+ sequel
233
234
  sinatra
234
235
  sinatra-activerecord
235
- sqlite3
236
+ sqlite3 (= 1.3.13)
237
+ stackify-api-ruby
236
238
  stackify-ruby-apm!
237
239
  timecop
240
+ to_bool
238
241
  webmock
239
242
 
240
243
  BUNDLED WITH
241
- 1.17.3
244
+ 1.17.1
data/Rakefile CHANGED
@@ -1,10 +1,12 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
 
4
6
  if defined?(Sinatra)
5
- require "rspec/integration/sinatra_sqlite_adapter_rspec"
6
- require "sinatra/activerecord/rake"
7
+ require 'rspec/integration/sinatra_sqlite_adapter_rspec'
8
+ require 'sinatra/activerecord/rake'
7
9
  end
8
10
  RSpec::Core::RakeTask.new(:spec)
9
11
 
10
- task :default => :spec
12
+ task default: :spec
@@ -0,0 +1,8 @@
1
+ FROM stackify-ruby-rvm:latest
2
+
3
+ ARG version
4
+
5
+ RUN rvm install $version && rvm --version
6
+
7
+
8
+
@@ -0,0 +1,10 @@
1
+ FROM ubuntu:18.04
2
+
3
+ RUN \
4
+ export DEBIAN_FRONTEND=noninteractiv && \
5
+ apt-get update && \
6
+ apt-get install -y curl git libcurl4-gnutls-dev libmysqlclient-dev libmysqld-dev libpq-dev tzdata && \
7
+ curl -L https://get.rvm.io | bash -s stable
8
+
9
+ ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
10
+