zoo_stream 1.0.1 → 1.1.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 +5 -5
- data/.github/workflows/run_tests_CI.yml +17 -0
- data/CHANGELOG.md +5 -0
- data/Dockerfile +19 -0
- data/README.md +14 -2
- data/docker-compose.yml +11 -0
- data/lib/zoo_stream/kinesis_publisher.rb +2 -2
- data/lib/zoo_stream/version.rb +1 -1
- data/zoo_stream.gemspec +4 -4
- metadata +24 -23
- data/.travis.yml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 840b8164e0225138893da451f94169ce96e3ecf3e8642b078a3206385842fd1b
|
4
|
+
data.tar.gz: b5d03163fcde4ff05db0f8e6d0fa42261f98f35252a7bc7da1e1dd7968be9711
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ba86397902d56d2ec3bde85c86acbb98fd4a555e2179850a189e17170483bbedec6df97d580f61b0a9f8bfaff1ba8fc400366beefd7bd2fb673c162dca6c5c7
|
7
|
+
data.tar.gz: 454f9406e4e1c264f63213bbd6659dc5c3d25c6be44f887b4e0096649f8f3a938a7968f3d6bc80b5313c43c6ff9566920c1cb6de083c76568243c25faad4f62e
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name: Zooni CI
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
push: { branches: master }
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
name: Run Tests
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@v2
|
11
|
+
- name: Setup Ruby
|
12
|
+
uses: ruby/setup-ruby@v1
|
13
|
+
with:
|
14
|
+
ruby-version: 3.0.1
|
15
|
+
bundler-cache: true
|
16
|
+
- name: Run tests
|
17
|
+
run: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
data/Dockerfile
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
FROM ruby:3.1-slim
|
2
|
+
|
3
|
+
WORKDIR /app
|
4
|
+
|
5
|
+
RUN apt-get update && apt-get -y upgrade && \
|
6
|
+
apt-get install --no-install-recommends -y \
|
7
|
+
# git is required for installing gems
|
8
|
+
git && \
|
9
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
10
|
+
|
11
|
+
# ensure we use a newer version of rubygems / bundler
|
12
|
+
RUN gem update --system
|
13
|
+
|
14
|
+
ADD ./Gemfile /app/
|
15
|
+
ADD ./zoo_stream.gemspec /app/
|
16
|
+
ADD ./ /app
|
17
|
+
|
18
|
+
RUN bundle config --global jobs `cat /proc/cpuinfo | grep processor | wc -l | xargs -I % expr % - 1`
|
19
|
+
RUN bundle install
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ You can either configure this gem using environment variables:
|
|
28
28
|
Or programmatically (not recommended):
|
29
29
|
|
30
30
|
```ruby
|
31
|
-
ZooStream.publisher = ZooStream::KinesisPublisher.new("zooniverse-production")
|
31
|
+
ZooStream.publisher = ZooStream::KinesisPublisher.new(stream_name: "zooniverse-production")
|
32
32
|
ZooStream.source = "my-application"
|
33
33
|
```
|
34
34
|
|
@@ -51,10 +51,22 @@ If you don't set a stream name, **this gem will silently ignore all `#publish` m
|
|
51
51
|
|
52
52
|
## Development
|
53
53
|
|
54
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `
|
54
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
55
55
|
|
56
56
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
57
57
|
|
58
|
+
Use docker & compose to setup the dev env
|
59
|
+
|
60
|
+
```shell
|
61
|
+
docker-compose build
|
62
|
+
```
|
63
|
+
|
64
|
+
Run a bash shell inside the new container
|
65
|
+
|
66
|
+
```shell
|
67
|
+
docker-compose run --service-ports --rm zoo_stream bash
|
68
|
+
```
|
69
|
+
|
58
70
|
## Contributing
|
59
71
|
|
60
72
|
Bug reports and pull requests are welcome on GitHub at https://github.com/zooniverse/zoo_stream. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
data/docker-compose.yml
ADDED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'aws-sdk'
|
1
|
+
require 'aws-sdk-kinesis'
|
2
2
|
|
3
3
|
module ZooStream
|
4
4
|
class KinesisPublisher
|
@@ -11,7 +11,7 @@ module ZooStream
|
|
11
11
|
|
12
12
|
def publish(event, shard_by: nil)
|
13
13
|
raise ArgumentError, "Must specify shard_by" unless shard_by
|
14
|
-
|
14
|
+
|
15
15
|
client.put_record(
|
16
16
|
stream_name: stream_name,
|
17
17
|
partition_key: shard_by,
|
data/lib/zoo_stream/version.rb
CHANGED
data/zoo_stream.gemspec
CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency 'aws-sdk'
|
22
|
+
spec.add_dependency 'aws-sdk-kinesis', '~> 1'
|
23
23
|
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
24
|
+
spec.add_development_dependency 'bundler', '~> 2.2'
|
25
|
+
spec.add_development_dependency 'rake'
|
26
|
+
spec.add_development_dependency 'rspec'
|
27
27
|
end
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zoo_stream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marten Veldthuis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: aws-sdk
|
14
|
+
name: aws-sdk-kinesis
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.2'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
description: A wrapper around AWS Kinesis client to make sure all our applications
|
70
70
|
publish messages with a consistent format.
|
71
71
|
email:
|
@@ -74,17 +74,19 @@ executables: []
|
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
+
- ".github/workflows/run_tests_CI.yml"
|
77
78
|
- ".gitignore"
|
78
79
|
- ".rspec"
|
79
|
-
- ".travis.yml"
|
80
80
|
- CHANGELOG.md
|
81
81
|
- CODE_OF_CONDUCT.md
|
82
|
+
- Dockerfile
|
82
83
|
- Gemfile
|
83
84
|
- LICENSE.txt
|
84
85
|
- README.md
|
85
86
|
- Rakefile
|
86
87
|
- bin/console
|
87
88
|
- bin/setup
|
89
|
+
- docker-compose.yml
|
88
90
|
- lib/zoo_stream.rb
|
89
91
|
- lib/zoo_stream/event.rb
|
90
92
|
- lib/zoo_stream/kinesis_publisher.rb
|
@@ -94,7 +96,7 @@ homepage: https://github.com/zooniverse/zoo_stream
|
|
94
96
|
licenses:
|
95
97
|
- MIT
|
96
98
|
metadata: {}
|
97
|
-
post_install_message:
|
99
|
+
post_install_message:
|
98
100
|
rdoc_options: []
|
99
101
|
require_paths:
|
100
102
|
- lib
|
@@ -109,9 +111,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
111
|
- !ruby/object:Gem::Version
|
110
112
|
version: '0'
|
111
113
|
requirements: []
|
112
|
-
|
113
|
-
|
114
|
-
signing_key:
|
114
|
+
rubygems_version: 3.5.22
|
115
|
+
signing_key:
|
115
116
|
specification_version: 4
|
116
117
|
summary: Simplified and customized Kinesis publisher
|
117
118
|
test_files: []
|
data/.travis.yml
DELETED