cyclone_lariat 0.3.4 → 0.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de7e05c5fba57a9db6c827549404f12b1f88be0336b00d2d5dfb4dc77132b328
4
- data.tar.gz: 54d81b79a812fdf91513cdee886933d32055fd405c55bb032aae4dec81ac1ff3
3
+ metadata.gz: 1a2cb273b81db1d5340fb4e0082e2d672365ebf75dcdfa25681f18d1d3c1fcb6
4
+ data.tar.gz: c5a458e595a79ed1c11b8560fe92eed4c72d6f763bc0912fe6caa4b83c7011ac
5
5
  SHA512:
6
- metadata.gz: 3d8ce1ebcd03c53309165592b7e4e0cbe342a3033694afdc639e033fb76a88dd1f340ee2204c5602f02399a5e9e56f47a7483dba867d9aafcd9947b3958933c1
7
- data.tar.gz: 8c8668274a9435e56804739e6625703b733810e46401aca602c04f51763274dafa9456f625fc315ae7b322c62d4a426a582a62db8b6061716ad46aced0ab5ef0
6
+ metadata.gz: 7220818e4617f98673116c0f952ae011bb278a7b0bde70f39f7b1d603db5665f1c8667c4242dd20b56be8ed55439554bcbd8fee52de4618a82864820774e0bfe
7
+ data.tar.gz: bddaa075da7cafba0037e69e2bdd53520dc6afc257deb2dedf7726ef2beb622dc46b9225c8fdd74e11441f9b03defe0949db4b48044de807f4c8b4c806a56732
data/.gitignore CHANGED
@@ -16,3 +16,7 @@ config/db.rb
16
16
 
17
17
  # gem builds
18
18
  *.gem
19
+
20
+ # docker-compose
21
+ /local/
22
+ /privatekey
data/Dockerfile ADDED
@@ -0,0 +1,10 @@
1
+ FROM ruby:2.6.5-buster
2
+ RUN apt-get update \
3
+ && apt-get install -y --no-install-recommends \
4
+ postgresql-client
5
+ WORKDIR /gem
6
+ COPY lib/cyclone_lariat/version.rb ./lib/cyclone_lariat/version.rb
7
+ COPY cyclone_lariat.gemspec ./
8
+ COPY Gemfile* ./
9
+ RUN bundle install --jobs 20 --retry 5
10
+ CMD ["rake"]
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cyclone_lariat (0.3.2)
4
+ cyclone_lariat (0.3.5)
5
5
  aws-sdk-sns
6
6
  aws-sdk-sqs
7
7
  luna_park (~> 0.11)
@@ -12,20 +12,20 @@ GEM
12
12
  addressable (2.7.0)
13
13
  public_suffix (>= 2.0.2, < 5.0)
14
14
  ast (2.4.2)
15
- aws-eventstream (1.1.1)
16
- aws-partitions (1.462.0)
17
- aws-sdk-core (3.114.0)
15
+ aws-eventstream (1.2.0)
16
+ aws-partitions (1.541.0)
17
+ aws-sdk-core (3.124.0)
18
18
  aws-eventstream (~> 1, >= 1.0.2)
19
- aws-partitions (~> 1, >= 1.239.0)
19
+ aws-partitions (~> 1, >= 1.525.0)
20
20
  aws-sigv4 (~> 1.1)
21
21
  jmespath (~> 1.0)
22
- aws-sdk-sns (1.40.0)
23
- aws-sdk-core (~> 3, >= 3.112.0)
22
+ aws-sdk-sns (1.49.0)
23
+ aws-sdk-core (~> 3, >= 3.122.0)
24
24
  aws-sigv4 (~> 1.1)
25
- aws-sdk-sqs (1.39.0)
26
- aws-sdk-core (~> 3, >= 3.112.0)
25
+ aws-sdk-sqs (1.48.0)
26
+ aws-sdk-core (~> 3, >= 3.122.0)
27
27
  aws-sigv4 (~> 1.1)
