libhoney 1.14.5 → 1.16.0
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/.circleci/config.yml +129 -81
- data/.editorconfig +12 -0
- data/.gitignore +2 -0
- data/CHANGELOG.md +28 -0
- data/README.md +8 -5
- data/lib/libhoney/client.rb +6 -32
- data/lib/libhoney/transmission.rb +22 -0
- data/lib/libhoney/version.rb +1 -1
- data/libhoney.gemspec +1 -1
- metadata +9 -8
- data/Gemfile.lock +0 -103
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9034a56adcdd87d45a5d7602caa9add401b713cb52ba258d0383835b30304ef5
|
4
|
+
data.tar.gz: 4db352186d89946e6121ace449f69d869175ce99cb3910084b35491bbbbc26a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fce68faca7e1353f8d01bc2329fcb9d3157cdb38cedbdd75f451b2c2896d8119f2651b68eebcf8b5961b696c53f00f6a6a855d40fabfa9039d07e948a5a70683
|
7
|
+
data.tar.gz: 3e9433a4e07bf24f0db174c87f2b8074cd51c1dacedfb5cf3bb403ed444f0403b81aa66ae9f3c2401f119a39edfebc53aba89246c3361719be7265cf0eabd5ca
|
data/.circleci/config.yml
CHANGED
@@ -1,67 +1,63 @@
|
|
1
|
-
version: 2.
|
1
|
+
version: 2.1
|
2
2
|
|
3
|
-
|
4
|
-
- checkout
|
5
|
-
- run:
|
6
|
-
name: Force Bundler Version
|
7
|
-
command: |
|
8
|
-
sudo gem update --system
|
9
|
-
echo 'export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")' >> $BASH_ENV
|
10
|
-
source $BASH_ENV
|
11
|
-
gem install bundler
|
12
|
-
- restore_cache:
|
13
|
-
keys:
|
14
|
-
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
15
|
-
# fallback to using the latest cache if no exact match is found
|
16
|
-
- v1-dependencies-
|
17
|
-
- run:
|
18
|
-
name: install dependencies
|
19
|
-
command: |
|
20
|
-
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
21
|
-
- save_cache:
|
22
|
-
paths:
|
23
|
-
- ./vendor/bundle
|
24
|
-
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
25
|
-
- run:
|
26
|
-
name: run rubocop
|
27
|
-
command: bundle exec rake rubocop
|
28
|
-
- run:
|
29
|
-
name: run tests
|
30
|
-
command: bundle exec rake test
|
3
|
+
# YAML Anchors to reduce copypasta
|
31
4
|
|
32
|
-
#
|
33
|
-
|
5
|
+
# This is necessary for job to run when a tag is created
|
6
|
+
filters_always: &filters_always
|
34
7
|
filters:
|
35
|
-
|
36
|
-
|
8
|
+
tags:
|
9
|
+
only: /.*/
|
37
10
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
ruby
|
11
|
+
# Restrict running to only be on tags starting with vNNNN
|
12
|
+
filters_publish: &filters_publish
|
13
|
+
filters:
|
14
|
+
tags:
|
15
|
+
only: /^v[0-9].*/
|
16
|
+
branches:
|
17
|
+
ignore: /.*/
|
18
|
+
|
19
|
+
matrix_rubyversions: &matrix_rubyversions
|
20
|
+
matrix:
|
21
|
+
parameters:
|
22
|
+
rubyversion: ["2.2", "2.3", "2.4", "2.5", "2.6", "2.7"]
|
23
|
+
|
24
|
+
# Default version of ruby to use for lint and publishing
|
25
|
+
default_rubyversion: &default_rubyversion "2.7"
|
26
|
+
|
27
|
+
executors:
|
28
|
+
ruby:
|
29
|
+
parameters:
|
30
|
+
rubyversion:
|
31
|
+
type: string
|
32
|
+
default: *default_rubyversion
|
56
33
|
docker:
|
57
|
-
- image: circleci/ruby
|
58
|
-
|
59
|
-
publish:
|
34
|
+
- image: circleci/ruby:<< parameters.rubyversion >>
|
35
|
+
github:
|
60
36
|
docker:
|
61
|
-
|
62
|
-
|
63
|
-
|
37
|
+
- image: cibuilds/github:0.13.0
|
38
|
+
|
39
|
+
commands:
|
40
|
+
publish_github:
|
41
|
+
steps:
|
42
|
+
- attach_workspace:
|
43
|
+
at: ~/
|
44
|
+
- run:
|
45
|
+
name: "Artifacts being published"
|
46
|
+
command: |
|
47
|
+
echo "about to publish to tag ${CIRCLE_TAG}"
|
48
|
+
ls -l ~/artifacts/*
|
49
|
+
- run:
|
50
|
+
name: "GHR Draft"
|
51
|
+
command: ghr -draft -n ${CIRCLE_TAG} -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${CIRCLE_TAG} ~/artifacts
|
52
|
+
publish_rubygems:
|
64
53
|
steps:
|
54
|
+
- attach_workspace:
|
55
|
+
at: ~/
|
56
|
+
- run:
|
57
|
+
name: "Artifacts being published"
|
58
|
+
command: |
|
59
|
+
echo "about to publish to tag ${CIRCLE_TAG}"
|
60
|
+
ls -l ~/artifacts/*
|
65
61
|
- checkout
|
66
62
|
- run:
|
67
63
|
name: Setup Rubygems
|
@@ -69,11 +65,66 @@ jobs:
|
|
69
65
|
- run:
|
70
66
|
name: Publish to Rubygems
|
71
67
|
command: |
|
72
|
-
gem
|
73
|
-
|
68
|
+
gem push ~/artifacts/*.gem
|
69
|
+
|
70
|
+
jobs:
|
71
|
+
test:
|
72
|
+
parameters:
|
73
|
+
rubyversion:
|
74
|
+
type: string
|
75
|
+
default: *default_rubyversion
|
76
|
+
executor:
|
77
|
+
name: ruby
|
78
|
+
rubyversion: "<< parameters.rubyversion >>"
|
79
|
+
steps:
|
80
|
+
- checkout
|
81
|
+
- restore_cache:
|
82
|
+
keys:
|
83
|
+
- v1-dependencies-{{ checksum "libhoney.gemspec" }}
|
84
|
+
# fallback to using the latest cache if no exact match is found
|
85
|
+
- v1-dependencies-
|
86
|
+
- run:
|
87
|
+
name: install dependencies
|
88
|
+
command: |
|
89
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
90
|
+
- save_cache:
|
91
|
+
paths:
|
92
|
+
- ./vendor/bundle
|
93
|
+
key: v1-dependencies-{{ checksum "libhoney.gemspec" }}
|
94
|
+
- run:
|
95
|
+
name: run rubocop
|
96
|
+
command: bundle exec rake rubocop
|
97
|
+
- run:
|
98
|
+
name: run tests
|
99
|
+
command: bundle exec rake test
|
100
|
+
|
101
|
+
build_artifacts:
|
102
|
+
executor:
|
103
|
+
name: ruby
|
104
|
+
steps:
|
105
|
+
- checkout
|
106
|
+
- run: mkdir -p ~/artifacts
|
107
|
+
- run: gem build libhoney.gemspec
|
108
|
+
- run: cp libhoney-*.gem ~/artifacts/
|
109
|
+
- persist_to_workspace:
|
110
|
+
root: ~/
|
111
|
+
paths:
|
112
|
+
- artifacts
|
113
|
+
- store_artifacts:
|
114
|
+
path: ~/artifacts
|
115
|
+
|
116
|
+
publish_github:
|
117
|
+
executor: github
|
118
|
+
steps:
|
119
|
+
- publish_github
|
120
|
+
|
121
|
+
publish_rubygems:
|
122
|
+
executor:
|
123
|
+
name: ruby
|
124
|
+
steps:
|
125
|
+
- publish_rubygems
|
74
126
|
|
75
127
|
workflows:
|
76
|
-
version: 2
|
77
128
|
nightly:
|
78
129
|
triggers:
|
79
130
|
- schedule:
|
@@ -83,27 +134,24 @@ workflows:
|
|
83
134
|
only:
|
84
135
|
- main
|
85
136
|
jobs:
|
86
|
-
-
|
87
|
-
|
88
|
-
- ruby-2.5: *tag_filters
|
89
|
-
- ruby-2.6: *tag_filters
|
90
|
-
- ruby-2.7: *tag_filters
|
137
|
+
- test:
|
138
|
+
<<: *matrix_rubyversions
|
91
139
|
build:
|
92
140
|
jobs:
|
93
|
-
-
|
94
|
-
|
95
|
-
|
96
|
-
-
|
97
|
-
|
98
|
-
- publish:
|
141
|
+
- test:
|
142
|
+
<<: *filters_always
|
143
|
+
<<: *matrix_rubyversions
|
144
|
+
- build_artifacts:
|
145
|
+
<<: *filters_always
|
99
146
|
requires:
|
100
|
-
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
147
|
+
- test
|
148
|
+
- publish_github:
|
149
|
+
<<: *filters_publish
|
150
|
+
context: Honeycomb Secrets
|
151
|
+
requires:
|
152
|
+
- build_artifacts
|
153
|
+
- publish_rubygems:
|
154
|
+
<<: *filters_publish
|
155
|
+
context: Honeycomb Secrets
|
156
|
+
requires:
|
157
|
+
- build_artifacts
|
data/.editorconfig
ADDED
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# libhoney-rb changelog
|
2
|
+
|
3
|
+
## 1.16.0
|
4
|
+
|
5
|
+
### Fixes:
|
6
|
+
|
7
|
+
- Don't moneypatch Class (#70)
|
8
|
+
|
9
|
+
### Maintenance:
|
10
|
+
|
11
|
+
- Add lockfile to gitignore (#71)
|
12
|
+
|
13
|
+
## 1.15.0
|
14
|
+
|
15
|
+
### Improvements:
|
16
|
+
|
17
|
+
- Do not attempt to send invalid events (#67)
|
18
|
+
|
19
|
+
### Maintenance:
|
20
|
+
|
21
|
+
- Modernize circle, include github publishing (#64)
|
22
|
+
- Update .editorconfig to add new lines to end of files (#68)
|
23
|
+
|
24
|
+
### Misc
|
25
|
+
|
26
|
+
- Added CHANGELOG.md
|
27
|
+
- Updates to CI configuration and documentation
|
28
|
+
- Updated version management.
|
data/README.md
CHANGED
@@ -4,8 +4,8 @@ Ruby gem for sending events to [Honeycomb](https://www.honeycomb.io), a service
|
|
4
4
|
|
5
5
|
Requires Ruby 2.2 or greater.
|
6
6
|
|
7
|
-
-
|
8
|
-
-
|
7
|
+
- [Usage and Examples](https://docs.honeycomb.io/sdk/ruby/)
|
8
|
+
- [API Reference](https://www.rubydoc.info/gems/libhoney)
|
9
9
|
|
10
10
|
For tracing support and automatic instrumentation of Rails, Sinatra, Rack, ActiveRecord, and other frameworks, check out our [Beeline for Ruby](https://github.com/honeycombio/beeline-ruby).
|
11
11
|
|
@@ -20,8 +20,11 @@ All contributions will be released under the Apache License 2.0.
|
|
20
20
|
### Releasing a new version
|
21
21
|
|
22
22
|
CircleCI will automatically upload tagged releases to Rubygems. To release a new
|
23
|
-
version,
|
23
|
+
version, update the version using `bump`.
|
24
|
+
|
24
25
|
```
|
25
|
-
bump patch
|
26
|
-
git push --follow-tags
|
26
|
+
bump patch # Or bump minor, etc.
|
27
27
|
```
|
28
|
+
|
29
|
+
Then, after the version change has been merged into `main`, follow our usual instructions
|
30
|
+
for tagging and updating the github release.
|
data/lib/libhoney/client.rb
CHANGED
@@ -1,31 +1,10 @@
|
|
1
1
|
require 'time'
|
2
2
|
require 'json'
|
3
3
|
require 'http'
|
4
|
+
require 'forwardable'
|
4
5
|
|
5
6
|
require 'libhoney/null_transmission'
|
6
7
|
|
7
|
-
# Define a few additions that proxy access through Client's builder. Makes Client much tighter.
|
8
|
-
class Class
|
9
|
-
def builder_attr_accessor(*args)
|
10
|
-
args.each do |arg|
|
11
|
-
class_eval("def #{arg};@builder.#{arg};end", __FILE__, __LINE__)
|
12
|
-
class_eval("def #{arg}=(val);@builder.#{arg}=val;end", __FILE__, __LINE__)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def builder_attr_reader(*args)
|
17
|
-
args.each do |arg|
|
18
|
-
class_eval("def #{arg};@builder.#{arg};end", __FILE__, __LINE__)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def builder_attr_writer(*args)
|
23
|
-
args.each do |arg|
|
24
|
-
class_eval("def #{arg}=(val);@builder.#{arg}=val;end", __FILE__, __LINE__)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
8
|
module Libhoney
|
30
9
|
##
|
31
10
|
# This is a library to allow you to send events to Honeycomb from within your
|
@@ -52,6 +31,8 @@ module Libhoney
|
|
52
31
|
# evt.send
|
53
32
|
#
|
54
33
|
class Client
|
34
|
+
extend Forwardable
|
35
|
+
|
55
36
|
API_HOST = 'https://api.honeycomb.io/'.freeze
|
56
37
|
|
57
38
|
# Instantiates libhoney and prepares it to send events to Honeycomb.
|
@@ -124,19 +105,12 @@ module Libhoney
|
|
124
105
|
@proxy_config = proxy_config
|
125
106
|
end
|
126
107
|
|
127
|
-
builder_attr_accessor :writekey, :dataset, :sample_rate, :api_host
|
128
|
-
|
129
108
|
attr_reader :block_on_send, :block_on_responses, :max_batch_size,
|
130
109
|
:send_frequency, :max_concurrent_batches,
|
131
110
|
:pending_work_capacity, :responses
|
132
111
|
|
133
|
-
|
134
|
-
|
135
|
-
end
|
136
|
-
|
137
|
-
def builder(fields = {}, dyn_fields = {})
|
138
|
-
@builder.builder(fields, dyn_fields)
|
139
|
-
end
|
112
|
+
def_delegators :@builder, :event, :writekey, :writekey=, :dataset, :dataset=,
|
113
|
+
:sample_rate, :sample_rate=, :api_host, :api_host=, :builder
|
140
114
|
|
141
115
|
# Nuke the queue and wait for inflight requests to complete before returning.
|
142
116
|
# If you set drain=false, all queued requests will be dropped on the floor.
|
@@ -229,7 +203,7 @@ module Libhoney
|
|
229
203
|
proxy_config: @proxy_config
|
230
204
|
}
|
231
205
|
|
232
|
-
@transmission ||= TransmissionClient.new(transmission_client_params)
|
206
|
+
@transmission ||= TransmissionClient.new(**transmission_client_params)
|
233
207
|
end
|
234
208
|
|
235
209
|
@transmission.add(event)
|
@@ -40,6 +40,8 @@ module Libhoney
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def add(event)
|
43
|
+
return unless event_valid(event)
|
44
|
+
|
43
45
|
begin
|
44
46
|
@batch_queue.enq(event, !@block_on_send)
|
45
47
|
rescue ThreadError
|
@@ -49,6 +51,26 @@ module Libhoney
|
|
49
51
|
ensure_threads_running
|
50
52
|
end
|
51
53
|
|
54
|
+
def event_valid(event)
|
55
|
+
invalid = []
|
56
|
+
invalid.push('api host') if event.api_host.nil? || event.api_host.empty?
|
57
|
+
invalid.push('write key') if event.writekey.nil? || event.writekey.empty?
|
58
|
+
invalid.push('dataset') if event.dataset.nil? || event.dataset.empty?
|
59
|
+
|
60
|
+
unless invalid.empty?
|
61
|
+
e = StandardError.new("#{self.class.name}: nil or empty required fields (#{invalid.join(', ')})"\
|
62
|
+
'. Will not attempt to send.')
|
63
|
+
Response.new(error: e).tap do |error_response|
|
64
|
+
error_response.metadata = event.metadata
|
65
|
+
enqueue_response(error_response)
|
66
|
+
end
|
67
|
+
|
68
|
+
return false
|
69
|
+
end
|
70
|
+
|
71
|
+
true
|
72
|
+
end
|
73
|
+
|
52
74
|
def send_loop
|
53
75
|
http_clients = build_http_clients
|
54
76
|
|
data/lib/libhoney/version.rb
CHANGED
data/libhoney.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_development_dependency 'rubocop', '< 0.69'
|
30
30
|
spec.add_development_dependency 'sinatra'
|
31
31
|
spec.add_development_dependency 'sinatra-contrib'
|
32
|
-
spec.add_development_dependency 'spy'
|
32
|
+
spec.add_development_dependency 'spy', '1.0.0'
|
33
33
|
spec.add_development_dependency 'webmock', '~> 3.4'
|
34
34
|
spec.add_development_dependency 'yard'
|
35
35
|
spec.add_development_dependency 'yardstick', '~> 0.9'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libhoney
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Honeycomb.io Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bump
|
@@ -112,16 +112,16 @@ dependencies:
|
|
112
112
|
name: spy
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 1.0.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 1.0.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: webmock
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,13 +206,14 @@ extra_rdoc_files: []
|
|
206
206
|
files:
|
207
207
|
- ".circleci/config.yml"
|
208
208
|
- ".circleci/setup-rubygems.sh"
|
209
|
+
- ".editorconfig"
|
209
210
|
- ".github/CODEOWNERS"
|
210
211
|
- ".gitignore"
|
211
212
|
- ".rubocop.yml"
|
212
213
|
- ".rubocop_todo.yml"
|
214
|
+
- CHANGELOG.md
|
213
215
|
- CONTRIBUTORS
|
214
216
|
- Gemfile
|
215
|
-
- Gemfile.lock
|
216
217
|
- LICENSE
|
217
218
|
- NOTICE
|
218
219
|
- README.md
|
@@ -252,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
252
253
|
- !ruby/object:Gem::Version
|
253
254
|
version: '0'
|
254
255
|
requirements: []
|
255
|
-
rubygems_version: 3.1.
|
256
|
+
rubygems_version: 3.1.4
|
256
257
|
signing_key:
|
257
258
|
specification_version: 4
|
258
259
|
summary: send data to Honeycomb
|
data/Gemfile.lock
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
libhoney (1.14.5)
|
5
|
-
addressable (~> 2.0)
|
6
|
-
http (>= 2.0, < 5.0)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
addressable (2.7.0)
|
12
|
-
public_suffix (>= 2.0.2, < 5.0)
|
13
|
-
ast (2.4.0)
|
14
|
-
backports (3.16.0)
|
15
|
-
bump (0.8.0)
|
16
|
-
crack (0.4.3)
|
17
|
-
safe_yaml (~> 1.0.0)
|
18
|
-
domain_name (0.5.20190701)
|
19
|
-
unf (>= 0.0.5, < 1.0.0)
|
20
|
-
ffi (1.13.1)
|
21
|
-
ffi-compiler (1.0.1)
|
22
|
-
ffi (>= 1.0.0)
|
23
|
-
rake
|
24
|
-
hashdiff (1.0.0)
|
25
|
-
http (4.4.1)
|
26
|
-
addressable (~> 2.3)
|
27
|
-
http-cookie (~> 1.0)
|
28
|
-
http-form_data (~> 2.2)
|
29
|
-
http-parser (~> 1.2.0)
|
30
|
-
http-cookie (1.0.3)
|
31
|
-
domain_name (~> 0.5)
|
32
|
-
http-form_data (2.3.0)
|
33
|
-
http-parser (1.2.1)
|
34
|
-
ffi-compiler (>= 1.0, < 2.0)
|
35
|
-
jaro_winkler (1.5.4)
|
36
|
-
minitest (5.14.0)
|
37
|
-
multi_json (1.14.1)
|
38
|
-
mustermann (1.1.1)
|
39
|
-
ruby2_keywords (~> 0.0.1)
|
40
|
-
parallel (1.19.1)
|
41
|
-
parser (2.7.0.2)
|
42
|
-
ast (~> 2.4.0)
|
43
|
-
public_suffix (4.0.3)
|
44
|
-
rack (2.1.4)
|
45
|
-
rack-protection (2.0.8.1)
|
46
|
-
rack
|
47
|
-
rainbow (3.0.0)
|
48
|
-
rake (12.3.3)
|
49
|
-
rubocop (0.68.1)
|
50
|
-
jaro_winkler (~> 1.5.1)
|
51
|
-
parallel (~> 1.10)
|
52
|
-
parser (>= 2.5, != 2.5.1.1)
|
53
|
-
rainbow (>= 2.2.2, < 4.0)
|
54
|
-
ruby-progressbar (~> 1.7)
|
55
|
-
unicode-display_width (>= 1.4.0, < 1.6)
|
56
|
-
ruby-progressbar (1.10.1)
|
57
|
-
ruby2_keywords (0.0.2)
|
58
|
-
safe_yaml (1.0.5)
|
59
|
-
sinatra (2.0.8.1)
|
60
|
-
mustermann (~> 1.0)
|
61
|
-
rack (~> 2.0)
|
62
|
-
rack-protection (= 2.0.8.1)
|
63
|
-
tilt (~> 2.0)
|
64
|
-
sinatra-contrib (2.0.8.1)
|
65
|
-
backports (>= 2.8.2)
|
66
|
-
multi_json
|
67
|
-
mustermann (~> 1.0)
|
68
|
-
rack-protection (= 2.0.8.1)
|
69
|
-
sinatra (= 2.0.8.1)
|
70
|
-
tilt (~> 2.0)
|
71
|
-
spy (1.0.0)
|
72
|
-
tilt (2.0.10)
|
73
|
-
unf (0.1.4)
|
74
|
-
unf_ext
|
75
|
-
unf_ext (0.0.7.7)
|
76
|
-
unicode-display_width (1.5.0)
|
77
|
-
webmock (3.8.1)
|
78
|
-
addressable (>= 2.3.6)
|
79
|
-
crack (>= 0.3.2)
|
80
|
-
hashdiff (>= 0.4.0, < 2.0.0)
|
81
|
-
yard (0.9.24)
|
82
|
-
yardstick (0.9.9)
|
83
|
-
yard (~> 0.8, >= 0.8.7.2)
|
84
|
-
|
85
|
-
PLATFORMS
|
86
|
-
ruby
|
87
|
-
|
88
|
-
DEPENDENCIES
|
89
|
-
bump (~> 0.5)
|
90
|
-
bundler
|
91
|
-
libhoney!
|
92
|
-
minitest (~> 5.0)
|
93
|
-
rake (~> 12.3)
|
94
|
-
rubocop (< 0.69)
|
95
|
-
sinatra
|
96
|
-
sinatra-contrib
|
97
|
-
spy
|
98
|
-
webmock (~> 3.4)
|
99
|
-
yard
|
100
|
-
yardstick (~> 0.9)
|
101
|
-
|
102
|
-
BUNDLED WITH
|
103
|
-
2.1.4
|