readme-metrics 2.0.1 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +72 -0
- data/Gemfile +9 -9
- data/Gemfile.lock +28 -34
- data/LICENSE +1 -1
- data/Makefile +20 -0
- data/README.md +21 -102
- data/Rakefile +2 -2
- data/bin/console +3 -3
- data/examples/metrics-rails/.gitattributes +7 -0
- data/examples/metrics-rails/.gitignore +20 -0
- data/examples/metrics-rails/.ruby-version +1 -0
- data/examples/metrics-rails/Gemfile +31 -0
- data/examples/metrics-rails/Gemfile.lock +189 -0
- data/examples/metrics-rails/README.md +38 -0
- data/examples/metrics-rails/Rakefile +6 -0
- data/examples/metrics-rails/app/controllers/application_controller.rb +2 -0
- data/examples/metrics-rails/app/controllers/metrics_controller.rb +34 -0
- data/examples/metrics-rails/app/models/application_record.rb +3 -0
- data/examples/metrics-rails/bin/bundle +116 -0
- data/examples/metrics-rails/bin/rails +4 -0
- data/examples/metrics-rails/bin/rake +4 -0
- data/examples/metrics-rails/bin/setup +33 -0
- data/examples/metrics-rails/config/application.rb +52 -0
- data/examples/metrics-rails/config/boot.rb +3 -0
- data/examples/metrics-rails/config/credentials.yml.enc +1 -0
- data/examples/metrics-rails/config/database.yml +25 -0
- data/examples/metrics-rails/config/environment.rb +5 -0
- data/examples/metrics-rails/config/environments/development.rb +56 -0
- data/examples/metrics-rails/config/environments/production.rb +68 -0
- data/examples/metrics-rails/config/environments/test.rb +50 -0
- data/examples/metrics-rails/config/initializers/cors.rb +16 -0
- data/examples/metrics-rails/config/initializers/filter_parameter_logging.rb +8 -0
- data/examples/metrics-rails/config/initializers/inflections.rb +16 -0
- data/examples/metrics-rails/config/locales/en.yml +33 -0
- data/examples/metrics-rails/config/puma.rb +43 -0
- data/examples/metrics-rails/config/routes.rb +5 -0
- data/examples/metrics-rails/config.ru +6 -0
- data/examples/metrics-rails/db/seeds.rb +7 -0
- data/examples/metrics-rails/public/robots.txt +1 -0
- data/lib/readme/content_type_helper.rb +6 -6
- data/lib/readme/errors.rb +7 -5
- data/lib/readme/filter.rb +2 -2
- data/lib/readme/har/collection.rb +3 -1
- data/lib/readme/har/request_serializer.rb +14 -14
- data/lib/readme/har/response_serializer.rb +3 -3
- data/lib/readme/har/serializer.rb +12 -10
- data/lib/readme/http_request.rb +18 -9
- data/lib/readme/http_response.rb +7 -7
- data/lib/readme/metrics/version.rb +3 -1
- data/lib/readme/metrics.rb +33 -42
- data/lib/readme/payload.rb +14 -6
- data/lib/readme/request_queue.rb +4 -4
- data/lib/readme/webhook.rb +42 -0
- data/readme-metrics.gemspec +14 -15
- metadata +38 -33
- data/SECURITY.md +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e56a6d3e2f6345dcc6b17a00b3de12223b5982bbf2ed1d88c78e7bc6155a4a1
|
4
|
+
data.tar.gz: 40223680001e31af74173f227cc0b56cd74ef5c0c81437328d2506a303482d2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afd8efd488128281a9d3e5c952b17a678e499e145aa6a448fdbe05a8b748bdcd36e2d01ff83195362931fd8158d884a8804b72e8f9d863237a729e632acab611
|
7
|
+
data.tar.gz: ebd3eb9482710916a7d969d6315147ab36526d53de86f12abc49892325d7405de2074d2744a89cb3160ea9b37050117335b1fc834900d74470d2301273865fda
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop-performance
|
3
|
+
- rubocop-rspec
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
NewCops: enable
|
7
|
+
TargetRubyVersion: 2.7
|
8
|
+
|
9
|
+
# https://docs.rubocop.org/rubocop/cops_layout.html
|
10
|
+
Layout/LineLength:
|
11
|
+
Max: 150
|
12
|
+
Exclude:
|
13
|
+
- examples/metrics-rails/bin/*
|
14
|
+
|
15
|
+
# https://docs.rubocop.org/rubocop/cops_metrics.html
|
16
|
+
Metrics/AbcSize:
|
17
|
+
Enabled: false
|
18
|
+
Metrics/CyclomaticComplexity:
|
19
|
+
Max: 20
|
20
|
+
Metrics/BlockLength:
|
21
|
+
Exclude:
|
22
|
+
- spec/readme/*.rb
|
23
|
+
- spec/readme/har/*.rb
|
24
|
+
Metrics/ClassLength:
|
25
|
+
Enabled: false
|
26
|
+
Metrics/MethodLength:
|
27
|
+
Enabled: false
|
28
|
+
Metrics/PerceivedComplexity:
|
29
|
+
Max: 20
|
30
|
+
|
31
|
+
# https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec
|
32
|
+
RSpec/AnyInstance:
|
33
|
+
Enabled: false
|
34
|
+
RSpec/ExampleLength:
|
35
|
+
Enabled: false
|
36
|
+
RSpec/LeakyConstantDeclaration:
|
37
|
+
Exclude:
|
38
|
+
- spec/readme/*.rb
|
39
|
+
RSpec/MultipleExpectations:
|
40
|
+
Enabled: false
|
41
|
+
RSpec/VerifiedDoubles:
|
42
|
+
Enabled: false
|
43
|
+
|
44
|
+
# https://docs.rubocop.org/rubocop/cops_style.html
|
45
|
+
Style/BlockDelimiters:
|
46
|
+
Exclude:
|
47
|
+
- spec/**/*
|
48
|
+
Style/ClassVars:
|
49
|
+
Exclude:
|
50
|
+
- 'lib/readme/metrics.rb'
|
51
|
+
Style/Documentation:
|
52
|
+
Enabled: false
|
53
|
+
Style/ExpandPathArguments:
|
54
|
+
Enabled: false
|
55
|
+
Style/FrozenStringLiteralComment:
|
56
|
+
Enabled: false
|
57
|
+
Style/GuardClause:
|
58
|
+
Exclude:
|
59
|
+
- 'lib/readme/filter.rb'
|
60
|
+
- 'lib/readme/metrics.rb'
|
61
|
+
Style/IfUnlessModifier:
|
62
|
+
Exclude:
|
63
|
+
- 'lib/readme/metrics.rb'
|
64
|
+
Style/RescueStandardError:
|
65
|
+
# We should ideally have this rule enabled but I'm paranoid that we don't have full documentation
|
66
|
+
# on all types of errors that might be thrown in the couple places this rule is being suppressed
|
67
|
+
# and by only catching `StandardError` we'll miss out on something else and potentially take down
|
68
|
+
# someones integration.
|
69
|
+
Enabled: false
|
70
|
+
|
71
|
+
Gemspec/RequireMFA:
|
72
|
+
Enabled: false
|
data/Gemfile
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
source
|
3
|
+
source 'https://rubygems.org'
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in readme-metrics.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
gem
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
12
|
-
gem
|
13
|
-
gem
|
14
|
-
gem
|
15
|
-
gem
|
8
|
+
gem 'json-schema'
|
9
|
+
gem 'rack-test'
|
10
|
+
gem 'rake', '~> 12.0'
|
11
|
+
gem 'rspec', '~> 3.0'
|
12
|
+
gem 'rubocop', require: false
|
13
|
+
gem 'rubocop-performance', require: false
|
14
|
+
gem 'rubocop-rspec', require: false
|
15
|
+
gem 'webmock'
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
readme-metrics (2.0
|
4
|
+
readme-metrics (2.1.0)
|
5
5
|
httparty (~> 0.18)
|
6
|
-
os (~> 1.1.4)
|
7
|
-
uuid (~> 2.3.8)
|
8
6
|
|
9
7
|
GEM
|
10
8
|
remote: https://rubygems.org/
|
11
9
|
specs:
|
12
10
|
addressable (2.8.0)
|
13
11
|
public_suffix (>= 2.0.2, < 5.0)
|
14
|
-
ast (2.4.
|
12
|
+
ast (2.4.2)
|
15
13
|
crack (0.4.3)
|
16
14
|
safe_yaml (~> 1.0.0)
|
17
15
|
diff-lcs (1.4.4)
|
@@ -19,26 +17,24 @@ GEM
|
|
19
17
|
httparty (0.20.0)
|
20
18
|
mime-types (~> 3.0)
|
21
19
|
multi_xml (>= 0.5.2)
|
20
|
+
json (2.6.2)
|
22
21
|
json-schema (2.8.1)
|
23
22
|
addressable (>= 2.4)
|
24
|
-
macaddr (1.7.2)
|
25
|
-
systemu (~> 2.6.5)
|
26
23
|
mime-types (3.4.1)
|
27
24
|
mime-types-data (~> 3.2015)
|
28
25
|
mime-types-data (3.2022.0105)
|
29
26
|
multi_xml (0.6.0)
|
30
|
-
|
31
|
-
|
32
|
-
parser (2.7.1.4)
|
27
|
+
parallel (1.22.1)
|
28
|
+
parser (3.1.2.1)
|
33
29
|
ast (~> 2.4.1)
|
34
30
|
public_suffix (4.0.6)
|
35
|
-
rack (2.2.3)
|
31
|
+
rack (2.2.3.1)
|
36
32
|
rack-test (1.1.0)
|
37
33
|
rack (>= 1.0, < 3)
|
38
|
-
rainbow (3.
|
34
|
+
rainbow (3.1.1)
|
39
35
|
rake (12.3.3)
|
40
|
-
regexp_parser (
|
41
|
-
rexml (3.2.
|
36
|
+
regexp_parser (2.5.0)
|
37
|
+
rexml (3.2.5)
|
42
38
|
rspec (3.9.0)
|
43
39
|
rspec-core (~> 3.9.0)
|
44
40
|
rspec-expectations (~> 3.9.0)
|
@@ -52,28 +48,26 @@ GEM
|
|
52
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
53
49
|
rspec-support (~> 3.9.0)
|
54
50
|
rspec-support (3.9.3)
|
55
|
-
rubocop (
|
51
|
+
rubocop (1.36.0)
|
52
|
+
json (~> 2.3)
|
56
53
|
parallel (~> 1.10)
|
57
|
-
parser (>=
|
54
|
+
parser (>= 3.1.2.1)
|
58
55
|
rainbow (>= 2.2.2, < 4.0)
|
59
|
-
regexp_parser (>= 1.
|
60
|
-
rexml
|
61
|
-
rubocop-ast (>=
|
56
|
+
regexp_parser (>= 1.8, < 3.0)
|
57
|
+
rexml (>= 3.2.5, < 4.0)
|
58
|
+
rubocop-ast (>= 1.20.1, < 2.0)
|
62
59
|
ruby-progressbar (~> 1.7)
|
63
|
-
unicode-display_width (>= 1.4.0, <
|
64
|
-
rubocop-ast (
|
65
|
-
parser (>=
|
66
|
-
rubocop-performance (1.
|
67
|
-
rubocop (>=
|
68
|
-
|
60
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
61
|
+
rubocop-ast (1.21.0)
|
62
|
+
parser (>= 3.1.1.0)
|
63
|
+
rubocop-performance (1.14.3)
|
64
|
+
rubocop (>= 1.7.0, < 2.0)
|
65
|
+
rubocop-ast (>= 0.4.0)
|
66
|
+
rubocop-rspec (2.12.1)
|
67
|
+
rubocop (~> 1.31)
|
68
|
+
ruby-progressbar (1.11.0)
|
69
69
|
safe_yaml (1.0.5)
|
70
|
-
|
71
|
-
rubocop (~> 0.85.0)
|
72
|
-
rubocop-performance (~> 1.6.0)
|
73
|
-
systemu (2.6.5)
|
74
|
-
unicode-display_width (1.7.0)
|
75
|
-
uuid (2.3.9)
|
76
|
-
macaddr (~> 1.0)
|
70
|
+
unicode-display_width (2.2.0)
|
77
71
|
webmock (3.8.3)
|
78
72
|
addressable (>= 2.3.6)
|
79
73
|
crack (>= 0.3.2)
|
@@ -84,13 +78,13 @@ PLATFORMS
|
|
84
78
|
|
85
79
|
DEPENDENCIES
|
86
80
|
json-schema
|
87
|
-
os
|
88
81
|
rack-test
|
89
82
|
rake (~> 12.0)
|
90
83
|
readme-metrics!
|
91
84
|
rspec (~> 3.0)
|
92
|
-
|
93
|
-
|
85
|
+
rubocop
|
86
|
+
rubocop-performance
|
87
|
+
rubocop-rspec
|
94
88
|
webmock
|
95
89
|
|
96
90
|
BUNDLED WITH
|
data/LICENSE
CHANGED
data/Makefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
.PHONY: help test
|
2
|
+
API_KEY ?= $(shell bash -c 'read -p "ReadMe API Key: " api_key; echo $$api_key')
|
3
|
+
|
4
|
+
install: ## Install all dependencies
|
5
|
+
bundle
|
6
|
+
|
7
|
+
lint: ## Run code standard checks
|
8
|
+
bundle exec rubocop
|
9
|
+
|
10
|
+
lint-fix: ## Attempt to automatically fix any code standard violations
|
11
|
+
bundle exec rubocop --autocorrect
|
12
|
+
|
13
|
+
serve-metrics-rails: ## Start the local Express server to test Metrics
|
14
|
+
README_API_KEY=$(API_KEY) ./examples/metrics-rails/bin/rails server
|
15
|
+
|
16
|
+
test: ## Run unit tests
|
17
|
+
rake spec
|
18
|
+
|
19
|
+
help: ## Display this help screen
|
20
|
+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
data/README.md
CHANGED
@@ -1,111 +1,30 @@
|
|
1
|
-
#
|
1
|
+
# ReadMe Metrics
|
2
2
|
|
3
|
-
|
3
|
+
<p align="center">
|
4
|
+
<img src="https://user-images.githubusercontent.com/33762/182927634-2aebeb46-c215-4ac3-9e98-61f931e33583.png" />
|
5
|
+
</p>
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
+
<p align="center">
|
8
|
+
Track usage of your API and troubleshoot issues faster.
|
9
|
+
</p>
|
7
10
|
|
8
|
-
|
11
|
+
<p align="center">
|
12
|
+
<a href="https://rubygems.org/gems/readme-metrics"><img src="https://img.shields.io/gem/v/readme-metrics.svg?style=for-the-badge" alt="Latest release"></a>
|
13
|
+
<a href="https://github.com/readmeio/metrics-sdks"><img src="https://img.shields.io/github/workflow/status/readmeio/metrics-sdks/ruby.svg?style=for-the-badge" alt="Build status"></a>
|
14
|
+
</p>
|
9
15
|
|
10
|
-
|
16
|
+
With [ReadMe's Metrics API](https://readme.com/metrics) your team can get deep insights into your API's usage. If you're a developer, it takes a few small steps to send your API logs to [ReadMe](http://readme.com). Here's an overview of how the integration works:
|
11
17
|
|
12
|
-
|
18
|
+
- You add the ReadMe middleware to your Rails application.
|
19
|
+
- The middleware sends to ReadMe the request and response objects that your Express server generates each time a user makes a request to your API. The entire objects are sent, unless you allow or deny keys.
|
20
|
+
- ReadMe extracts information to display in Metrics, such as which endpoint is being called, response code, and error messages. It also identifies the customer who called your API, using whichever keys in the middleware you call out as containing relevant customer info.
|
13
21
|
|
14
|
-
|
15
|
-
|
16
|
-
## Usage
|
17
|
-
|
18
|
-
`Readme::Metrics` is a Rack middleware and is compatible with all Rack-based
|
19
|
-
apps, including Rails.
|
20
|
-
|
21
|
-
When configuring the middleware, you must provide a block to tell the
|
22
|
-
middleware how to get values for the current user. These may be values taken
|
23
|
-
from the environment, or you may hardcode them.
|
24
|
-
|
25
|
-
If you're using Warden-based authentication like Devise, you may fetch the
|
26
|
-
current_user for a given request from the environment.
|
27
|
-
|
28
|
-
### SDK Options
|
29
|
-
|
30
|
-
Option | Type | Description
|
31
|
-
-----------------|------------------|---------
|
32
|
-
`reject_params` | Array of strings | If you have sensitive data you'd like to prevent from being sent to the Metrics API via headers, query params or payload bodies, you can specify a list of keys to filter via the `reject_params` option. NOTE: cannot be used in conjunction with `allow_only`. You may only specify either `reject_params` or `allow_only` keys, not both.
|
33
|
-
`allow_only` | Array of strings | The inverse of `reject_params`. If included all parameters but those in this list will be redacted. NOTE: cannot be used in conjunction with `reject_params`. You may only specify either `reject_params` or `allow_only` keys, not both.
|
34
|
-
`development` | bool | Defaults to `false`. When `true`, the log will be marked as a development log. This is great for separating staging or test data from data coming from customers.
|
35
|
-
`buffer_length` | number | Defaults to `1`. This value should be a number representing the amount of requests to group up before sending them over the network. Increasing this value may increase performance by batching, but will also delay the time until logs show up in the dashboard given the buffer size needs to be reached in order for the logs to be sent.
|
36
|
-
|
37
|
-
### Payload Data
|
38
|
-
|
39
|
-
Option | Required? | Type | Description
|
40
|
-
--------------------|-----------|------------------|----------
|
41
|
-
`api_key` | yes | string | API Key used to make the request. Note that this is different from the `readmeAPIKey` described above in the options data. This should be a value from your API that is unique to each of your users.
|
42
|
-
`label` | no | string | This will be the user's display name in the API Metrics Dashboard, since it's much easier to remember a name than an API key.
|
43
|
-
`email` | no | string | Email of the user that is making the call.
|
44
|
-
`log_id` | no | string | A UUIDv4 identifier. If not provided this will be automatically generated for you. Providing your own `log_id` is useful if you want to know the URL of the log in advance, i.e. `{your_base_url}/logs/{your_log_id}`.
|
45
|
-
`ignore` | no | bool | A flag that when set to `true` will suppress sending the log.
|
46
|
-
|
47
|
-
### Rails
|
48
|
-
|
49
|
-
```ruby
|
50
|
-
# config/environments/development.rb or config/environments/production.rb
|
51
|
-
require "readme/metrics"
|
52
|
-
|
53
|
-
sdk_options = {
|
54
|
-
api_key: "<<apiKey>>",
|
55
|
-
development: false,
|
56
|
-
reject_params: ["not_included", "dont_send"],
|
57
|
-
buffer_length: 5,
|
58
|
-
}
|
59
|
-
|
60
|
-
config.middleware.use Readme::Metrics, sdk_options do |env|
|
61
|
-
current_user = env['warden'].authenticate
|
62
|
-
|
63
|
-
payload_data = current_user.present? ? {
|
64
|
-
api_key: current_user.api_key, # Not the same as the ReadMe API Key
|
65
|
-
label: current_user.name,
|
66
|
-
email: current_user.email
|
67
|
-
} : {
|
68
|
-
api_key: "guest",
|
69
|
-
label: "Guest User",
|
70
|
-
email: "guest@example.com"
|
71
|
-
}
|
72
|
-
|
73
|
-
payload_data
|
74
|
-
end
|
22
|
+
```bash
|
23
|
+
gem "readme-metrics"
|
75
24
|
```
|
76
25
|
|
77
|
-
|
78
|
-
|
79
|
-
```ruby
|
80
|
-
# config.ru
|
81
|
-
sdk_options = {
|
82
|
-
api_key: "<<apiKey>>",
|
83
|
-
development: false,
|
84
|
-
reject_params: ["not_included", "dont_send"]
|
85
|
-
}
|
86
|
-
|
87
|
-
use Readme::Metrics, sdk_options do |env|
|
88
|
-
{
|
89
|
-
api_key: "owlbert_api_key"
|
90
|
-
label: "Owlbert",
|
91
|
-
email: "owlbert@example.com",
|
92
|
-
log_id: SecureRandom.uuid
|
93
|
-
}
|
94
|
-
end
|
95
|
-
|
96
|
-
run YourApp.new
|
97
|
-
```
|
98
|
-
|
99
|
-
### Sample Applications
|
100
|
-
|
101
|
-
- [Rails](https://github.com/readmeio/metrics-sdk-rails-sample)
|
102
|
-
- [Rack](https://github.com/readmeio/metrics-sdk-racks-sample)
|
103
|
-
- [Sinatra](https://github.com/readmeio/metrics-sdk-sinatra-example)
|
104
|
-
|
105
|
-
### Contributing
|
106
|
-
|
107
|
-
Ensure you are running the version of ruby specified in the `Gemfile.lock`; use `rvm` to easy manage ruby versions. Run `bundle` to install dependencies, `rake` or `rspec` to ensure tests pass, and `bundle exec standardrb` to lint the code.
|
108
|
-
|
109
|
-
## License
|
26
|
+
**For more information on setup, check out our [integration documentation](https://docs.readme.com/docs/ruby-api-metrics-set-up).**
|
110
27
|
|
111
|
-
|
28
|
+
> 🚧 Any Issues?
|
29
|
+
>
|
30
|
+
> Integrations can be tricky! [Contact support](https://docs.readme.com/guides/docs/contact-support) if you have any questions/issues.
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'readme/metrics'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +10,5 @@ require "readme/metrics"
|
|
10
10
|
# require "pry"
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start(__FILE__)
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
2
|
+
#
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
5
|
+
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
+
|
7
|
+
# Ignore bundler config.
|
8
|
+
/.bundle
|
9
|
+
|
10
|
+
# Ignore the default SQLite database.
|
11
|
+
/db/*.sqlite3
|
12
|
+
/db/*.sqlite3-*
|
13
|
+
|
14
|
+
# Ignore all logfiles and tempfiles.
|
15
|
+
/log/*
|
16
|
+
/tmp/*
|
17
|
+
|
18
|
+
|
19
|
+
# Ignore master key for decrypting credentials and more.
|
20
|
+
/config/master.key
|
@@ -0,0 +1 @@
|
|
1
|
+
ruby-3.1.2
|
@@ -0,0 +1,31 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
+
|
4
|
+
ruby '3.1.2'
|
5
|
+
|
6
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
7
|
+
gem 'rails', '~> 7.0.3', '>= 7.0.3.1'
|
8
|
+
|
9
|
+
# Use sqlite3 as the database for Active Record
|
10
|
+
gem 'sqlite3', '~> 1.4'
|
11
|
+
|
12
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
13
|
+
gem 'puma', '~> 5.0'
|
14
|
+
|
15
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
16
|
+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
|
17
|
+
|
18
|
+
# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
|
19
|
+
# gem "rack-cors"
|
20
|
+
|
21
|
+
group :development, :test do
|
22
|
+
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
23
|
+
gem 'debug', platforms: %i[mri mingw x64_mingw]
|
24
|
+
end
|
25
|
+
|
26
|
+
group :development do
|
27
|
+
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
28
|
+
# gem "spring"
|
29
|
+
end
|
30
|
+
|
31
|
+
gem 'readme-metrics', path: '../../'
|
@@ -0,0 +1,189 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../..
|
3
|
+
specs:
|
4
|
+
readme-metrics (2.1.0)
|
5
|
+
httparty (~> 0.18)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
actioncable (7.0.3.1)
|
11
|
+
actionpack (= 7.0.3.1)
|
12
|
+
activesupport (= 7.0.3.1)
|
13
|
+
nio4r (~> 2.0)
|
14
|
+
websocket-driver (>= 0.6.1)
|
15
|
+
actionmailbox (7.0.3.1)
|
16
|
+
actionpack (= 7.0.3.1)
|
17
|
+
activejob (= 7.0.3.1)
|
18
|
+
activerecord (= 7.0.3.1)
|
19
|
+
activestorage (= 7.0.3.1)
|
20
|
+
activesupport (= 7.0.3.1)
|
21
|
+
mail (>= 2.7.1)
|
22
|
+
net-imap
|
23
|
+
net-pop
|
24
|
+
net-smtp
|
25
|
+
actionmailer (7.0.3.1)
|
26
|
+
actionpack (= 7.0.3.1)
|
27
|
+
actionview (= 7.0.3.1)
|
28
|
+
activejob (= 7.0.3.1)
|
29
|
+
activesupport (= 7.0.3.1)
|
30
|
+
mail (~> 2.5, >= 2.5.4)
|
31
|
+
net-imap
|
32
|
+
net-pop
|
33
|
+
net-smtp
|
34
|
+
rails-dom-testing (~> 2.0)
|
35
|
+
actionpack (7.0.3.1)
|
36
|
+
actionview (= 7.0.3.1)
|
37
|
+
activesupport (= 7.0.3.1)
|
38
|
+
rack (~> 2.0, >= 2.2.0)
|
39
|
+
rack-test (>= 0.6.3)
|
40
|
+
rails-dom-testing (~> 2.0)
|
41
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
42
|
+
actiontext (7.0.3.1)
|
43
|
+
actionpack (= 7.0.3.1)
|
44
|
+
activerecord (= 7.0.3.1)
|
45
|
+
activestorage (= 7.0.3.1)
|
46
|
+
activesupport (= 7.0.3.1)
|
47
|
+
globalid (>= 0.6.0)
|
48
|
+
nokogiri (>= 1.8.5)
|
49
|
+
actionview (7.0.3.1)
|
50
|
+
activesupport (= 7.0.3.1)
|
51
|
+
builder (~> 3.1)
|
52
|
+
erubi (~> 1.4)
|
53
|
+
rails-dom-testing (~> 2.0)
|
54
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
55
|
+
activejob (7.0.3.1)
|
56
|
+
activesupport (= 7.0.3.1)
|
57
|
+
globalid (>= 0.3.6)
|
58
|
+
activemodel (7.0.3.1)
|
59
|
+
activesupport (= 7.0.3.1)
|
60
|
+
activerecord (7.0.3.1)
|
61
|
+
activemodel (= 7.0.3.1)
|
62
|
+
activesupport (= 7.0.3.1)
|
63
|
+
activestorage (7.0.3.1)
|
64
|
+
actionpack (= 7.0.3.1)
|
65
|
+
activejob (= 7.0.3.1)
|
66
|
+
activerecord (= 7.0.3.1)
|
67
|
+
activesupport (= 7.0.3.1)
|
68
|
+
marcel (~> 1.0)
|
69
|
+
mini_mime (>= 1.1.0)
|
70
|
+
activesupport (7.0.3.1)
|
71
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
72
|
+
i18n (>= 1.6, < 2)
|
73
|
+
minitest (>= 5.1)
|
74
|
+
tzinfo (~> 2.0)
|
75
|
+
builder (3.2.4)
|
76
|
+
concurrent-ruby (1.1.10)
|
77
|
+
crass (1.0.6)
|
78
|
+
debug (1.6.2)
|
79
|
+
irb (>= 1.3.6)
|
80
|
+
reline (>= 0.3.1)
|
81
|
+
digest (3.1.0)
|
82
|
+
erubi (1.11.0)
|
83
|
+
globalid (1.0.0)
|
84
|
+
activesupport (>= 5.0)
|
85
|
+
httparty (0.20.0)
|
86
|
+
mime-types (~> 3.0)
|
87
|
+
multi_xml (>= 0.5.2)
|
88
|
+
i18n (1.12.0)
|
89
|
+
concurrent-ruby (~> 1.0)
|
90
|
+
io-console (0.5.11)
|
91
|
+
irb (1.4.1)
|
92
|
+
reline (>= 0.3.0)
|
93
|
+
loofah (2.18.0)
|
94
|
+
crass (~> 1.0.2)
|
95
|
+
nokogiri (>= 1.5.9)
|
96
|
+
mail (2.7.1)
|
97
|
+
mini_mime (>= 0.1.1)
|
98
|
+
marcel (1.0.2)
|
99
|
+
method_source (1.0.0)
|
100
|
+
mime-types (3.4.1)
|
101
|
+
mime-types-data (~> 3.2015)
|
102
|
+
mime-types-data (3.2022.0105)
|
103
|
+
mini_mime (1.1.2)
|
104
|
+
mini_portile2 (2.8.0)
|
105
|
+
minitest (5.16.3)
|
106
|
+
multi_xml (0.6.0)
|
107
|
+
net-imap (0.2.3)
|
108
|
+
digest
|
109
|
+
net-protocol
|
110
|
+
strscan
|
111
|
+
net-pop (0.1.1)
|
112
|
+
digest
|
113
|
+
net-protocol
|
114
|
+
timeout
|
115
|
+
net-protocol (0.1.3)
|
116
|
+
timeout
|
117
|
+
net-smtp (0.3.1)
|
118
|
+
digest
|
119
|
+
net-protocol
|
120
|
+
timeout
|
121
|
+
nio4r (2.5.8)
|
122
|
+
nokogiri (1.13.8)
|
123
|
+
mini_portile2 (~> 2.8.0)
|
124
|
+
racc (~> 1.4)
|
125
|
+
nokogiri (1.13.8-arm64-darwin)
|
126
|
+
racc (~> 1.4)
|
127
|
+
puma (5.6.5)
|
128
|
+
nio4r (~> 2.0)
|
129
|
+
racc (1.6.0)
|
130
|
+
rack (2.2.4)
|
131
|
+
rack-test (2.0.2)
|
132
|
+
rack (>= 1.3)
|
133
|
+
rails (7.0.3.1)
|
134
|
+
actioncable (= 7.0.3.1)
|
135
|
+
actionmailbox (= 7.0.3.1)
|
136
|
+
actionmailer (= 7.0.3.1)
|
137
|
+
actionpack (= 7.0.3.1)
|
138
|
+
actiontext (= 7.0.3.1)
|
139
|
+
actionview (= 7.0.3.1)
|
140
|
+
activejob (= 7.0.3.1)
|
141
|
+
activemodel (= 7.0.3.1)
|
142
|
+
activerecord (= 7.0.3.1)
|
143
|
+
activestorage (= 7.0.3.1)
|
144
|
+
activesupport (= 7.0.3.1)
|
145
|
+
bundler (>= 1.15.0)
|
146
|
+
railties (= 7.0.3.1)
|
147
|
+
rails-dom-testing (2.0.3)
|
148
|
+
activesupport (>= 4.2.0)
|
149
|
+
nokogiri (>= 1.6)
|
150
|
+
rails-html-sanitizer (1.4.3)
|
151
|
+
loofah (~> 2.3)
|
152
|
+
railties (7.0.3.1)
|
153
|
+
actionpack (= 7.0.3.1)
|
154
|
+
activesupport (= 7.0.3.1)
|
155
|
+
method_source
|
156
|
+
rake (>= 12.2)
|
157
|
+
thor (~> 1.0)
|
158
|
+
zeitwerk (~> 2.5)
|
159
|
+
rake (13.0.6)
|
160
|
+
reline (0.3.1)
|
161
|
+
io-console (~> 0.5)
|
162
|
+
sqlite3 (1.4.4)
|
163
|
+
strscan (3.0.4)
|
164
|
+
thor (1.2.1)
|
165
|
+
timeout (0.3.0)
|
166
|
+
tzinfo (2.0.5)
|
167
|
+
concurrent-ruby (~> 1.0)
|
168
|
+
websocket-driver (0.7.5)
|
169
|
+
websocket-extensions (>= 0.1.0)
|
170
|
+
websocket-extensions (0.1.5)
|
171
|
+
zeitwerk (2.6.0)
|
172
|
+
|
173
|
+
PLATFORMS
|
174
|
+
arm64-darwin-21
|
175
|
+
ruby
|
176
|
+
|
177
|
+
DEPENDENCIES
|
178
|
+
debug
|
179
|
+
puma (~> 5.0)
|
180
|
+
rails (~> 7.0.3, >= 7.0.3.1)
|
181
|
+
readme-metrics!
|
182
|
+
sqlite3 (~> 1.4)
|
183
|
+
tzinfo-data
|
184
|
+
|
185
|
+
RUBY VERSION
|
186
|
+
ruby 3.1.2p20
|
187
|
+
|
188
|
+
BUNDLED WITH
|
189
|
+
2.3.11
|