dockerfile-rails 1.5.9 → 1.5.11

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: aa278e91ec05725efb320caaecd9ca2cde617166b4ad4157f7103eeccecf4961
4
- data.tar.gz: 748f841c1ba25cfa9f126c056a97e6eb9f6e854ea937f0e7c3a93756992746ed
3
+ metadata.gz: 1d82a193aafa58b460153c6f40f11eb3ef6928dd889b2225cf05c8d54403413e
4
+ data.tar.gz: 102a8194647678ee4d21cbdc5e01aeab3f626a6498ae8b01bc1ec1f9ab8e25ae
5
5
  SHA512:
6
- metadata.gz: 6af2d5008690de608fb72d114c59a3a4a56ff7348be8d4a3c8f21243e3a5e002bd53341297ccaece8191c9e53312b080af973e382dc62b698bb0f7e4832cb188
7
- data.tar.gz: c87bbb4eee23e9a5c2dc63d297308edc16df2baf42ea68640df6edca33537ed2acd195a0b49438b6d857c26a8812ad0c19809b8e129d0645e80f6e604a3d0553
6
+ metadata.gz: f9eeb2d4615acba7c25d796b7c77cf636794b73e003f966c061607e5c46948db96c84c42d3cc4608ad2afbdcae8ebb13f580dfac971e5318d232190b983d8eb0
7
+ data.tar.gz: 4f94cb176f2d6bb93379895cc5616d93061638c2f5ec17af50492d397007d8457f90adc14851e0bde6c8d95a1ccb5f57294466fddd19169f29b3ef8db43201b2
data/README.md CHANGED
@@ -15,14 +15,22 @@ For more background:
15
15
 
16
16
  ## Usage
17
17
 
18
+ Install from the root of your Rails project by running the following.
19
+
18
20
  ```
19
21
  bundle add dockerfile-rails --optimistic --group development
20
22
  bin/rails generate dockerfile
21
23
  ```
22
24
 
25
+ The `--optomistic` flag will make sure you always get the latest `dockerfile-rails` gem when you run `bundle update && rails g dockerfile`.
26
+
23
27
  ### General option:
24
28
 
25
29
  * `--force` - overwrite existing files
30
+ * `--skip` - keep existing files
31
+
32
+ If neither are specified, you will be prompted if a file exists with
33
+ different contents. If both are specified, `--force` takes precedence.
26
34
 
27
35
  ### Runtime Optimizations:
28
36
 
@@ -61,6 +69,7 @@ additional support may be needed:
61
69
  * `--postgresql` - add postgresql libraries
62
70
  * `--redis` - add redis libraries
63
71
  * `--sqlite3` - add sqlite3 libraries
72
+ * `--sqlserver` - add SQL Server libraries
64
73
 
65
74
  ### Add a package/environment variable/build argument:
66
75
 
@@ -71,7 +80,7 @@ Not all of your needs can be determined by scanning your application. For examp
71
80
  * `--env=name:value` - add an environment variable
72
81
  * `--remove package...` - remove package from "to be added" list
73
82
 
74
- Each of these can be tailored to a specific build phase by adding `-base`, `-build`, or `-deploy` after the flag name (e.g `--add-build freetds-dev --add-deploy freetds-bin`). If no such suffix is found, the default for arg is `-base`, and the default for the rest is `-deploy`. Removal of an arg or environment variable is done by leaving the value blank (e.g `--env-build=PORT:`).
83
+ Args and environment variables can be tailored to a specific build phase by adding `-base`, `-build`, or `-deploy` after the flag name (e.g `--add-build freetds-dev --add-deploy freetds-bin`). If no such suffix is found, the default for arg is `-base`, and the default for env is `-deploy`. Removal of an arg or environment variable is done by leaving the value blank (e.g `--env-build=PORT:`).
75
84
 
76
85
  ### Configuration:
77
86
 
@@ -53,6 +53,7 @@ module DockerfileRails
53
53
  @sqlite3 = true if @gemfile.include? "sqlite3"
54
54
  @postgresql = true if @gemfile.include? "pg"
55
55
  @mysql = true if @gemfile.include?("mysql2") || using_trilogy?
56
+ @sqlserver = true if @gemfile.include?("activerecord-sqlserver-adapter")
56
57
 
57
58
  ### node modules ###
58
59
 
@@ -35,6 +35,7 @@ class DockerfileGenerator < Rails::Generators::Base
35
35
  "rollbar" => false,
