docker_compose_env_rails 0.1.2 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 645a0ccdbf5d835803812fbfcd7949eb2a5ca0d0366594fa3d0249d35aedc70c
4
- data.tar.gz: '08f8834451e570339bb84cca2656a9cd0c2d408509052432260c8b07ce474168'
3
+ metadata.gz: b53f2a6e230ef3b76d13d7be47879e6ec799ddcace61403840c42461b24a5903
4
+ data.tar.gz: a0fadaffc6dbc2de623fe4b096e036d6764cae18ecc3c86b80c23cdf67c53acf
5
5
  SHA512:
6
- metadata.gz: 565a49beb9e73979da3f28548a801d7b9a5f0ad8b18fe4158bc9bae6ae4e5224e4b64bb034d7e7c4f07479051ffa6288fa674ccf8d32d75c83e1cbbc1ad59f4e
7
- data.tar.gz: 691416de5ef46bdfaf95f8762c1f6a06eee8f96656916681f407dff0ffec94652671221125dc4d5db53cb540c0f7dbc2f171118d9f0199bb3a7106b0f2bbc664
6
+ metadata.gz: eb71098e56eb3c4f8661fa598aa70d0fce8e7dc899cf355c1cec8ecb89c8344d76a5a7402772501a570e994a767b76627adf39cdab1f69c79537889c8f193e78
7
+ data.tar.gz: a22a20906333de343ff27efd1c99f7175c250ebcc0436513d337f824ec305469ce842226d5e592df8320c0a0048e92a7c56f951c69d448a800c7deea3b079fe0
data/.envrc ADDED
@@ -0,0 +1,12 @@
1
+ if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
2
+ source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
3
+ fi
4
+
5
+ watch_file gemset.nix
6
+
7
+ if ! use flake . --impure
8
+ then
9
+ echo "nix environment could not be built. The nix environment was not loaded. Make the necessary changes to flake.nix and hit enter in your console to try again." >&2
10
+ fi
11
+
12
+ PATH_add bin
data/.gitignore CHANGED
@@ -1,6 +1,6 @@
1
1
  /.bundle/
2
+ /.direnv/
2
3
  /.yardoc
3
- /Gemfile.lock
4
4
  /_yardoc/
5
5
  /coverage/
6
6
  /doc/
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.4.1
1
+ ruby 2.7.2
data/.travis.yml CHANGED
@@ -2,14 +2,14 @@ language: ruby
2
2
  sudo: required
3
3
 
4
4
  env:
5
- - DOCKER_COMPOSE_VERSION=1.16.1
5
+ - DOCKER_COMPOSE_VERSION=1.27.4
6
6
 
7
7
  before_install:
8
8
  - docker version
9
9
  - docker-compose version
10
10
  - sudo apt-get update
11
11
  - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
12
- - gem install bundler -v 1.15.4
12
+ - gem install bundler -v 2.1.4
13
13
  - sudo rm /usr/local/bin/docker-compose
14
14
  - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
15
15
  - chmod +x docker-compose
@@ -18,7 +18,7 @@ before_install:
18
18
  - docker-compose version
19
19
 
20
20
  rvm:
21
- - 2.4.1
21
+ - 2.7.2
22
22
 
23
23
  services:
24
24
  - docker
data/CHANGELOG.md CHANGED
@@ -5,6 +5,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5
5
 
6
6
  ## [unreleased]
7
7
 
8
+ ## [1.0.0] - 2025-11-01
9
+
10
+ ### Added
11
+
12
+ - Support podman-compose responses to find active ports
13
+ - Add development environment support for nix
14
+
15
+ ### Changed
16
+
17
+ - Simplifed gemspec files for current pass at nix dev environment
18
+ - Adjusted broken tests which were no longer respecting default Text class adjustments
19
+
20
+ ## [0.2.1] - 2020-12-03
21
+
22
+ ### Changed
23
+
24
+ - Fix bug with Open3 not being required
25
+
26
+ ## [0.2.0] - 2020-11-21
27
+
28
+ ### Changed
29
+
30
+ - Update ruby for development to 2.7.2
31
+ - Bump rake version dependency for devlopment
32
+ - Update to latest Bundler gem version on Travis CI
33
+ - Use latest docker-compose version on Travis CI
34
+ - No longer show message on stdout if docker-compose command is not found
35
+
8
36
  ## [0.1.2] - 2019-08-26
