cyclone_lariat 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
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