36
36
  "root" => false,
37
37
  "sqlite3" => false,
38
+ "sqlserver" => false,
38
39
  "sentry" => false,
39
40
  "sudo" => false,
40
41
  "swap" => nil,
@@ -127,6 +128,9 @@ class DockerfileGenerator < Rails::Generators::Base
127
128
  class_option :sqlite3, aliases: "--sqlite", type: :boolean, default: OPTION_DEFAULTS.sqlite3,
128
129
  desc: "include sqlite3 libraries"
129
130
 
131
+ class_option :sqlserver, aliases: "--sqlserver", type: :boolean, default: OPTION_DEFAULTS.sqlserver,
132
+ desc: "include SQL server libraries"
133
+
130
134
  class_option :litefs, type: :boolean, default: OPTION_DEFAULTS.litefs,
131
135
  desc: "replicate sqlite3 databases using litefs"
132
136
 
@@ -294,7 +298,7 @@ class DockerfileGenerator < Rails::Generators::Base
294
298
  fly_attach_consul
295
299
  end
296
300
 
297
- if File.exist?("fly.toml") && (fly_processes || !options.prepare || options.swap)
301
+ if File.exist?("fly.toml") && (fly_processes || !options.prepare || options.swap || deploy_database == "sqlite3")
298
302
  if File.stat("fly.toml").size > 0
299
303
  template "fly.toml.erb", "fly.toml"
300
304
  else
@@ -560,6 +564,7 @@ private
560
564
  # add databases: sqlite3, postgres, mysql
561
565
  packages << "pkg-config" if options.sqlite3? || @sqlite3
562
566
  packages << "libpq-dev" if options.postgresql? || @postgresql
567
+ packages << "freetds-dev" if options.sqlserver? || @sqlserver
563
568
 
564
569
  if (options.mysql? || @mysql) && !using_trilogy?
565
570
  packages << "default-libmysqlclient-dev"
@@ -615,6 +620,7 @@ private
615
620
  # start with databases: sqlite3, postgres, mysql
616
621
  packages << "postgresql-client" if options.postgresql? || @postgresql
617
622
  packages << "default-mysql-client" if options.mysql? || @mysql
623
+ packages << "freetds-bin" if options.sqlserver? || @sqlserver
618
624
  packages << "libjemalloc2" if options.jemalloc? && !options.fullstaq?
619
625
  if options.sqlite3? || @sqlite3
620
626
  packages << "libsqlite3-0" unless packages.include? "sqlite3"
@@ -916,6 +922,8 @@ private
916
922
  "postgresql"
917
923
  elsif options.mysql? || @mysql || has_mysql_gem?
918
924
  "mysql"
925
+ elsif options.sqlserver || @sqlserver
926
+ "sqlserver"
919
927
  else
920
928
  "sqlite3"
921
929
  end
@@ -960,7 +968,7 @@ private
960
968
 
961
969
  version
962
970
  rescue
963
- "latest"
971
+ "1.22.19"
964
972
  end
965
973
 
966
974
 
@@ -1147,6 +1155,12 @@ private
1147
1155
  end
1148
1156
  end
1149
1157
 
1158
+ if deploy_database == "sqlite3"
1159
+ if not toml.include? "[mounts]"
1160
+ toml += "[mounts]\n source=\"data\"\n destination=\"/data\"\n\n"
1161
+ end
1162
+ end
1163
+
1150
1164
  if options.swap
1151
1165
  suffixes = {
1152
1166
  "kib" => 1024,
@@ -34,8 +34,8 @@ ENV <%= base_env.join(" \\\n ") %>
34
34
  RUN gem update --system --no-document && \
35
35
  gem install -N <%= base_gems.join(" ") %>
36
36
 
37
- <% unless base_requirements.empty? -%>
38
- # Install packages needed to install <%= base_requirements %>
37
+ <% unless base_packages.empty? -%>
38
+ # Install packages<% unless base_requirements.empty? -%> needed to install <%= base_requirements %><% end %>
39
39
  <%= render partial: 'apt_install', locals: {packages: base_packages, clean: true, repos: base_repos} %>
40
40
 
41
41
  <% end -%>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerfile-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9
4
+ version: 1.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Ruby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-16 00:00:00.000000000 Z
11
+ date: 2023-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 3.0.0
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: '0'
26
+ version: 3.0.0
27
27
  description:
28
28
  email: rubys@intertwingly.net
29
29
  executables: []