9
37
 
10
38
  ### Added
@@ -27,7 +55,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
27
55
 
28
56
  - Initial version
29
57
 
30
- [unreleased]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.2...HEAD
58
+ [unreleased]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.2.1...HEAD
59
+ [0.2.1]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.2.0...v0.2.1
60
+ [0.2.0]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.2...v0.2.0
31
61
  [0.1.2]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.1...v0.1.2
32
62
  [0.1.1]: https://github.com/CoffeeAndCode/docker_compose_env/compare/v0.1.0...v0.1.1
33
63
  [0.1.0]: https://github.com/CoffeeAndCode/docker_compose_env/releases/tag/v0.1.0
data/Gemfile.lock ADDED
@@ -0,0 +1,193 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ docker_compose_env (1.0.0)
5
+ docker_compose_env_rails (1.0.0)
6
+ docker_compose_env (= 1.0.0)
7
+ railties
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionpack (8.1.1)
13
+ actionview (= 8.1.1)
14
+ activesupport (= 8.1.1)
15
+ nokogiri (>= 1.8.5)
16
+ rack (>= 2.2.4)
17
+ rack-session (>= 1.0.1)
18
+ rack-test (>= 0.6.3)
19
+ rails-dom-testing (~> 2.2)
20
+ rails-html-sanitizer (~> 1.6)
21
+ useragent (~> 0.16)
22
+ actionview (8.1.1)
23
+ activesupport (= 8.1.1)
24
+ builder (~> 3.1)
25
+ erubi (~> 1.11)
26
+ rails-dom-testing (~> 2.2)
27
+ rails-html-sanitizer (~> 1.6)
28
+ activesupport (8.1.1)
29
+ base64
30
+ bigdecimal
31
+ concurrent-ruby (~> 1.0, >= 1.3.1)
32
+ connection_pool (>= 2.2.5)
33
+ drb
34
+ i18n (>= 1.6, < 2)
35
+ json
36
+ logger (>= 1.4.2)
37
+ minitest (>= 5.1)
38
+ securerandom (>= 0.3)
39
+ tzinfo (~> 2.0, >= 2.0.5)
40
+ uri (>= 0.13.1)
41
+ ast (2.4.3)
42
+ base64 (0.3.0)
43
+ bigdecimal (3.3.1)
44
+ builder (3.3.0)
45
+ concurrent-ruby (1.3.5)
46
+ connection_pool (2.5.4)
47
+ crass (1.0.6)
48
+ date (3.5.0)
49
+ drb (2.2.3)
50
+ dry-configurable (1.3.0)
51
+ dry-core (~> 1.1)
52
+ zeitwerk (~> 2.6)
53
+ dry-core (1.1.0)
54
+ concurrent-ruby (~> 1.0)
55
+ logger
56
+ zeitwerk (~> 2.6)
57
+ dry-inflector (1.2.0)
58
+ dry-initializer (3.2.0)
59
+ dry-logic (1.6.0)
60
+ bigdecimal
61
+ concurrent-ruby (~> 1.0)
62
+ dry-core (~> 1.1)
63
+ zeitwerk (~> 2.6)
64
+ dry-schema (1.14.1)
65
+ concurrent-ruby (~> 1.0)
66
+ dry-configurable (~> 1.0, >= 1.0.1)
67
+ dry-core (~> 1.1)
68
+ dry-initializer (~> 3.2)
69
+ dry-logic (~> 1.5)
70
+ dry-types (~> 1.8)
71
+ zeitwerk (~> 2.6)
72
+ dry-types (1.8.3)
73
+ bigdecimal (~> 3.0)
74
+ concurrent-ruby (~> 1.0)
75
+ dry-core (~> 1.0)
76
+ dry-inflector (~> 1.0)
77
+ dry-logic (~> 1.4)
78
+ zeitwerk (~> 2.6)
79
+ erb (5.1.3)
80
+ erubi (1.13.1)
81
+ i18n (1.14.7)
82
+ concurrent-ruby (~> 1.0)
83
+ io-console (0.8.1)
84
+ irb (1.15.3)
85
+ pp (>= 0.6.0)
86
+ rdoc (>= 4.0.0)
87
+ reline (>= 0.4.2)
88
+ json (2.15.2)
89
+ language_server-protocol (3.17.0.5)
90
+ lint_roller (1.1.0)
91
+ logger (1.7.0)
92
+ loofah (2.24.1)
93
+ crass (~> 1.0.2)
94
+ nokogiri (>= 1.12.0)
95
+ mini_portile2 (2.8.9)
96
+ minitest (5.26.0)
97
+ nokogiri (1.18.10)
98
+ mini_portile2 (~> 2.8.2)
99
+ racc (~> 1.4)
100
+ parallel (1.27.0)
101
+ parser (3.3.10.0)
102
+ ast (~> 2.4.1)
103
+ racc
104
+ pp (0.6.3)
105
+ prettyprint
106
+ prettyprint (0.2.0)
107
+ prism (1.6.0)
108
+ psych (5.2.6)
109
+ date
110
+ stringio
111
+ racc (1.8.1)
112
+ rack (3.2.3)
113
+ rack-session (2.1.1)
114
+ base64 (>= 0.1.0)
115
+ rack (>= 3.0.0)
116
+ rack-test (2.2.0)
117
+ rack (>= 1.3)
118
+ rackup (2.2.1)
119
+ rack (>= 3)
120
+ rails-dom-testing (2.3.0)
121
+ activesupport (>= 5.0.0)
122
+ minitest
123
+ nokogiri (>= 1.6)
124
+ rails-html-sanitizer (1.6.2)
125
+ loofah (~> 2.21)
126
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
127
+ railties (8.1.1)
128
+ actionpack (= 8.1.1)
129
+ activesupport (= 8.1.1)
130
+ irb (~> 1.13)
131
+ rackup (>= 1.0.0)
132
+ rake (>= 12.2)
133
+ thor (~> 1.0, >= 1.2.2)
134
+ tsort (>= 0.2)
135
+ zeitwerk (~> 2.6)
136
+ rainbow (3.1.1)
137
+ rake (13.3.1)
138
+ rdoc (6.15.1)
139
+ erb
140
+ psych (>= 4.0.0)
141
+ tsort
142
+ reek (6.5.0)
143
+ dry-schema (~> 1.13)
144
+ logger (~> 1.6)
145
+ parser (~> 3.3.0)
146
+ rainbow (>= 2.0, < 4.0)
147
+ rexml (~> 3.1)
148
+ regexp_parser (2.11.3)
149
+ reline (0.6.2)
150
+ io-console (~> 0.5)
151
+ rexml (3.4.4)
152
+ rubocop (1.81.7)
153
+ json (~> 2.3)
154
+ language_server-protocol (~> 3.17.0.2)
155
+ lint_roller (~> 1.1.0)
156
+ parallel (~> 1.10)
157
+ parser (>= 3.3.0.2)
158
+ rainbow (>= 2.2.2, < 4.0)
159
+ regexp_parser (>= 2.9.3, < 3.0)
160
+ rubocop-ast (>= 1.47.1, < 2.0)
161
+ ruby-progressbar (~> 1.7)
162
+ unicode-display_width (>= 2.4.0, < 4.0)
163
+ rubocop-ast (1.47.1)
164
+ parser (>= 3.3.7.2)
165
+ prism (~> 1.4)
166
+ ruby-progressbar (1.13.0)
167
+ securerandom (0.4.1)
168
+ stringio (3.1.7)
169
+ thor (1.4.0)
170
+ tsort (0.2.0)
171
+ tzinfo (2.0.6)
172
+ concurrent-ruby (~> 1.0)
173
+ unicode-display_width (3.2.0)
174
+ unicode-emoji (~> 4.1)
175
+ unicode-emoji (4.1.0)
176
+ uri (1.1.0)
177
+ useragent (0.16.11)
178
+ zeitwerk (2.7.3)
179
+
180
+ PLATFORMS
181
+ ruby
182
+
183
+ DEPENDENCIES
184
+ bundler
185
+ docker_compose_env!
186
+ docker_compose_env_rails!
187
+ minitest
188
+ rake
189
+ reek
190
+ rubocop
191
+
192
+ BUNDLED WITH
193
+ 2.6.6
data/README.md CHANGED
@@ -108,6 +108,21 @@ release a new version, update the version number in `version.rb`, and then run
108
108
  `bundle exec rake release`, which will create a git tag for the version, push
