appsignal 3.2.2-java → 3.3.1-java
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 +4 -4
- data/.rubocop_todo.yml +1 -0
- data/.semaphore/semaphore.yml +91 -61
- data/CHANGELOG.md +18 -0
- data/README.md +1 -0
- data/build_matrix.yml +13 -14
- data/gemfiles/hanami.gemfile +7 -0
- data/lib/appsignal/cli/diagnose.rb +3 -0
- data/lib/appsignal/cli/install.rb +21 -0
- data/lib/appsignal/extension/jruby.rb +6 -1
- data/lib/appsignal/integrations/hanami.rb +62 -0
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/cli/diagnose_spec.rb +3 -0
- data/spec/lib/appsignal/cli/install_spec.rb +67 -1
- data/spec/lib/appsignal/integrations/hanami_spec.rb +116 -0
- data/spec/spec_helper.rb +5 -0
- data/spec/support/hanami/hanami_app.rb +31 -0
- data/spec/support/helpers/dependency_helper.rb +12 -0
- metadata +9 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c476ef9ec4fbb906a3c3013484975806c87fd7c1efbaef938ee49c9c1cb04081
|
|
4
|
+
data.tar.gz: 9b7eebe7a6a535445a6baed7ddffe8f779d373d6936fb7de4bb000c7a0bd3c3d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7cdd3926c3db35c5566e7d2fc1e80b7f948f26ebcb19d8fad3374db139d6962b016412a243b7ea1df8b8f47302923c321cf46676a98cd98c83e39d26f2a9d5bc
|
|
7
|
+
data.tar.gz: 44ea1982e6b2319c0a469d128cecaf1ab91bc21ebbaabd50d6a3c9eb082dbafea62145e204e419ca4f0180367788ae3bddb019f00411d7bb83f87f022de901b5
|
data/.rubocop_todo.yml
CHANGED
data/.semaphore/semaphore.yml
CHANGED
|
@@ -24,12 +24,6 @@ global_job_config:
|
|
|
24
24
|
commands:
|
|
25
25
|
- checkout
|
|
26
26
|
- rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
|
|
27
|
-
- |
|
|
28
|
-
if [ -n "$_LIBYAML" ]; then
|
|
29
|
-
install-package --update libyaml-dev
|
|
30
|
-
else
|
|
31
|
-
echo Skipping libyaml-dev install
|
|
32
|
-
fi
|
|
33
27
|
- |
|
|
34
28
|
if [ -n "$_C_VERSION" ]; then
|
|
35
29
|
sem-version c $_C_VERSION
|
|
@@ -349,9 +343,9 @@ blocks:
|
|
|
349
343
|
- name: BUNDLE_GEMFILE
|
|
350
344
|
value: gemfiles/no_dependencies.gemfile
|
|
351
345
|
- name: _RUBYGEMS_VERSION
|
|
352
|
-
value:
|
|
346
|
+
value: 3.3.26
|
|
353
347
|
- name: _BUNDLER_VERSION
|
|
354
|
-
value:
|
|
348
|
+
value: 2.3.26
|
|
355
349
|
commands:
|
|
356
350
|
- "./support/bundler_wrapper exec rake test"
|
|
357
351
|
- "./support/bundler_wrapper exec rake test:failure"
|
|
@@ -1368,6 +1362,24 @@ blocks:
|
|
|
1368
1362
|
value: latest
|
|
1369
1363
|
commands:
|
|
1370
1364
|
- "./support/bundler_wrapper exec rake test"
|
|
1365
|
+
- name: Ruby 3.0.4 for hanami
|
|
1366
|
+
env_vars:
|
|
1367
|
+
- *2
|
|
1368
|
+
- *3
|
|
1369
|
+
- *4
|
|
1370
|
+
- *5
|
|
1371
|
+
- name: RUBY_VERSION
|
|
1372
|
+
value: 3.0.4
|
|
1373
|
+
- name: GEMSET
|
|
1374
|
+
value: hanami
|
|
1375
|
+
- name: BUNDLE_GEMFILE
|
|
1376
|
+
value: gemfiles/hanami.gemfile
|
|
1377
|
+
- name: _RUBYGEMS_VERSION
|
|
1378
|
+
value: latest
|
|
1379
|
+
- name: _BUNDLER_VERSION
|
|
1380
|
+
value: latest
|
|
1381
|
+
commands:
|
|
1382
|
+
- "./support/bundler_wrapper exec rake test"
|
|
1371
1383
|
- name: Ruby 3.0.4 for http5
|
|
1372
1384
|
env_vars:
|
|
1373
1385
|
- *2
|
|
@@ -1707,6 +1719,24 @@ blocks:
|
|
|
1707
1719
|
value: latest
|
|
1708
1720
|
commands:
|
|
1709
1721
|
- "./support/bundler_wrapper exec rake test"
|
|
1722
|
+
- name: Ruby 3.1.2 for hanami
|
|
1723
|
+
env_vars:
|
|
1724
|
+
- *2
|
|
1725
|
+
- *3
|
|
1726
|
+
- *4
|
|
1727
|
+
- *5
|
|
1728
|
+
- name: RUBY_VERSION
|
|
1729
|
+
value: 3.1.2
|
|
1730
|
+
- name: GEMSET
|
|
1731
|
+
value: hanami
|
|
1732
|
+
- name: BUNDLE_GEMFILE
|
|
1733
|
+
value: gemfiles/hanami.gemfile
|
|
1734
|
+
- name: _RUBYGEMS_VERSION
|
|
1735
|
+
value: latest
|
|
1736
|
+
- name: _BUNDLER_VERSION
|
|
1737
|
+
value: latest
|
|
1738
|
+
commands:
|
|
1739
|
+
- "./support/bundler_wrapper exec rake test"
|
|
1710
1740
|
- name: Ruby 3.1.2 for http5
|
|
1711
1741
|
env_vars:
|
|
1712
1742
|
- *2
|
|
@@ -1923,7 +1953,7 @@ blocks:
|
|
|
1923
1953
|
value: latest
|
|
1924
1954
|
commands:
|
|
1925
1955
|
- "./support/bundler_wrapper exec rake test"
|
|
1926
|
-
- name: Ruby 3.2.0
|
|
1956
|
+
- name: Ruby 3.2.0
|
|
1927
1957
|
dependencies:
|
|
1928
1958
|
- Validation
|
|
1929
1959
|
task:
|
|
@@ -1939,14 +1969,14 @@ blocks:
|
|
|
1939
1969
|
- "./support/bundler_wrapper exec rake extension:install"
|
|
1940
1970
|
epilogue: *1
|
|
1941
1971
|
jobs:
|
|
1942
|
-
- name: Ruby 3.2.0
|
|
1972
|
+
- name: Ruby 3.2.0 for no_dependencies
|
|
1943
1973
|
env_vars:
|
|
1944
1974
|
- *2
|
|
1945
1975
|
- *3
|
|
1946
1976
|
- *4
|
|
1947
1977
|
- *5
|
|
1948
1978
|
- name: RUBY_VERSION
|
|
1949
|
-
value: 3.2.0
|
|
1979
|
+
value: 3.2.0
|
|
1950
1980
|
- name: GEMSET
|
|
1951
1981
|
value: no_dependencies
|
|
1952
1982
|
- name: BUNDLE_GEMFILE
|
|
@@ -1955,15 +1985,12 @@ blocks:
|
|
|
1955
1985
|
value: latest
|
|
1956
1986
|
- name: _BUNDLER_VERSION
|
|
1957
1987
|
value: latest
|
|
1958
|
-
- &6
|
|
1959
|
-
name: _LIBYAML
|
|
1960
|
-
value: '1'
|
|
1961
1988
|
commands:
|
|
1962
1989
|
- "./support/bundler_wrapper exec rake test"
|
|
1963
1990
|
- "./support/bundler_wrapper exec rake test:failure"
|
|
1964
|
-
- name: Ruby 3.2.0
|
|
1991
|
+
- name: Ruby 3.2.0 - Gems
|
|
1965
1992
|
dependencies:
|
|
1966
|
-
- Ruby 3.2.0
|
|
1993
|
+
- Ruby 3.2.0
|
|
1967
1994
|
task:
|
|
1968
1995
|
prologue:
|
|
1969
1996
|
commands:
|
|
@@ -1977,14 +2004,14 @@ blocks:
|
|
|
1977
2004
|
- "./support/bundler_wrapper exec rake extension:install"
|
|
1978
2005
|
epilogue: *1
|
|
1979
2006
|
jobs:
|
|
1980
|
-
- name: Ruby 3.2.0
|
|
2007
|
+
- name: Ruby 3.2.0 for capistrano2
|
|
1981
2008
|
env_vars:
|
|
1982
2009
|
- *2
|
|
1983
2010
|
- *3
|
|
1984
2011
|
- *4
|
|
1985
2012
|
- *5
|
|
1986
2013
|
- name: RUBY_VERSION
|
|
1987
|
-
value: 3.2.0
|
|
2014
|
+
value: 3.2.0
|
|
1988
2015
|
- name: GEMSET
|
|
1989
2016
|
value: capistrano2
|
|
1990
2017
|
- name: BUNDLE_GEMFILE
|
|
@@ -1993,17 +2020,16 @@ blocks:
|
|
|
1993
2020
|
value: latest
|
|
1994
2021
|
- name: _BUNDLER_VERSION
|
|
1995
2022
|
value: latest
|
|
1996
|
-
- *6
|
|
1997
2023
|
commands:
|
|
1998
2024
|
- "./support/bundler_wrapper exec rake test"
|
|
1999
|
-
- name: Ruby 3.2.0
|
|
2025
|
+
- name: Ruby 3.2.0 for capistrano3
|
|
2000
2026
|
env_vars:
|
|
2001
2027
|
- *2
|
|
2002
2028
|
- *3
|
|
2003
2029
|
- *4
|
|
2004
2030
|
- *5
|
|
2005
2031
|
- name: RUBY_VERSION
|
|
2006
|
-
value: 3.2.0
|
|
2032
|
+
value: 3.2.0
|
|
2007
2033
|
- name: GEMSET
|
|
2008
2034
|
value: capistrano3
|
|
2009
2035
|
- name: BUNDLE_GEMFILE
|
|
@@ -2012,17 +2038,16 @@ blocks:
|
|
|
2012
2038
|
value: latest
|
|
2013
2039
|
- name: _BUNDLER_VERSION
|
|
2014
2040
|
value: latest
|
|
2015
|
-
- *6
|
|
2016
2041
|
commands:
|
|
2017
2042
|
- "./support/bundler_wrapper exec rake test"
|
|
2018
|
-
- name: Ruby 3.2.0
|
|
2043
|
+
- name: Ruby 3.2.0 for grape
|
|
2019
2044
|
env_vars:
|
|
2020
2045
|
- *2
|
|
2021
2046
|
- *3
|
|
2022
2047
|
- *4
|
|
2023
2048
|
- *5
|
|
2024
2049
|
- name: RUBY_VERSION
|
|
2025
|
-
value: 3.2.0
|
|
2050
|
+
value: 3.2.0
|
|
2026
2051
|
- name: GEMSET
|
|
2027
2052
|
value: grape
|
|
2028
2053
|
- name: BUNDLE_GEMFILE
|
|
@@ -2031,17 +2056,34 @@ blocks:
|
|
|
2031
2056
|
value: latest
|
|
2032
2057
|
- name: _BUNDLER_VERSION
|
|
2033
2058
|
value: latest
|
|
2034
|
-
- *6
|
|
2035
2059
|
commands:
|
|
2036
2060
|
- "./support/bundler_wrapper exec rake test"
|
|
2037
|
-
- name: Ruby 3.2.0
|
|
2061
|
+
- name: Ruby 3.2.0 for hanami
|
|
2062
|
+
env_vars:
|
|
2063
|
+
- *2
|
|
2064
|
+
- *3
|
|
2065
|
+
- *4
|
|
2066
|
+
- *5
|
|
2067
|
+
- name: RUBY_VERSION
|
|
2068
|
+
value: 3.2.0
|
|
2069
|
+
- name: GEMSET
|
|
2070
|
+
value: hanami
|
|
2071
|
+
- name: BUNDLE_GEMFILE
|
|
2072
|
+
value: gemfiles/hanami.gemfile
|
|
2073
|
+
- name: _RUBYGEMS_VERSION
|
|
2074
|
+
value: latest
|
|
2075
|
+
- name: _BUNDLER_VERSION
|
|
2076
|
+
value: latest
|
|
2077
|
+
commands:
|
|
2078
|
+
- "./support/bundler_wrapper exec rake test"
|
|
2079
|
+
- name: Ruby 3.2.0 for http5
|
|
2038
2080
|
env_vars:
|
|
2039
2081
|
- *2
|
|
2040
2082
|
- *3
|
|
2041
2083
|
- *4
|
|
2042
2084
|
- *5
|
|
2043
2085
|
- name: RUBY_VERSION
|
|
2044
|
-
value: 3.2.0
|
|
2086
|
+
value: 3.2.0
|
|
2045
2087
|
- name: GEMSET
|
|
2046
2088
|
value: http5
|
|
2047
2089
|
- name: BUNDLE_GEMFILE
|
|
@@ -2050,17 +2092,16 @@ blocks:
|
|
|
2050
2092
|
value: latest
|
|
2051
2093
|
- name: _BUNDLER_VERSION
|
|
2052
2094
|
value: latest
|
|
2053
|
-
- *6
|
|
2054
2095
|
commands:
|
|
2055
2096
|
- "./support/bundler_wrapper exec rake test"
|
|
2056
|
-
- name: Ruby 3.2.0
|
|
2097
|
+
- name: Ruby 3.2.0 for padrino
|
|
2057
2098
|
env_vars:
|
|
2058
2099
|
- *2
|
|
2059
2100
|
- *3
|
|
2060
2101
|
- *4
|
|
2061
2102
|
- *5
|
|
2062
2103
|
- name: RUBY_VERSION
|
|
2063
|
-
value: 3.2.0
|
|
2104
|
+
value: 3.2.0
|
|
2064
2105
|
- name: GEMSET
|
|
2065
2106
|
value: padrino
|
|
2066
2107
|
- name: BUNDLE_GEMFILE
|
|
@@ -2069,17 +2110,16 @@ blocks:
|
|
|
2069
2110
|
value: latest
|
|
2070
2111
|
- name: _BUNDLER_VERSION
|
|
2071
2112
|
value: latest
|
|
2072
|
-
- *6
|
|
2073
2113
|
commands:
|
|
2074
2114
|
- "./support/bundler_wrapper exec rake test"
|
|
2075
|
-
- name: Ruby 3.2.0
|
|
2115
|
+
- name: Ruby 3.2.0 for psych-3
|
|
2076
2116
|
env_vars:
|
|
2077
2117
|
- *2
|
|
2078
2118
|
- *3
|
|
2079
2119
|
- *4
|
|
2080
2120
|
- *5
|
|
2081
2121
|
- name: RUBY_VERSION
|
|
2082
|
-
value: 3.2.0
|
|
2122
|
+
value: 3.2.0
|
|
2083
2123
|
- name: GEMSET
|
|
2084
2124
|
value: psych-3
|
|
2085
2125
|
- name: BUNDLE_GEMFILE
|
|
@@ -2088,17 +2128,16 @@ blocks:
|
|
|
2088
2128
|
value: latest
|
|
2089
2129
|
- name: _BUNDLER_VERSION
|
|
2090
2130
|
value: latest
|
|
2091
|
-
- *6
|
|
2092
2131
|
commands:
|
|
2093
2132
|
- "./support/bundler_wrapper exec rake test"
|
|
2094
|
-
- name: Ruby 3.2.0
|
|
2133
|
+
- name: Ruby 3.2.0 for psych-4
|
|
2095
2134
|
env_vars:
|
|
2096
2135
|
- *2
|
|
2097
2136
|
- *3
|
|
2098
2137
|
- *4
|
|
2099
2138
|
- *5
|
|
2100
2139
|
- name: RUBY_VERSION
|
|
2101
|
-
value: 3.2.0
|
|
2140
|
+
value: 3.2.0
|
|
2102
2141
|
- name: GEMSET
|
|
2103
2142
|
value: psych-4
|
|
2104
2143
|
- name: BUNDLE_GEMFILE
|
|
@@ -2107,17 +2146,16 @@ blocks:
|
|
|
2107
2146
|
value: latest
|
|
2108
2147
|
- name: _BUNDLER_VERSION
|
|
2109
2148
|
value: latest
|
|
2110
|
-
- *6
|
|
2111
2149
|
commands:
|
|
2112
2150
|
- "./support/bundler_wrapper exec rake test"
|
|
2113
|
-
- name: Ruby 3.2.0
|
|
2151
|
+
- name: Ruby 3.2.0 for que
|
|
2114
2152
|
env_vars:
|
|
2115
2153
|
- *2
|
|
2116
2154
|
- *3
|
|
2117
2155
|
- *4
|
|
2118
2156
|
- *5
|
|
2119
2157
|
- name: RUBY_VERSION
|
|
2120
|
-
value: 3.2.0
|
|
2158
|
+
value: 3.2.0
|
|
2121
2159
|
- name: GEMSET
|
|
2122
2160
|
value: que
|
|
2123
2161
|
- name: BUNDLE_GEMFILE
|
|
@@ -2126,17 +2164,16 @@ blocks:
|
|
|
2126
2164
|
value: latest
|
|
2127
2165
|
- name: _BUNDLER_VERSION
|
|
2128
2166
|
value: latest
|
|
2129
|
-
- *6
|
|
2130
2167
|
commands:
|
|
2131
2168
|
- "./support/bundler_wrapper exec rake test"
|
|
2132
|
-
- name: Ruby 3.2.0
|
|
2169
|
+
- name: Ruby 3.2.0 for que_beta
|
|
2133
2170
|
env_vars:
|
|
2134
2171
|
- *2
|
|
2135
2172
|
- *3
|
|
2136
2173
|
- *4
|
|
2137
2174
|
- *5
|
|
2138
2175
|
- name: RUBY_VERSION
|
|
2139
|
-
value: 3.2.0
|
|
2176
|
+
value: 3.2.0
|
|
2140
2177
|
- name: GEMSET
|
|
2141
2178
|
value: que_beta
|
|
2142
2179
|
- name: BUNDLE_GEMFILE
|
|
@@ -2145,17 +2182,16 @@ blocks:
|
|
|
2145
2182
|
value: latest
|
|
2146
2183
|
- name: _BUNDLER_VERSION
|
|
2147
2184
|
value: latest
|
|
2148
|
-
- *6
|
|
2149
2185
|
commands:
|
|
2150
2186
|
- "./support/bundler_wrapper exec rake test"
|
|
2151
|
-
- name: Ruby 3.2.0
|
|
2187
|
+
- name: Ruby 3.2.0 for rails-6.1
|
|
2152
2188
|
env_vars:
|
|
2153
2189
|
- *2
|
|
2154
2190
|
- *3
|
|
2155
2191
|
- *4
|
|
2156
2192
|
- *5
|
|
2157
2193
|
- name: RUBY_VERSION
|
|
2158
|
-
value: 3.2.0
|
|
2194
|
+
value: 3.2.0
|
|
2159
2195
|
- name: GEMSET
|
|
2160
2196
|
value: rails-6.1
|
|
2161
2197
|
- name: BUNDLE_GEMFILE
|
|
@@ -2164,17 +2200,16 @@ blocks:
|
|
|
2164
2200
|
value: latest
|
|
2165
2201
|
- name: _BUNDLER_VERSION
|
|
2166
2202
|
value: latest
|
|
2167
|
-
- *6
|
|
2168
2203
|
commands:
|
|
2169
2204
|
- "./support/bundler_wrapper exec rake test"
|
|
2170
|
-
- name: Ruby 3.2.0
|
|
2205
|
+
- name: Ruby 3.2.0 for rails-7.0
|
|
2171
2206
|
env_vars:
|
|
2172
2207
|
- *2
|
|
2173
2208
|
- *3
|
|
2174
2209
|
- *4
|
|
2175
2210
|
- *5
|
|
2176
2211
|
- name: RUBY_VERSION
|
|
2177
|
-
value: 3.2.0
|
|
2212
|
+
value: 3.2.0
|
|
2178
2213
|
- name: GEMSET
|
|
2179
2214
|
value: rails-7.0
|
|
2180
2215
|
- name: BUNDLE_GEMFILE
|
|
@@ -2183,17 +2218,16 @@ blocks:
|
|
|
2183
2218
|
value: latest
|
|
2184
2219
|
- name: _BUNDLER_VERSION
|
|
2185
2220
|
value: latest
|
|
2186
|
-
- *6
|
|
2187
2221
|
commands:
|
|
2188
2222
|
- "./support/bundler_wrapper exec rake test"
|
|
2189
|
-
- name: Ruby 3.2.0
|
|
2223
|
+
- name: Ruby 3.2.0 for resque-2
|
|
2190
2224
|
env_vars:
|
|
2191
2225
|
- *2
|
|
2192
2226
|
- *3
|
|
2193
2227
|
- *4
|
|
2194
2228
|
- *5
|
|
2195
2229
|
- name: RUBY_VERSION
|
|
2196
|
-
value: 3.2.0
|
|
2230
|
+
value: 3.2.0
|
|
2197
2231
|
- name: GEMSET
|
|
2198
2232
|
value: resque-2
|
|
2199
2233
|
- name: BUNDLE_GEMFILE
|
|
@@ -2202,17 +2236,16 @@ blocks:
|
|
|
2202
2236
|
value: latest
|
|
2203
2237
|
- name: _BUNDLER_VERSION
|
|
2204
2238
|
value: latest
|
|
2205
|
-
- *6
|
|
2206
2239
|
commands:
|
|
2207
2240
|
- "./support/bundler_wrapper exec rake test"
|
|
2208
|
-
- name: Ruby 3.2.0
|
|
2241
|
+
- name: Ruby 3.2.0 for sequel
|
|
2209
2242
|
env_vars:
|
|
2210
2243
|
- *2
|
|
2211
2244
|
- *3
|
|
2212
2245
|
- *4
|
|
2213
2246
|
- *5
|
|
2214
2247
|
- name: RUBY_VERSION
|
|
2215
|
-
value: 3.2.0
|
|
2248
|
+
value: 3.2.0
|
|
2216
2249
|
- name: GEMSET
|
|
2217
2250
|
value: sequel
|
|
2218
2251
|
- name: BUNDLE_GEMFILE
|
|
@@ -2221,17 +2254,16 @@ blocks:
|
|
|
2221
2254
|
value: latest
|
|
2222
2255
|
- name: _BUNDLER_VERSION
|
|
2223
2256
|
value: latest
|
|
2224
|
-
- *6
|
|
2225
2257
|
commands:
|
|
2226
2258
|
- "./support/bundler_wrapper exec rake test"
|
|
2227
|
-
- name: Ruby 3.2.0
|
|
2259
|
+
- name: Ruby 3.2.0 for sinatra
|
|
2228
2260
|
env_vars:
|
|
2229
2261
|
- *2
|
|
2230
2262
|
- *3
|
|
2231
2263
|
- *4
|
|
2232
2264
|
- *5
|
|
2233
2265
|
- name: RUBY_VERSION
|
|
2234
|
-
value: 3.2.0
|
|
2266
|
+
value: 3.2.0
|
|
2235
2267
|
- name: GEMSET
|
|
2236
2268
|
value: sinatra
|
|
2237
2269
|
- name: BUNDLE_GEMFILE
|
|
@@ -2240,17 +2272,16 @@ blocks:
|
|
|
2240
2272
|
value: latest
|
|
2241
2273
|
- name: _BUNDLER_VERSION
|
|
2242
2274
|
value: latest
|
|
2243
|
-
- *6
|
|
2244
2275
|
commands:
|
|
2245
2276
|
- "./support/bundler_wrapper exec rake test"
|
|
2246
|
-
- name: Ruby 3.2.0
|
|
2277
|
+
- name: Ruby 3.2.0 for webmachine
|
|
2247
2278
|
env_vars:
|
|
2248
2279
|
- *2
|
|
2249
2280
|
- *3
|
|
2250
2281
|
- *4
|
|
2251
2282
|
- *5
|
|
2252
2283
|
- name: RUBY_VERSION
|
|
2253
|
-
value: 3.2.0
|
|
2284
|
+
value: 3.2.0
|
|
2254
2285
|
- name: GEMSET
|
|
2255
2286
|
value: webmachine
|
|
2256
2287
|
- name: BUNDLE_GEMFILE
|
|
@@ -2259,7 +2290,6 @@ blocks:
|
|
|
2259
2290
|
value: latest
|
|
2260
2291
|
- name: _BUNDLER_VERSION
|
|
2261
2292
|
value: latest
|
|
2262
|
-
- *6
|
|
2263
2293
|
commands:
|
|
2264
2294
|
- "./support/bundler_wrapper exec rake test"
|
|
2265
2295
|
- name: Ruby jruby-9.3.9.0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# AppSignal for Ruby gem Changelog
|
|
2
2
|
|
|
3
|
+
## 3.3.1
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- [7f62ada8](https://github.com/appsignal/appsignal-ruby/commit/7f62ada8deb67a2b7d355ec0c1bc2ad1d1e2d8d1) patch - Track the Operating System release/distro in the diagnose report. This helps us with debugging what exact version of Linux an app is running on, for example.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- [1443e05f](https://github.com/appsignal/appsignal-ruby/commit/1443e05f0fa5bf6af69c40753b2d135f082871de) patch - Attempt to load C extension from lib/ directory. Fixes an issue where JRuby would fail to load
|
|
12
|
+
the extension from the ext/ directory, as the directory is cleaned after installation when using
|
|
13
|
+
RubyGems 3.4.0.
|
|
14
|
+
|
|
15
|
+
## 3.3.0
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- [e4314b5b](https://github.com/appsignal/appsignal-ruby/commit/e4314b5b2d3fdf7865555535b2324094ec620349) minor - Hanami 2 is now supported. Requests will now appear as performance measurements.
|
|
20
|
+
|
|
3
21
|
## 3.2.2
|
|
4
22
|
|
|
5
23
|
### Changed
|
data/README.md
CHANGED
|
@@ -232,6 +232,7 @@ configurations you need to run the spec suite with a specific Gemfile.
|
|
|
232
232
|
BUNDLE_GEMFILE=gemfiles/capistrano2.gemfile bundle exec rspec
|
|
233
233
|
BUNDLE_GEMFILE=gemfiles/capistrano3.gemfile bundle exec rspec
|
|
234
234
|
BUNDLE_GEMFILE=gemfiles/grape.gemfile bundle exec rspec
|
|
235
|
+
BUNDLE_GEMFILE=gemfiles/hanami.gemfile bundle exec rspec
|
|
235
236
|
BUNDLE_GEMFILE=gemfiles/http5.gemfile bundle exec rspec
|
|
236
237
|
BUNDLE_GEMFILE=gemfiles/no_dependencies.gemfile bundle exec rspec
|
|
237
238
|
BUNDLE_GEMFILE=gemfiles/padrino.gemfile bundle exec rspec
|
data/build_matrix.yml
CHANGED
|
@@ -25,12 +25,6 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
|
|
|
25
25
|
commands:
|
|
26
26
|
- checkout
|
|
27
27
|
- rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
|
|
28
|
-
- |
|
|
29
|
-
if [ -n "$_LIBYAML" ]; then
|
|
30
|
-
install-package --update libyaml-dev
|
|
31
|
-
else
|
|
32
|
-
echo Skipping libyaml-dev install
|
|
33
|
-
fi
|
|
34
28
|
- |
|
|
35
29
|
if [ -n "$_C_VERSION" ]; then
|
|
36
30
|
sem-version c $_C_VERSION
|
|
@@ -197,6 +191,8 @@ matrix:
|
|
|
197
191
|
gems: "none"
|
|
198
192
|
- ruby: "2.3.8"
|
|
199
193
|
gems: "none"
|
|
194
|
+
rubygems: "3.3.26"
|
|
195
|
+
bundler: "2.3.26"
|
|
200
196
|
- ruby: "2.4.10"
|
|
201
197
|
gems: "none"
|
|
202
198
|
- ruby: "2.5.8"
|
|
@@ -205,10 +201,7 @@ matrix:
|
|
|
205
201
|
- ruby: "2.7.7"
|
|
206
202
|
- ruby: "3.0.4"
|
|
207
203
|
- ruby: "3.1.2"
|
|
208
|
-
- ruby: "3.2.0
|
|
209
|
-
env_vars:
|
|
210
|
-
- name: "_LIBYAML"
|
|
211
|
-
value: "1"
|
|
204
|
+
- ruby: "3.2.0"
|
|
212
205
|
- ruby: "jruby-9.3.9.0"
|
|
213
206
|
gems: "minimal"
|
|
214
207
|
- ruby: "jruby-9.4.0.0"
|
|
@@ -218,6 +211,12 @@ matrix:
|
|
|
218
211
|
- gem: "capistrano2"
|
|
219
212
|
- gem: "capistrano3"
|
|
220
213
|
- gem: "grape"
|
|
214
|
+
- gem: "hanami"
|
|
215
|
+
only:
|
|
216
|
+
ruby:
|
|
217
|
+
- "3.0.4"
|
|
218
|
+
- "3.1.2"
|
|
219
|
+
- "3.2.0"
|
|
221
220
|
- gem: "http5"
|
|
222
221
|
- gem: "padrino"
|
|
223
222
|
- gem: "psych-3"
|
|
@@ -225,13 +224,13 @@ matrix:
|
|
|
225
224
|
ruby:
|
|
226
225
|
- "3.0.4"
|
|
227
226
|
- "3.1.2"
|
|
228
|
-
- "3.2.0
|
|
227
|
+
- "3.2.0"
|
|
229
228
|
- gem: "psych-4"
|
|
230
229
|
only:
|
|
231
230
|
ruby:
|
|
232
231
|
- "3.0.4"
|
|
233
232
|
- "3.1.2"
|
|
234
|
-
- "3.2.0
|
|
233
|
+
- "3.2.0"
|
|
235
234
|
- gem: "que"
|
|
236
235
|
- gem: "que_beta"
|
|
237
236
|
- gem: "rails-3.2"
|
|
@@ -304,7 +303,7 @@ matrix:
|
|
|
304
303
|
- "2.7.7"
|
|
305
304
|
- "3.0.4"
|
|
306
305
|
- "3.1.2"
|
|
307
|
-
- "3.2.0
|
|
306
|
+
- "3.2.0"
|
|
308
307
|
- "jruby-9.4.0.0"
|
|
309
308
|
- gem: "rails-7.0"
|
|
310
309
|
only:
|
|
@@ -312,7 +311,7 @@ matrix:
|
|
|
312
311
|
- "2.7.7"
|
|
313
312
|
- "3.0.4"
|
|
314
313
|
- "3.1.2"
|
|
315
|
-
- "3.2.0
|
|
314
|
+
- "3.2.0"
|
|
316
315
|
- "jruby-9.4.0.0"
|
|
317
316
|
- gem: "resque-1"
|
|
318
317
|
bundler: "1.17.3"
|
|
@@ -443,6 +443,9 @@ module Appsignal
|
|
|
443
443
|
save :os, os
|
|
444
444
|
puts_value "Operating System", os_label
|
|
445
445
|
|
|
446
|
+
distribution_file = "/etc/os-release"
|
|
447
|
+
save :os_distribution, File.exist?(distribution_file) ? File.read(distribution_file) : ""
|
|
448
|
+
|
|
446
449
|
language_version = "#{rbconfig["RUBY_PROGRAM_VERSION"]}-p#{rbconfig["PATCHLEVEL"]}"
|
|
447
450
|
save :language_version, language_version
|
|
448
451
|
puts_format "Ruby version", language_version
|
|
@@ -61,6 +61,8 @@ module Appsignal
|
|
|
61
61
|
install_for_padrino(config)
|
|
62
62
|
elsif installed_frameworks.include?(:grape)
|
|
63
63
|
install_for_grape(config)
|
|
64
|
+
elsif installed_frameworks.include?(:hanami)
|
|
65
|
+
install_for_hanami(config)
|
|
64
66
|
elsif installed_frameworks.include?(:sinatra)
|
|
65
67
|
install_for_sinatra(config)
|
|
66
68
|
else
|
|
@@ -162,6 +164,24 @@ module Appsignal
|
|
|
162
164
|
done_notice
|
|
163
165
|
end
|
|
164
166
|
|
|
167
|
+
def install_for_hanami(config)
|
|
168
|
+
puts "Installing for Hanami"
|
|
169
|
+
config[:name] = required_input(" Enter application name: ")
|
|
170
|
+
puts
|
|
171
|
+
configure(config, %w[development production staging], true)
|
|
172
|
+
|
|
173
|
+
puts "Finish Hanami installation"
|
|
174
|
+
puts " Hanami requires some manual configuration."
|
|
175
|
+
puts " After installing the gem, add the following line to config.ru:"
|
|
176
|
+
puts
|
|
177
|
+
puts " require 'appsignal/integrations/hanami'"
|
|
178
|
+
puts
|
|
179
|
+
puts " You can find more information in the documentation:"
|
|
180
|
+
puts " http://docs.appsignal.com/ruby/integrations/hanami.html"
|
|
181
|
+
press_any_key
|
|
182
|
+
done_notice
|
|
183
|
+
end
|
|
184
|
+
|
|
165
185
|
def install_for_capistrano
|
|
166
186
|
capfile = File.join(Dir.pwd, "Capfile")
|
|
167
187
|
return unless File.exist?(capfile)
|
|
@@ -256,6 +276,7 @@ module Appsignal
|
|
|
256
276
|
out << :sinatra if framework_available? "sinatra"
|
|
257
277
|
out << :padrino if framework_available? "padrino"
|
|
258
278
|
out << :grape if framework_available? "grape"
|
|
279
|
+
out << :hanami if framework_available? "hanami"
|
|
259
280
|
end
|
|
260
281
|
end
|
|
261
282
|
|
|
@@ -50,7 +50,12 @@ module Appsignal
|
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
begin
|
|
53
|
-
|
|
53
|
+
begin
|
|
54
|
+
# RubyGems will install the extension in the gem's lib directory.
|
|
55
|
+
ffi_lib File.join(File.dirname(__FILE__), "../../../lib/libappsignal.#{lib_extension}")
|
|
56
|
+
rescue LoadError
|
|
57
|
+
ffi_lib File.join(File.dirname(__FILE__), "../../../ext/libappsignal.#{lib_extension}")
|
|
58
|
+
end
|
|
54
59
|
typedef AppsignalString.by_value, :appsignal_string
|
|
55
60
|
|
|
56
61
|
attach_function :appsignal_start, [], :void
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "appsignal"
|
|
4
|
+
|
|
5
|
+
module Appsignal
|
|
6
|
+
module Integrations
|
|
7
|
+
module HanamiPlugin
|
|
8
|
+
def self.init
|
|
9
|
+
Appsignal.logger.debug("Loading Hanami integration")
|
|
10
|
+
|
|
11
|
+
hanami_app_config = ::Hanami.app.config
|
|
12
|
+
Appsignal.config = Appsignal::Config.new(
|
|
13
|
+
hanami_app_config.root || Dir.pwd,
|
|
14
|
+
hanami_app_config.env
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
Appsignal.start_logger
|
|
18
|
+
Appsignal.start
|
|
19
|
+
|
|
20
|
+
::Hanami::Action.send(:prepend, Appsignal::Integrations::HanamiIntegration) if Appsignal.active?
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module Appsignal::Integrations::HanamiIntegration
|
|
27
|
+
def call(env)
|
|
28
|
+
params = ::Hanami::Action::BaseParams.new(env)
|
|
29
|
+
request = ::Hanami::Action::Request.new(
|
|
30
|
+
:env => env,
|
|
31
|
+
:params => params,
|
|
32
|
+
:sessions_enabled => true
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
transaction = Appsignal::Transaction.create(
|
|
36
|
+
SecureRandom.uuid,
|
|
37
|
+
Appsignal::Transaction::HTTP_REQUEST,
|
|
38
|
+
request
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
begin
|
|
42
|
+
Appsignal.instrument("process_action.hanami") do
|
|
43
|
+
super.tap do |response|
|
|
44
|
+
transaction.set_metadata("status", response.status.to_s)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
rescue Exception => error # rubocop:disable Lint/RescueException
|
|
48
|
+
transaction.set_error(error)
|
|
49
|
+
transaction.set_metadata("status", "500")
|
|
50
|
+
raise error
|
|
51
|
+
ensure
|
|
52
|
+
transaction.params = request.params.to_h
|
|
53
|
+
transaction.set_action_if_nil(self.class.name)
|
|
54
|
+
transaction.set_metadata("path", request.path)
|
|
55
|
+
transaction.set_metadata("method", request.request_method)
|
|
56
|
+
transaction.set_http_or_background_queue_start
|
|
57
|
+
Appsignal::Transaction.complete_current!
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
Appsignal::Integrations::HanamiPlugin.init
|
data/lib/appsignal/version.rb
CHANGED
|
@@ -636,9 +636,12 @@ describe Appsignal::CLI::Diagnose, :api_stub => true, :send_report => :yes_cli_i
|
|
|
636
636
|
run
|
|
637
637
|
host_report = received_report["host"]
|
|
638
638
|
host_report.delete("running_in_container") # Tested elsewhere
|
|
639
|
+
distribution_file = "/etc/os-release"
|
|
640
|
+
os_distribution = File.exist?(distribution_file) ? File.read(distribution_file) : ""
|
|
639
641
|
expect(host_report).to eq(
|
|
640
642
|
"architecture" => rbconfig["host_cpu"],
|
|
641
643
|
"os" => rbconfig["host_os"],
|
|
644
|
+
"os_distribution" => os_distribution,
|
|
642
645
|
"language_version" => language_version,
|
|
643
646
|
"heroku" => false,
|
|
644
647
|
"root" => false
|
|
@@ -660,7 +660,73 @@ describe Appsignal::CLI::Install do
|
|
|
660
660
|
end
|
|
661
661
|
end
|
|
662
662
|
|
|
663
|
-
if
|
|
663
|
+
if hanami2_present?
|
|
664
|
+
context "with hanami" do
|
|
665
|
+
it_behaves_like "push_api_key validation"
|
|
666
|
+
it_behaves_like "requires an application name"
|
|
667
|
+
|
|
668
|
+
describe "hanami specific tests" do
|
|
669
|
+
let(:installation_instructions) do
|
|
670
|
+
[
|
|
671
|
+
"Installing for Hanami",
|
|
672
|
+
"Hanami requires some manual configuration.",
|
|
673
|
+
"http://docs.appsignal.com/ruby/integrations/hanami.html"
|
|
674
|
+
]
|
|
675
|
+
end
|
|
676
|
+
let(:app_name) { "Test app" }
|
|
677
|
+
before { enter_app_name app_name }
|
|
678
|
+
|
|
679
|
+
describe "configuration with environment variables" do
|
|
680
|
+
before { choose_environment_config }
|
|
681
|
+
|
|
682
|
+
it_behaves_like "windows installation"
|
|
683
|
+
it_behaves_like "capistrano install"
|
|
684
|
+
it_behaves_like "demo data"
|
|
685
|
+
|
|
686
|
+
it "prints environment variables" do
|
|
687
|
+
run
|
|
688
|
+
|
|
689
|
+
expect(output).to include_env_push_api_key(push_api_key)
|
|
690
|
+
expect(output).to include_env_app_name(app_name)
|
|
691
|
+
end
|
|
692
|
+
|
|
693
|
+
it "completes the installation" do
|
|
694
|
+
run
|
|
695
|
+
|
|
696
|
+
expect(output).to include(*installation_instructions)
|
|
697
|
+
expect(output).to include_complete_install
|
|
698
|
+
end
|
|
699
|
+
end
|
|
700
|
+
|
|
701
|
+
describe "configure with a configuration file" do
|
|
702
|
+
before { choose_config_file }
|
|
703
|
+
|
|
704
|
+
it_behaves_like "windows installation"
|
|
705
|
+
it_behaves_like "capistrano install"
|
|
706
|
+
it_behaves_like "demo data"
|
|
707
|
+
|
|
708
|
+
it "writes configuration to file" do
|
|
709
|
+
run
|
|
710
|
+
expect(output).to include_file_config
|
|
711
|
+
expect(config_file).to configure_app_name(app_name)
|
|
712
|
+
expect(config_file).to configure_push_api_key(push_api_key)
|
|
713
|
+
expect(config_file).to configure_environment("development")
|
|
714
|
+
expect(config_file).to configure_environment("staging")
|
|
715
|
+
expect(config_file).to configure_environment("production")
|
|
716
|
+
end
|
|
717
|
+
|
|
718
|
+
it "completes the installation" do
|
|
719
|
+
run
|
|
720
|
+
|
|
721
|
+
expect(output).to include(*installation_instructions)
|
|
722
|
+
expect(output).to include_complete_install
|
|
723
|
+
end
|
|
724
|
+
end
|
|
725
|
+
end
|
|
726
|
+
end
|
|
727
|
+
end
|
|
728
|
+
|
|
729
|
+
if !rails_present? && !sinatra_present? && !padrino_present? && !grape_present? && !hanami2_present?
|
|
664
730
|
context "with unknown framework" do
|
|
665
731
|
let(:push_api_key) { "my_key" }
|
|
666
732
|
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
if DependencyHelper.hanami2_present?
|
|
4
|
+
describe "Hanami integration" do
|
|
5
|
+
require "appsignal/integrations/hanami"
|
|
6
|
+
|
|
7
|
+
before do
|
|
8
|
+
allow(Appsignal).to receive(:active?).and_return(true)
|
|
9
|
+
allow(Appsignal).to receive(:start).and_return(true)
|
|
10
|
+
allow(Appsignal).to receive(:start_logger).and_return(true)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe Appsignal::Integrations::HanamiPlugin do
|
|
14
|
+
it "starts AppSignal on init" do
|
|
15
|
+
expect(Appsignal).to receive(:start)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "starts the logger on init" do
|
|
19
|
+
expect(Appsignal).to receive(:start_logger)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "prepends the integration to Hanami" do
|
|
23
|
+
expect(::Hanami::Action).to receive(:send).with(:prepend, Appsignal::Integrations::HanamiIntegration)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
context "when not active" do
|
|
27
|
+
before { allow(Appsignal).to receive(:active?).and_return(false) }
|
|
28
|
+
|
|
29
|
+
it "does not prepend the integration" do
|
|
30
|
+
expect(::Hanami::Action).to_not receive(:send).with(:prepend, Appsignal::Integrations::HanamiIntegration)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context "when APPSIGNAL_APP_ENV ENV var is provided" do
|
|
35
|
+
it "uses this as the environment" do
|
|
36
|
+
ENV["APPSIGNAL_APP_ENV"] = "custom"
|
|
37
|
+
|
|
38
|
+
# Reset the plugin to pull down the latest data
|
|
39
|
+
Appsignal::Integrations::HanamiPlugin.init
|
|
40
|
+
|
|
41
|
+
expect(Appsignal.config.env).to eq("custom")
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context "when APPSIGNAL_APP_ENV ENV var is not provided" do
|
|
46
|
+
it "uses the Hanami environment" do
|
|
47
|
+
# Reset the plugin to pull down the latest data
|
|
48
|
+
Appsignal::Integrations::HanamiPlugin.init
|
|
49
|
+
|
|
50
|
+
expect(Appsignal.config.env).to eq("test")
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
after { Appsignal::Integrations::HanamiPlugin.init }
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
describe "Hanami Actions" do
|
|
58
|
+
let(:env) do
|
|
59
|
+
Rack::MockRequest.env_for(
|
|
60
|
+
"/books",
|
|
61
|
+
"router.params" => router_params,
|
|
62
|
+
:method => "GET"
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
let(:router_params) { { :foo => "bar", :baz => "qux" } }
|
|
67
|
+
|
|
68
|
+
describe "#call", :error => false do
|
|
69
|
+
it "sets params" do
|
|
70
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:params=).with(router_params)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "sets the action name" do
|
|
74
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_action_if_nil).with("HanamiApp::Actions::Books::Index")
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it "sets the metadata" do
|
|
78
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_metadata).with("status", "200")
|
|
79
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_metadata).with("path", "/books")
|
|
80
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_metadata).with("method", "GET")
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
it "sets the queue start" do
|
|
84
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_http_or_background_queue_start)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
context "with error", :error => true do
|
|
88
|
+
let(:error) { HanamiApp::ExampleError }
|
|
89
|
+
|
|
90
|
+
it "records the exception" do
|
|
91
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_error).with(error)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
it "sets the status to 500" do
|
|
95
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_metadata).with("status", "500")
|
|
96
|
+
expect_any_instance_of(Appsignal::Transaction).to receive(:set_metadata).twice
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
after(:error => false) do
|
|
101
|
+
Appsignal::Integrations::HanamiPlugin.init
|
|
102
|
+
|
|
103
|
+
action = HanamiApp::Actions::Books::Index.new
|
|
104
|
+
action.call(env)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
after(:error => true) do
|
|
108
|
+
Appsignal::Integrations::HanamiPlugin.init
|
|
109
|
+
|
|
110
|
+
action = HanamiApp::Actions::Books::Error.new
|
|
111
|
+
expect { action.call(env) }.to raise_error(error)
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -29,6 +29,11 @@ if DependencyHelper.rails_present?
|
|
|
29
29
|
require f
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
|
+
if DependencyHelper.hanami2_present?
|
|
33
|
+
Dir[File.join(DirectoryHelper.support_dir, "hanami", "*.rb")].each do |f|
|
|
34
|
+
require f
|
|
35
|
+
end
|
|
36
|
+
end
|
|
32
37
|
require "pry" if DependencyHelper.dependency_present?("pry")
|
|
33
38
|
require "appsignal"
|
|
34
39
|
# Include patches of AppSignal modules and classes to make test helpers
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "hanami"
|
|
4
|
+
require "hanami/action"
|
|
5
|
+
|
|
6
|
+
module HanamiApp
|
|
7
|
+
class App < Hanami::App
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
class Routes < Hanami::Routes
|
|
11
|
+
get "/books", :to => "books.index"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
module Actions
|
|
15
|
+
module Books
|
|
16
|
+
class Index < Hanami::Action
|
|
17
|
+
def handle(_request, response)
|
|
18
|
+
response.body = "YOU REQUESTED BOOKS!"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
class Error < Hanami::Action
|
|
23
|
+
def handle(_request, _response)
|
|
24
|
+
raise ExampleError
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
class ExampleError < StandardError; end
|
|
31
|
+
end
|
|
@@ -9,6 +9,10 @@ module DependencyHelper
|
|
|
9
9
|
ruby_version.segments.take(2) == [2, 0]
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
+
def ruby_3_0_or_newer?
|
|
13
|
+
ruby_version >= Gem::Version.new("3.0.0")
|
|
14
|
+
end
|
|
15
|
+
|
|
12
16
|
def ruby_3_1_or_newer?
|
|
13
17
|
ruby_version >= Gem::Version.new("3.1.0")
|
|
14
18
|
end
|
|
@@ -115,6 +119,14 @@ module DependencyHelper
|
|
|
115
119
|
dependency_present? "que"
|
|
116
120
|
end
|
|
117
121
|
|
|
122
|
+
def hanami_present?
|
|
123
|
+
dependency_present? "hanami"
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def hanami2_present?
|
|
127
|
+
ruby_3_0_or_newer? && hanami_present? && Gem.loaded_specs["hanami"].version >= Gem::Version.new("2.0")
|
|
128
|
+
end
|
|
129
|
+
|
|
118
130
|
def dependency_present?(dependency_file)
|
|
119
131
|
Gem.loaded_specs.key? dependency_file
|
|
120
132
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appsignal
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.1
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Beekman
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2023-01-12 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rack
|
|
@@ -175,6 +175,7 @@ files:
|
|
|
175
175
|
- gemfiles/capistrano2.gemfile
|
|
176
176
|
- gemfiles/capistrano3.gemfile
|
|
177
177
|
- gemfiles/grape.gemfile
|
|
178
|
+
- gemfiles/hanami.gemfile
|
|
178
179
|
- gemfiles/http5.gemfile
|
|
179
180
|
- gemfiles/no_dependencies.gemfile
|
|
180
181
|
- gemfiles/padrino.gemfile
|
|
@@ -254,6 +255,7 @@ files:
|
|
|
254
255
|
- lib/appsignal/integrations/delayed_job_plugin.rb
|
|
255
256
|
- lib/appsignal/integrations/excon.rb
|
|
256
257
|
- lib/appsignal/integrations/grape.rb
|
|
258
|
+
- lib/appsignal/integrations/hanami.rb
|
|
257
259
|
- lib/appsignal/integrations/http.rb
|
|
258
260
|
- lib/appsignal/integrations/mongo_ruby_driver.rb
|
|
259
261
|
- lib/appsignal/integrations/net_http.rb
|
|
@@ -353,6 +355,7 @@ files:
|
|
|
353
355
|
- spec/lib/appsignal/hooks_spec.rb
|
|
354
356
|
- spec/lib/appsignal/integrations/data_mapper_spec.rb
|
|
355
357
|
- spec/lib/appsignal/integrations/grape_spec.rb
|
|
358
|
+
- spec/lib/appsignal/integrations/hanami_spec.rb
|
|
356
359
|
- spec/lib/appsignal/integrations/http_spec.rb
|
|
357
360
|
- spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
|
|
358
361
|
- spec/lib/appsignal/integrations/object_spec.rb
|
|
@@ -392,6 +395,7 @@ files:
|
|
|
392
395
|
- spec/support/fixtures/projects/valid/config/environments/test.rb
|
|
393
396
|
- spec/support/fixtures/projects/valid/log/.gitkeep
|
|
394
397
|
- spec/support/fixtures/uploaded_file.txt
|
|
398
|
+
- spec/support/hanami/hanami_app.rb
|
|
395
399
|
- spec/support/helpers/action_mailer_helpers.rb
|
|
396
400
|
- spec/support/helpers/activejob_helpers.rb
|
|
397
401
|
- spec/support/helpers/api_request_helper.rb
|
|
@@ -448,7 +452,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
448
452
|
- !ruby/object:Gem::Version
|
|
449
453
|
version: '0'
|
|
450
454
|
requirements: []
|
|
451
|
-
rubygems_version: 3.
|
|
455
|
+
rubygems_version: 3.4.2
|
|
452
456
|
signing_key:
|
|
453
457
|
specification_version: 4
|
|
454
458
|
summary: Logs performance and exception data from your app to appsignal.com
|
|
@@ -508,6 +512,7 @@ test_files:
|
|
|
508
512
|
- spec/lib/appsignal/hooks_spec.rb
|
|
509
513
|
- spec/lib/appsignal/integrations/data_mapper_spec.rb
|
|
510
514
|
- spec/lib/appsignal/integrations/grape_spec.rb
|
|
515
|
+
- spec/lib/appsignal/integrations/hanami_spec.rb
|
|
511
516
|
- spec/lib/appsignal/integrations/http_spec.rb
|
|
512
517
|
- spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
|
|
513
518
|
- spec/lib/appsignal/integrations/object_spec.rb
|
|
@@ -547,6 +552,7 @@ test_files:
|
|
|
547
552
|
- spec/support/fixtures/projects/valid/config/environments/test.rb
|
|
548
553
|
- spec/support/fixtures/projects/valid/log/.gitkeep
|
|
549
554
|
- spec/support/fixtures/uploaded_file.txt
|
|
555
|
+
- spec/support/hanami/hanami_app.rb
|
|
550
556
|
- spec/support/helpers/action_mailer_helpers.rb
|
|
551
557
|
- spec/support/helpers/activejob_helpers.rb
|
|
552
558
|
- spec/support/helpers/api_request_helper.rb
|