28
- aws-sigv4 (1.2.3)
28
+ aws-sigv4 (1.4.0)
29
29
  aws-eventstream (~> 1, >= 1.0.2)
30
30
  byebug (11.1.3)
31
31
  coderay (1.1.3)
@@ -74,7 +74,7 @@ GEM
74
74
  dry-schema (~> 1.5, >= 1.5.2)
75
75
  hashdiff (1.0.1)
76
76
  jmespath (1.4.0)
77
- luna_park (0.11.1)
77
+ luna_park (0.11.3)
78
78
  method_source (1.0.0)
79
79
  parallel (1.20.1)
80
80
  parser (3.0.1.1)
@@ -132,10 +132,11 @@ GEM
132
132
  yard (0.9.26)
133
133
 
134
134
  PLATFORMS
135
+ ruby
135
136
  x86_64-linux
136
137
 
137
138
  DEPENDENCIES
138
- bundler (~> 2.1)
139
+ bundler (~> 1.17)
139
140
  byebug (~> 11.1)
140
141
  cyclone_lariat!
141
142
  database_cleaner-sequel (~> 2.0)
@@ -152,4 +153,4 @@ DEPENDENCIES
152
153
  yard (~> 0.9)
153
154
 
154
155
  BUNDLED WITH
155
- 2.2.19
156
+ 1.17.3
data/Rakefile CHANGED
@@ -1,11 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rake'
4
+ require 'bundler/gem_tasks'
5
+ require 'rspec/core/rake_task'
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
4
8
 
5
9
  # tasks from lib directory
6
10
  Dir[File.expand_path('lib/tasks/**/*.rake', __dir__)].each do |entity|
7
- puts entity
8
- load entity
11
+ print "#{entity} : "
12
+ puts load entity
9
13
  end
10
14
 
11
15
  task default: %i[spec] # rubocop]
data/bin/docker/diff ADDED
@@ -0,0 +1,3 @@
1
+ # Show differences between local Dockerfile and production Dockerfile
2
+
3
+ diff Dockerfile local.Dockerfile -aBw
data/bin/docker/init ADDED
@@ -0,0 +1,38 @@
1
+ # Initialize project to use Docker and prepare app in Docker
2
+ #
3
+ # WARNING
4
+ # if your default ssh key `id_rsa` is protected by password,
5
+ # you need to create a new key without password only for Github (and authorize this key in github)
6
+ # @example
7
+ # `ssh-keygen -b 4096 -f ~/.ssh/id_rsa_git -N ""`
8
+ #
9
+ # And define a name of new key when calling this script.
10
+ # @example:
11
+ # `bin/docker-init id_rsa_git`
12
+
13
+ bin/docker-privatekey $@
14
+
15
+ echo "> Preparing volume directories"
16
+ mkdir local
17
+ mkdir local/postgres
18
+ mkdir local/postgres/pgdata
19
+ grep -q "# docker-compose" .gitignore || echo "\n# docker-compose\n/local/\n/privatekey" >> .gitignore
20
+
21
+ echo "> Build"
22
+ docker compose down
23
+ docker compose build
24
+ docker compose up -d
25
+
26
+ # Restart because of some problems with PG first startup
27
+ echo "> Restart"
28
+ docker compose down
29
+ docker compose up -d
30
+
31
+ echo "> Wait for pg startup"
32
+ sleep 10
33
+
34
+ echo "> Create databases"
35
+ docker compose exec app rake db:create
36
+ docker compose exec app rake db:create INSTANCE=test
37
+ docker compose exec app rake db:migrate
38
+ docker compose exec app rake db:migrate INSTANCE=test
@@ -0,0 +1,17 @@
1
+ # Note:
2
+ # Docker needs for ssh privatekey to fetch data from github
3
+ # To do that, this script creates hardlink to privatekey
4
+ #
5
+ # WARNING
6
+ # privatekey MUST NOT be protected by password
7
+ # If your `id_rsa` is protected by password, you need to create new key without password (for example, `id_rsa_git`)
8
+ # And use that key when running this script:
9
+ # `bin/docker-init id_rsa_git`
10
+
11
+ if test "$@"
12
+ then privatekey_name="$@"
13
+ else privatekey_name="id_rsa"
14
+ fi
15
+
16
+ echo "> Trying to create link 'privatekey'"
17
+ ln ~/.ssh/$privatekey_name privatekey && echo "> Created link to '~/.ssh/$privatekey_name' named 'privatekey'"
data/bin/docker/rm ADDED
@@ -0,0 +1,5 @@
1
+ # Remove Doсker local files created by docker-init
2
+
3
+ docker compose down
4
+ rm -rf local
5
+ rm privatekey
data/config/db.example.rb CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  DB_CONF = {
4
4
  adapter: 'postgresql',
5
- host: 'host',
6
- username: 'postgres',
7
- password: 'password',
8
- database: 'cyclone-lariat-test'
5
+ host: ENV.fetch('DB_HOST', 'host'),
6
+ username: ENV.fetch('DB_USER', 'postgres'),
7
+ password: ENV.fetch('DB_PASSWORD', 'password'),
8
+ database: ENV.fetch('DB_NAME', 'cyclone-lariat-test')
9
9
  }.freeze
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'aws-sdk-sqs'
37
37
  spec.add_dependency 'luna_park', '~> 0.11'