109
109
  git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
110
110
 
111
+ If using nix & direnv, you can change to the project directory and `direnv allow`.
112
+
113
+ To generate a `Gemfile.lock`, you should first run:
114
+
115
+ `nix run .#bundler -- config set --local force_ruby_platform 1` to simplify nix setup.
116
+
117
+ Then you can run:
118
+
119
+ ```sh
120
+ nix run .#bundler -- lock
121
+ git add -f Gemfile.lock
122
+ nix run .#bundix
123
+ git add gemset.nix
124
+ direnv reload
125
+ ```
111
126
 
112
127
  ## Contributing
113
128
 
@@ -1,12 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'docker_compose_env/version'
6
-
7
3
  Gem::Specification.new do |spec|
8
4
  spec.name = 'docker_compose_env'
9
- spec.version = DockerComposeEnv::VERSION
5
+ spec.version = '1.0.0'
10
6
  spec.authors = ['Jonathan Knapp']
11
7
  spec.email = ['jon@coffeeandcode.com']
12
8
 
@@ -24,9 +20,9 @@ Gem::Specification.new do |spec|
24
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
21
  spec.require_paths = ['lib']
26
22
 
27
- spec.add_development_dependency 'bundler', '~> 2.0'
28
- spec.add_development_dependency 'rake', '~> 12.0'
23
+ spec.add_development_dependency 'bundler'
24
+ spec.add_development_dependency 'rake'
29
25
  spec.add_development_dependency 'reek'