38
38
 
39
- spec.add_development_dependency 'bundler', '~> 2.1'
39
+ spec.add_development_dependency 'bundler', '~> 1.17'
40
40
  spec.add_development_dependency 'byebug', '~> 11.1'
41
41
  spec.add_development_dependency 'database_cleaner-sequel', '~> 2.0'
42
42
  spec.add_development_dependency 'dry-validation', '~> 1.1'
@@ -0,0 +1,24 @@
1
+ version: "3.9"
2
+
3
+ services:
4
+ app:
5
+ build: .
6
+ volumes:
7
+ - .:/gem
8
+ command: /bin/bash -c "while true; do sleep 1; done"
9
+ links:
10
+ - pg
11
+ environment:
12
+ - DB_HOST=pg
13
+ - DB_USER=ruby
14
+ - DB_PASSWORD=ruby
15
+ restart: always
16
+
17
+ pg:
18
+ image: postgres
19
+ volumes:
20
+ - ./local/postgres/pgdata:/var/lib/postgresql/data/pgdata
21
+ environment:
22
+ POSTGRES_USER: ruby
23
+ POSTGRES_PASSWORD: ruby
24
+ PGDATA: /var/lib/postgresql/data/pgdata
@@ -28,6 +28,8 @@ module CycloneLariat
28
28
 
29
29
  def find(uuid:)
30
30
  row = dataset.where(uuid: uuid).first
31
+ return if row.nil?
32
+
31
33
  build MessagesMapper.from_row(row)
32
34
  end
33
35
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CycloneLariat
4
- VERSION = '0.3.4'
4
+ VERSION = '0.3.5'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyclone_lariat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kudrin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-11-24 00:00:00.000000000 Z
12
+ date: 2021-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-sdk-sns
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '2.1'
62
+ version: '1.17'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '2.1'
69
+ version: '1.17'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: byebug
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -263,14 +263,20 @@ files:
263
263
  - ".ruby-gemset"
264
264
  - ".ruby-version"
265
265
  - CHANGELOG.md
266
+ - Dockerfile
266
267
  - Gemfile
267
268
  - Gemfile.lock
268
269
  - README.md
269
270
  - Rakefile
271
+ - bin/docker/diff
272
+ - bin/docker/init
273
+ - bin/docker/privatekey
274
+ - bin/docker/rm
270
275
  - config/db.example.rb
271
276
  - cyclone_lariat.gemspec
272
277
  - db/migrate/01_add_uuid_extensions.rb
273
278
  - db/migrate/02_add_events.rb
279
+ - docker-compose.yml
274
280
  - docs/_imgs/diagram.png
275
281
  - docs/_imgs/lariat.jpg
276
282
  - lib/cyclone_lariat.rb