30
26
  spec.add_development_dependency 'rubocop'
31
- spec.add_development_dependency 'minitest', '~> 5.10'
27
+ spec.add_development_dependency 'minitest'
32
28
  end
@@ -1,12 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'docker_compose_env/version'
6
-
7
3
  Gem::Specification.new do |spec|
8
4
  spec.name = 'docker_compose_env_rails'
9
- spec.version = DockerComposeEnv::VERSION
5
+ spec.version = '1.0.0'
10
6
  spec.authors = ['Jonathan Knapp']
11
7
  spec.email = ['jon@coffeeandcode.com']
12
8
 
@@ -22,6 +18,6 @@ Gem::Specification.new do |spec|
22
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
19
  spec.require_paths = ['lib']
24
20
 
25
- spec.add_dependency 'docker_compose_env', DockerComposeEnv::VERSION
26
- spec.add_dependency 'railties', '>= 3.2'
21
+ spec.add_dependency 'docker_compose_env', '1.0.0'
22
+ spec.add_dependency 'railties'
27
23
  end
data/flake.lock ADDED
@@ -0,0 +1,133 @@
1
+ {
2
+ "nodes": {
3
+ "flake-compat": {
4
+ "flake": false,
5
+ "locked": {
6
+ "lastModified": 1747046372,
7
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
8
+ "owner": "edolstra",
9
+ "repo": "flake-compat",
10
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
11
+ "type": "github"
12
+ },
13
+ "original": {
14
+ "owner": "edolstra",
15
+ "repo": "flake-compat",
16
+ "type": "github"
17
+ }
18
+ },
19
+ "flake-utils": {
20
+ "inputs": {
21
+ "systems": "systems"
22
+ },
23
+ "locked": {
24
+ "lastModified": 1731533236,
25
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
26
+ "owner": "numtide",
27
+ "repo": "flake-utils",
28
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
29
+ "type": "github"
30
+ },
31
+ "original": {
32
+ "owner": "numtide",
33
+ "repo": "flake-utils",
34
+ "type": "github"
35
+ }
36
+ },
37
+ "flake-utils_2": {
38
+ "inputs": {
39
+ "systems": "systems_2"
40
+ },
41
+ "locked": {
42
+ "lastModified": 1731533236,
43
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
44
+ "owner": "numtide",
45
+ "repo": "flake-utils",
46
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
47
+ "type": "github"
48
+ },
49
+ "original": {
50
+ "owner": "numtide",
51
+ "repo": "flake-utils",
52
+ "type": "github"
53
+ }
54
+ },
55
+ "nixpkgs": {
56
+ "locked": {
57
+ "lastModified": 1761597516,
58
+ "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
59
+ "owner": "NixOS",
60
+ "repo": "nixpkgs",
61
+ "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
62
+ "type": "github"
63
+ },
64
+ "original": {
65
+ "owner": "NixOS",
66
+ "ref": "nixos-25.05",
67
+ "repo": "nixpkgs",
68
+ "type": "github"
69
+ }
70
+ },
71
+ "nixpkgs-ruby": {
72
+ "inputs": {
73
+ "flake-compat": "flake-compat",
74
+ "flake-utils": "flake-utils_2",
75
+ "nixpkgs": [
76
+ "nixpkgs"
77
+ ]
78
+ },
79
+ "locked": {
80
+ "lastModified": 1759902829,
81
+ "narHash": "sha256-8mF8hyntxkjxZ5AOM+uHbJMSdA/kTgNTGOdskCKm1+c=",
82
+ "owner": "bobvanderlinden",
83
+ "repo": "nixpkgs-ruby",
84
+ "rev": "5fba6c022a63f1e76dee4da71edddad8959f088a",
85
+ "type": "github"
86
+ },
87
+ "original": {
88
+ "owner": "bobvanderlinden",
89
+ "repo": "nixpkgs-ruby",
90
+ "type": "github"
91
+ }
92
+ },
93
+ "root": {
94
+ "inputs": {
95
+ "flake-utils": "flake-utils",
96
+ "nixpkgs": "nixpkgs",
97
+ "nixpkgs-ruby": "nixpkgs-ruby"
98
+ }
99
+ },
100
+ "systems": {
101
+ "locked": {
102
+ "lastModified": 1681028828,
103
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
104
+ "owner": "nix-systems",
105
+ "repo": "default",
106
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
107
+ "type": "github"
108
+ },
109
+ "original": {
110
+ "owner": "nix-systems",
111
+ "repo": "default",
112
+ "type": "github"
113
+ }
114
+ },
115
+ "systems_2": {
116
+ "locked": {
117
+ "lastModified": 1681028828,
118
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
119
+ "owner": "nix-systems",
120
+ "repo": "default",
121
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
122
+ "type": "github"
123
+ },
124
+ "original": {
125
+ "owner": "nix-systems",
126
+ "repo": "default",
127
+ "type": "github"
128
+ }
129
+ }
130
+ },
131
+ "root": "root",
132
+ "version": 7
133
+ }
data/flake.nix ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ description = "docker_compose_env";
3
+
4
+ inputs = {
5
+ flake-utils.url = "github:numtide/flake-utils";
6
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
7
+ nixpkgs-ruby.url = "github:bobvanderlinden/nixpkgs-ruby";
8
+ nixpkgs-ruby.inputs.nixpkgs.follows = "nixpkgs";
9
+ };
10
+
11
+ outputs = { self, nixpkgs, nixpkgs-ruby, flake-utils }:
12
+ flake-utils.lib.eachDefaultSystem (system:
13
+ let
14
+ name = "docker_compose_env";
15
+ pkgs = import nixpkgs {
16
+ inherit system;
17
+
18
+ config.allowUnfree = true;
19
+ };
20
+ ruby = nixpkgs-ruby.packages.${system}."ruby-3.4.5";
21
+ bundler = pkgs.bundler.override {
22
+ inherit ruby;
23
+ };
24
+ gems = pkgs.bundlerEnv.override { inherit bundler; } {
25
+ inherit name ruby;
26
+ gemdir = ./.;
27
+ extraConfigPaths = [
28
+ "${./.}/docker_compose_env.gemspec"
29
+ "${./.}/docker_compose_env_rails.gemspec"
30
+ "${./.}/lib/docker_compose_env/version.rb"
31
+ ];
32
+ };
33
+ in
34
+ {
35
+ apps = {
36
+ bundix = {
37
+ type = "app";
38
+ program = "${pkgs.bundix}/bin/bundix";
39
+ };
40
+ bundler = {
41
+ type = "app";
42
+ program = "${bundler}/bin/bundler";
43
+ };
44
+ };
45
+ devShell = pkgs.mkShell
46
+ {
47
+ inherit name;
48
+
49
+ BUNDLE_FORCE_RUBY_PLATFORM = true;
50
+ IRB_USE_AUTOCOMPLETE = "false";
51
+
52
+ buildInputs = with pkgs;
53
+ [
54
+ cacert
55
+ gems
56
+ nixfmt-classic
57
+ nodejs_22
58
+ ruby
59
+ (yarn.override {
60
+ nodejs = nodejs_22;
61
+ })
62
+ ];
63
+ };
64
+ });
65
+ }