combustion 1.1.2 → 1.3.2

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: 3eb6d2a6b0969112f3503bab5f3b9c4847118d4a7e109651cf1ac616de7d419b
4
- data.tar.gz: 3d8ae68beb0394aec13846aafa2f20b4c195403e07a727106a61a1098ce3cc99
3
+ metadata.gz: 39f83842b1e3640bdda8adf04dbcafba5585f631c9cac38593bfa1cf6e2cfe9e
4
+ data.tar.gz: 27033c85fed3a308d3b948589c3b7718b3e519e1678fe1485c3602fd2fa2a3f9
5
5
  SHA512:
6
- metadata.gz: e814d51e52656bc048850758136196e8f93bcb164e131773cf5d36c291a5568482550e1c9899d263d5d0a21e5f73cd523537db4114598f753885a275542623fe
7
- data.tar.gz: c16a93e9c6130109c94a7b0324f4350eb96f6041512f419fac6666b0816ed11b1431c68efa20df803c0193ed820b8dd849f46bff767843f2d27fb8abc256e03b
6
+ metadata.gz: d7946f7712e79c002ec2f96621668c8e28761bbfff99d5da9dd4f8adebeca0feae00b8ca97c4f317bd1c015f086b0c74622c7326c3e7dcc775c5b9e75b2672cb
7
+ data.tar.gz: 37f64f59e58314e2835b6ed840ece3fd7fcf95be92e5ce154346ae79c6efb51421063421113cbbc6ff9d5a526bf0fbf255b31232e02c92c0017efc850a81bb19
data/Appraisals CHANGED
@@ -37,21 +37,23 @@ if RUBY_VERSION.to_f <= 2.3
37
37
  end
38
38
  end
39
39
 
40
- appraise "rails-5.0" do
41
- gem "rails", "~> 5.0.2"
42
- gem "mysql2", "~> 0.4.4"
43
- gem "pg", "< 1.0"
44
- end
40
+ if RUBY_VERSION.to_f < 3.0
41
+ appraise "rails-5.0" do
42
+ gem "rails", "~> 5.0.2"
43
+ gem "mysql2", "~> 0.4.4"
44
+ gem "pg", "< 1.0"
45
+ end
45
46
 
46
- appraise "rails-5.1" do
47
- gem "rails", "~> 5.1.0"
48
- gem "mysql2", "~> 0.4.4"
49
- gem "pg", "< 1.0"
50
- end
47
+ appraise "rails-5.1" do
48
+ gem "rails", "~> 5.1.0"
49
+ gem "mysql2", "~> 0.4.4"
50
+ gem "pg", "< 1.0"
51
+ end
51
52
 
52
- appraise "rails-5.2" do
53
- gem "rails", "~> 5.2.0"
54
- gem "mysql2", "~> 0.5.0"
53
+ appraise "rails-5.2" do
54
+ gem "rails", "~> 5.2.0"
55
+ gem "mysql2", "~> 0.5.0"
56
+ end
55
57
  end
56
58
 
57
59
  if RUBY_VERSION.to_f >= 2.5
@@ -61,9 +63,22 @@ if RUBY_VERSION.to_f >= 2.5
61
63
  gem "sqlite3", "~> 1.4"
62
64
  end
63
65
 
66
+ appraise "rails-6.1" do
67
+ gem "rails", "~> 6.1.0"
68
+ gem "mysql2", "~> 0.5.0"
69
+ gem "sqlite3", "~> 1.4"
70
+ end
71
+ end
72
+
73
+ if RUBY_VERSION.to_f >= 2.7
74
+ appraise "rails-7.0" do
75
+ gem "rails", "~> 7.0.0.alpha2"
76
+ gem "mysql2", "~> 0.5.0"
77
+ gem "sqlite3", "~> 1.4"
78
+ end
79
+
64
80
  appraise "rails-edge" do
65
- gem "rails", :git => "https://github.com/rails/rails.git"
66
- gem "arel", :git => "https://github.com/rails/arel.git"
81
+ gem "rails", :git => "https://github.com/rails/rails.git", :branch => "main"
67
82
  gem "mysql2", "~> 0.5.0"
68
83
  gem "sqlite3", "~> 1.4"
69
84
  end
data/Gemfile CHANGED
@@ -4,10 +4,19 @@ source "http://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- gem "sqlite3", "~> 1.3.13"
7
+ if RUBY_VERSION.to_f < 3.0
8
+ gem "sqlite3", "~> 1.3.13"
9
+ else
10
+ gem "sqlite3", "~> 1.4"
11
+ end
8
12
 
9
13
  if RUBY_VERSION.to_f < 2.3
10
14
  gem "i18n", "< 1.6"
11
15
  gem "nio4r", "< 2.4"
12
16
  gem "nokogiri", "< 1.10.3"
13
17
  end
18
+
19
+ if RUBY_VERSION.to_f > 2.4
20
+ gem "rubocop", "~> 0.92"
21
+ gem "rubocop-packaging", "~> 0.5"
22
+ end
data/README.md CHANGED
@@ -10,10 +10,10 @@ Get the gem into either your gemspec or your Gemfile, depending on how you manag
10
10
 
11
11
  ```ruby
12
12
  # gemspec
13
- gem.add_development_dependency 'combustion', '~> 1.1'
13
+ gem.add_development_dependency 'combustion', '~> 1.3'
14
14
 
15
15
  # Gemfile
16
- gem 'combustion', '~> 1.1'
16
+ gem 'combustion', '~> 1.3'
17
17
  ```
18
18
 
19
19
  In your `spec_helper.rb`, get Combustion to set itself up - which has to happen before you introduce `rspec/rails` and - if being used - `capybara/rails`. Here's an example within context:
@@ -208,4 +208,4 @@ The tests are extremely minimal, and patches to extend the suite are especially
208
208
 
209
209
  ## Credits
210
210
 
211
- Copyright (c) 2011-2017, Combustion is developed and maintained by Pat Allan, and is released under the open MIT Licence. Many thanks to HyperTiny for encouraging its development, and [all who have contributed patches](https://github.com/pat/combustion/contributors).
211
+ Copyright (c) 2011-2021, Combustion is developed and maintained by Pat Allan, and is released under the open MIT Licence. Many thanks to HyperTiny for encouraging its development, and [all who have contributed patches](https://github.com/pat/combustion/contributors).
@@ -6,6 +6,13 @@ Rails.env = ENV["RAILS_ENV"] || "test"
6
6
 
7
7
  module Combustion
8
8
  class Application < Rails::Application
9
+ CONFIGURERS = [
10
+ Combustion::Configurations::ActiveRecord,
11
+ Combustion::Configurations::ActionController,
12
+ Combustion::Configurations::ActionMailer,
13
+ Combustion::Configurations::ActiveStorage
14
+ ].freeze
15
+
9
16
  version = Rails.version.to_f
10
17
 
11
18
  # Core Settings
@@ -26,9 +33,7 @@ module Combustion
26
33
  def self.configure_for_combustion
27
34
  config.root = File.expand_path File.join(Dir.pwd, Combustion.path)
28
35
 
29
- Combustion::Configurations::ActiveRecord.call config
30
- Combustion::Configurations::ActionController.call config
31
- Combustion::Configurations::ActionMailer.call config
36
+ CONFIGURERS.each { |configurer| configurer.call config }
32
37
 
33
38
  config.assets.enabled = true if defined?(Sprockets)
34
39
  end
@@ -2,6 +2,10 @@
2
2
 
3
3
  class Combustion::Configurations::ActiveRecord
4
4
  def self.call(config)
5
+ if ActiveRecord::VERSION::MAJOR >= 7
6
+ config.active_record.legacy_connection_handling = false
7
+ end
8
+
5
9
  return unless defined?(ActiveRecord::Railtie)
6
10
  return unless ::ActiveRecord.constants.include?(:MassAssignmentSecurity)
7
11
 
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Combustion::Configurations::ActiveStorage
4
+ def self.call(config)
5
+ return unless defined?(ActiveStorage::Engine)
6
+
7
+ config.active_storage.service = :test
8
+ end
9
+ end
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Combustion::Database::Reset
4
+ # https://github.com/ruby/psych/pull/358/files#diff-fcdbfb11714f576f58ba9f866052bc79R322
5
+ RUBY_VERSION_WITH_NEW_SAFE_LOAD_METHOD_SIGNATURE = "2.6.0"
6
+
4
7
  UnsupportedDatabase = Class.new StandardError
5
8
 
6
9
  OPERATOR_PATTERNS = {
@@ -19,15 +22,22 @@ class Combustion::Database::Reset
19
22
  end
20
23
 
21
24
  def initialize
22
- ActiveRecord::Base.configurations = YAML.safe_load(
23
- ERB.new(database_yaml).result, [], [], true
24
- )
25
+ # TODO: remove when no longer support 2.5.8
26
+ if RUBY_VERSION >= RUBY_VERSION_WITH_NEW_SAFE_LOAD_METHOD_SIGNATURE
27
+ ActiveRecord::Base.configurations = YAML.safe_load(
28
+ ERB.new(database_yaml).result, :aliases => true
29
+ )
30
+ else
31
+ ActiveRecord::Base.configurations = YAML.safe_load(
32
+ ERB.new(database_yaml).result, [], [], true
33
+ )
34
+ end
25
35
  end
26
36
 
27
37
  def call
28
- resettable_db_configs.each_value do |configuration|
29
- adapter = configuration["adapter"] ||
30
- configuration["url"].split("://").first
38
+ resettable_db_configs.each do |configuration|
39
+ adapter = configuration[:adapter] ||
40
+ configuration[:url].split("://").first
31
41
 
32
42
  operator_class(adapter).new(configuration).reset
33
43
  end
@@ -52,10 +62,28 @@ class Combustion::Database::Reset
52
62
  # All database configs except Rails default environments
53
63
  # that are not currently in use
54
64
  def resettable_db_configs
65
+ if ActiveRecord::VERSION::STRING.to_f > 6.0
66
+ return resettable_db_configs_for_6_1
67
+ end
68
+
55
69
  all_configurations = ActiveRecord::Base.configurations.to_h
56
70
  unused_environments = RAILS_DEFAULT_ENVIRONMENTS - [Rails.env.to_s]
57
71
  resettable_environments = all_configurations.keys - unused_environments
58
72
 
59
- all_configurations.select { |name| resettable_environments.include?(name) }
73
+ all_configurations.
74
+ select { |name| resettable_environments.include?(name) }.
75
+ values.
76
+ collect(&:with_indifferent_access)
77
+ end
78
+
79
+ def resettable_db_configs_for_6_1
80
+ all_configurations = ActiveRecord::Base.configurations.configurations
81
+ unused_environments = RAILS_DEFAULT_ENVIRONMENTS - [Rails.env.to_s]
82
+ resettable_environments = all_configurations.collect(&:env_name).uniq -
83
+ unused_environments
84
+
85
+ all_configurations.
86
+ select { |config| resettable_environments.include?(config.env_name) }.
87
+ collect(&:configuration_hash)
60
88
  end
61
89
  end
@@ -4,7 +4,7 @@ class Combustion::Databases::MySQL < Combustion::Databases::Base
4
4
  ACCESS_DENIED_ERROR = 10_145
5
5
 
6
6
  def reset
7
- establish_connection(configuration.merge("database" => nil))
7
+ establish_connection(configuration.merge(:database => nil))
8
8
 
9
9
  super
10
10
  end
@@ -12,21 +12,21 @@ class Combustion::Databases::MySQL < Combustion::Databases::Base
12
12
  private
13
13
 
14
14
  def charset
15
- configuration["charset"] || ENV["CHARSET"] || "utf8"
15
+ configuration[:charset] || ENV["CHARSET"] || "utf8"
16
16
  end
17
17
 
18
18
  def charset_error
19
- return "" unless config["charset"]
19
+ return "" unless configuration[:charset]
20
20
 
21
21
  "(if you set the charset manually, make sure you have a matching collation)"
22
22
  end
23
23
 
24
24
  def collation
25
- configuration["collation"] || ENV["COLLATION"] || "utf8_unicode_ci"
25
+ configuration[:collation] || ENV["COLLATION"] || "utf8_unicode_ci"
26
26
  end
27
27
 
28
28
  def create
29
- connection.create_database configuration["database"], creation_options
29
+ connection.create_database configuration[:database], creation_options
30
30
  establish_connection configuration
31
31
  rescue error_class => error
32
32
  rescue_create_from error
@@ -34,12 +34,12 @@ class Combustion::Databases::MySQL < Combustion::Databases::Base
34
34
 
35
35
  def create_as_root(error)
36
36
  establish_connection configuration.merge(
37
- "database" => nil,
38
- "username" => "root",
39
- "password" => request_password(error)
37
+ :database => nil,
38
+ :username => "root",
39
+ :password => request_password(error)
40
40
  )
41
41
 
42
- connection.create_database config["database"], creation_options
42
+ connection.create_database configuration[:database], creation_options
43
43
  connection.execute grant_statement
44
44
 
45
45
  establish_connection configuration
@@ -50,15 +50,15 @@ class Combustion::Databases::MySQL < Combustion::Databases::Base
50
50
  end
51
51
 
52
52
  def drop
53
- connection.drop_database configuration["database"]
53
+ connection.drop_database configuration[:database]
54
54
  end
55
55
 
56
56
  def error_class
57
- if configuration["adapter"][/jdbc/]
57
+ if configuration[:adapter][/jdbc/]
58
58
  # FIXME: After Jdbcmysql gives this class
59
59
  require "active_record/railties/jdbcmysql_error"
60
60
  ArJdbcMySQL::Error
61
- elsif config["adapter"][/mysql2/] && defined?(Mysql2)
61
+ elsif configuration[:adapter][/mysql2/] && defined?(Mysql2)
62
62
  Mysql2::Error
63
63
  else
64
64
  Mysql::Error
@@ -68,8 +68,8 @@ class Combustion::Databases::MySQL < Combustion::Databases::Base
68
68
  def grant_statement
69
69
  <<-SQL
70
70
  GRANT ALL PRIVILEGES ON #{configuration["database"]}.*
71
- TO '#{configuration["username"]}'@'localhost'
72
- IDENTIFIED BY '#{configuration["password"]}' WITH GRANT OPTION;
71
+ TO '#{configuration[:username]}'@'localhost'
72
+ IDENTIFIED BY '#{configuration[:password]}' WITH GRANT OPTION;
73
73
  SQL
74
74
  end
75
75
 
@@ -91,7 +91,7 @@ Please provide the root password for your mysql installation
91
91
 
92
92
  warn <<-TXT
93
93
  #{error.error}
94
- Couldn't create database for #{config.inspect}, charset: #{charset}, collation: #{collation}
94
+ Couldn't create database for #{configuration.inspect}, charset: #{charset}, collation: #{collation}
95
95
  #{charset_error}
96
96
  TXT
97
97
  end
@@ -12,8 +12,8 @@ class Combustion::Databases::PostgreSQL < Combustion::Databases::Base
12
12
 
13
13
  def create
14
14
  connection.create_database(
15
- configuration["database"],
16
- configuration.merge("encoding" => encoding)
15
+ configuration[:database],
16
+ configuration.merge(:encoding => encoding)
17
17
  )
18
18
  rescue StandardError => error
19
19
  warn error, *error.backtrace
@@ -21,21 +21,21 @@ class Combustion::Databases::PostgreSQL < Combustion::Databases::Base
21
21
  end
22
22
 
23
23
  def drop
24
- connection.drop_database(configuration["database"])
24
+ connection.drop_database(configuration[:database])
25
25
  end
26
26
 
27
27
  def encoding
28
- configuration["encoding"] || ENV["CHARSET"] || "utf8"
28
+ configuration[:encoding] || ENV["CHARSET"] || "utf8"
29
29
  end
30
30
 
31
31
  def postgres_configuration
32
32
  configuration.merge(
33
- "database" => "postgres",
34
- "schema_search_path" => schema_search_path
33
+ :database => "postgres",
34
+ :schema_search_path => schema_search_path
35
35
  )
36
36
  end
37
37
 
38
38
  def schema_search_path
39
- configuration["adapter"][/postgis/] ? "public, postgis" : "public"
39
+ configuration[:adapter][/postgis/] ? "public, postgis" : "public"
40
40
  end
41
41
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  class Combustion::Databases::SQLServer < Combustion::Databases::Base
4
4
  def reset
5
- establish_connection configuration.merge("database" => "master")
6
- connection.recreate_database! configuration["database"]
5
+ establish_connection configuration.merge(:database => "master")
6
+ connection.recreate_database! configuration[:database]
7
7
  end
8
8
  end
@@ -8,7 +8,7 @@ class Combustion::Databases::SQLite < Combustion::Databases::Base
8
8
 
9
9
  def create
10
10
  if exists?
11
- warn "#{config["database"]} already exists"
11
+ warn "#{config[:database]} already exists"
12
12
  return
13
13
  end
14
14
 
@@ -32,6 +32,6 @@ class Combustion::Databases::SQLite < Combustion::Databases::Base
32
32
  end
33
33
 
34
34
  def path
35
- @path ||= Pathname.new configuration["database"]
35
+ @path ||= Pathname.new configuration[:database]
36
36
  end
37
37
  end
@@ -23,6 +23,7 @@ module Combustion
23
23
  template "templates/database.yml", "spec/internal/config/database.yml"
24
24
  template "templates/schema.rb", "spec/internal/db/schema.rb"
25
25
  template "templates/config.ru", "config.ru"
26
+ template "templates/storage.yml", "spec/internal/config/storage.yml"
26
27
 
27
28
  create_file "spec/internal/app/assets/config/manifest.js"
28
29
  create_file "spec/internal/public/favicon.ico"
data/lib/combustion.rb CHANGED
@@ -12,18 +12,31 @@ module Combustion
12
12
  self.path = "/spec/internal"
13
13
  self.schema_format = :ruby
14
14
 
15
- MODULES = if Rails.version.to_f >= 3.1
16
- %w[ active_record action_controller action_view action_mailer sprockets ]
17
- else
18
- %w[ active_record action_controller action_view action_mailer ]
19
- end
15
+ MODULES = begin
16
+ hash = {
17
+ :active_model => "active_model/railtie",
18
+ :active_record => "active_record/railtie",
19
+ :action_controller => "action_controller/railtie",
20
+ :action_mailer => "action_mailer/railtie",
21
+ :action_view => "action_view/railtie"
22
+ }
23
+
24
+ hash[:sprockets] = "sprockets/railtie" if Rails.version.to_f >= 3.1
25
+ hash[:active_job] = "active_job/railtie" if Rails.version.to_f >= 4.2
26
+ hash[:action_cable] = "action_cable/engine" if Rails.version.to_f >= 5.0
27
+ hash[:active_storage] = "active_storage/engine" if Rails.version.to_f >= 5.2
28
+ hash[:action_text] = "action_text/engine" if Rails.version.to_f >= 6.0
29
+ hash[:action_mailbox] = "action_mailbox/engine" if Rails.version.to_f >= 6.0
30
+
31
+ hash
32
+ end.freeze
20
33
 
21
34
  def self.initialize!(*modules, &block)
22
35
  self.setup_environment = block if block_given?
23
36
 
24
37
  options = modules.extract_options!
25
- modules = MODULES if modules == [:all]
26
- modules.each { |mod| require "#{mod}/railtie" }
38
+ modules = MODULES.keys if modules == [:all]
39
+ modules.each { |mod| require MODULES.fetch(mod, "#{mod}/railtie") }
27
40
 
28
41
  Bundler.require :default, Rails.env
29
42
 
@@ -65,8 +78,9 @@ module Combustion
65
78
  end
66
79
  end
67
80
 
68
- require "combustion/application"
69
81
  require "combustion/configurations/action_controller"
70
82
  require "combustion/configurations/action_mailer"
71
83
  require "combustion/configurations/active_record"
84
+ require "combustion/configurations/active_storage"
85
+ require "combustion/application"
72
86
  require "combustion/database"
@@ -1,30 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Combustion
4
- describe Database do
5
- before(:all) do
6
- Dir.chdir(File.expand_path("dummy", __dir__)) do
7
- Combustion.initialize! :active_record
8
- end
9
- end
10
-
11
- it "creates dummy table from migration in base database" do
12
- expect(Model.connection.table_exists?("dummy_table")).to eq true
13
- expect(Model.connection.table_exists?("dummy_in_another_db")).to eq false
14
- end
3
+ RSpec.describe Combustion::Database do
4
+ it "creates dummy table from migration in base database" do
5
+ expect(Model.connection.table_exists?("dummy_table")).to eq true
6
+ expect(Model.connection.table_exists?("dummy_in_another_db")).to eq false
7
+ end
15
8
 
16
- it "creates another dummy table from another database" do
17
- expect(ModelInAnotherDb.connection.table_exists?("dummy_table")).
18
- to eq false
19
- expect(ModelInAnotherDb.connection.table_exists?("dummy_in_another_db")).
20
- to eq true
21
- end
9
+ it "creates another dummy table from another database" do
10
+ expect(ModelInAnotherDb.connection.table_exists?("dummy_table")).
11
+ to eq false
12
+ expect(ModelInAnotherDb.connection.table_exists?("dummy_in_another_db")).
13
+ to eq true
14
+ end
22
15
 
23
- it "returns test database for model with default connection" do
16
+ it "returns test database for model with default connection" do
17
+ if ActiveRecord::VERSION::STRING.to_f > 6.0
18
+ expect(Model.connection_db_config.database).to match(/test/)
19
+ else
24
20
  expect(Model.connection_config[:database]).to match(/test/)
25
21
  end
22
+ end
26
23
 
27
- it "returns test_another for model with connection to second database" do
24
+ it "returns test_another for model with connection to second database" do
25
+ if ActiveRecord::VERSION::STRING.to_f > 6.0
26
+ expect(ModelInAnotherDb.connection_db_config.database).
27
+ to match(/test_another/)
28
+ else
28
29
  expect(ModelInAnotherDb.connection_config[:database]).
29
30
  to match(/test_another/)
30
31
  end
@@ -9,6 +9,10 @@ test: &defaults
9
9
  username: <%= ENV["DB_USERNAME"] %>
10
10
  <% end %>
11
11
 
12
+ <% if ENV["DB_PASSWORD"] %>
13
+ password: <%= ENV["DB_PASSWORD"] %>
14
+ <% end %>
15
+
12
16
 
13
17
  test_another:
14
18
  <<: *defaults
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/setup"
4
3
  require "combustion"
5
4
 
6
5
  if Rails::VERSION::STRING.to_f < 4.1
@@ -13,3 +12,7 @@ if Rails::VERSION::STRING.to_f < 4.1
13
12
  end
14
13
 
15
14
  require File.expand_path("dummy/lib/engine.rb", __dir__)
15
+
16
+ Dir.chdir(File.expand_path("dummy", __dir__)) do
17
+ Combustion.initialize! :all
18
+ end
@@ -0,0 +1,3 @@
1
+ test:
2
+ service: Disk
3
+ root: <%= Rails.root.join("tmp/storage") %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: combustion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pat Allan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-04 00:00:00.000000000 Z
11
+ date: 2021-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.1.0
61
+ version: '2.3'
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: 2.1.0
68
+ version: '2.3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mysql2
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.68.0
131
+ version: 0.81.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.68.0
138
+ version: 0.81.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: sqlite3
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -158,23 +158,19 @@ executables:
158
158
  extensions: []
159
159
  extra_rdoc_files: []
160
160
  files:
161
- - ".gitignore"
162
161
  - ".rspec"
163
- - ".rubocop.yml"
164
- - ".travis.yml"
165
162
  - Appraisals
166
163
  - Gemfile
167
- - HISTORY
168
164
  - LICENCE
169
165
  - README.md
170
166
  - Rakefile
171
- - combustion.gemspec
172
167
  - exe/combust
173
168
  - lib/combustion.rb
174
169
  - lib/combustion/application.rb
175
170
  - lib/combustion/configurations/action_controller.rb
176
171
  - lib/combustion/configurations/action_mailer.rb
177
172
  - lib/combustion/configurations/active_record.rb
173
+ - lib/combustion/configurations/active_storage.rb
178
174
  - lib/combustion/database.rb
179
175
  - lib/combustion/database/load_schema.rb
180
176
  - lib/combustion/database/migrate.rb
@@ -191,22 +187,23 @@ files:
191
187
  - spec/dummy/db/migrate/20150717075542_create_dummy_test_table.rb
192
188
  - spec/dummy/db/migrate/20150717075543_create_dummy_test_table_in_another_db.rb
193
189
  - spec/dummy/lib/engine.rb
190
+ - spec/dummy/spec/internal/app/assets/config/manifest.js
194
191
  - spec/dummy/spec/internal/app/models/model.rb
195
192
  - spec/dummy/spec/internal/app/models/model_in_another_db.rb
196
193
  - spec/dummy/spec/internal/config/database.yml
197
194
  - spec/dummy/spec/internal/config/routes.rb
198
195
  - spec/dummy/spec/internal/db/schema.rb
199
- - spec/dummy/spec/internal/log/.gitignore
200
196
  - spec/spec_helper.rb
201
197
  - templates/config.ru
202
198
  - templates/database.yml
203
199
  - templates/routes.rb
204
200
  - templates/schema.rb
201
+ - templates/storage.yml
205
202
  homepage: https://github.com/pat/combustion
206
203
  licenses:
207
204
  - MIT
208
205
  metadata: {}
209
- post_install_message:
206
+ post_install_message:
210
207
  rdoc_options: []
211
208
  require_paths:
212
209
  - lib
@@ -221,19 +218,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
218
  - !ruby/object:Gem::Version
222
219
  version: '0'
223
220
  requirements: []
224
- rubygems_version: 3.0.4
225
- signing_key:
221
+ rubygems_version: 3.1.4
222
+ signing_key:
226
223
  specification_version: 4
227
224
  summary: Elegant Rails Engine Testing
228
225
  test_files:
229
- - spec/database_spec.rb
230
- - spec/dummy/db/migrate/20150717075542_create_dummy_test_table.rb
231
- - spec/dummy/db/migrate/20150717075543_create_dummy_test_table_in_another_db.rb
232
- - spec/dummy/lib/engine.rb
226
+ - spec/spec_helper.rb
233
227
  - spec/dummy/spec/internal/app/models/model.rb
234
228
  - spec/dummy/spec/internal/app/models/model_in_another_db.rb
235
- - spec/dummy/spec/internal/config/database.yml
229
+ - spec/dummy/spec/internal/app/assets/config/manifest.js
236
230
  - spec/dummy/spec/internal/config/routes.rb
231
+ - spec/dummy/spec/internal/config/database.yml
237
232
  - spec/dummy/spec/internal/db/schema.rb
238
- - spec/dummy/spec/internal/log/.gitignore
239
- - spec/spec_helper.rb
233
+ - spec/dummy/lib/engine.rb
234
+ - spec/dummy/db/migrate/20150717075542_create_dummy_test_table.rb
235
+ - spec/dummy/db/migrate/20150717075543_create_dummy_test_table_in_another_db.rb
236
+ - spec/database_spec.rb
237
+ - ".rspec"
238
+ - Appraisals
239
+ - Gemfile
240
+ - Rakefile
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- gemfiles/*.lock
5
- gemfiles/*.gemfile
6
- pkg/*
7
- .rubocop-*-yml
8
- .ruby-version
9
- .rvmrc
10
- spec/dummy/spec/internal/db/*.sqlite
11
- spec/dummy/spec/internal/test
12
- spec/dummy/spec/internal/test_another
data/.rubocop.yml DELETED
@@ -1,39 +0,0 @@
1
- inherit_from:
2
- - https://gist.githubusercontent.com/pat/ba3b8ffb1901bfe5439b460943b6b019/raw/.rubocop.yml
3
-
4
- AllCops:
5
- TargetRubyVersion: 2.2
6
-
7
- Bundler/OrderedGems:
8
- Exclude:
9
- - 'gemfiles/*'
10
-
11
- Layout/DotPosition:
12
- EnforcedStyle: trailing
13
-
14
- Layout/CaseIndentation:
15
- EnforcedStyle: end
16
-
17
- Layout/EndAlignment:
18
- EnforcedStyleAlignWith: variable
19
-
20
- Layout/IndentHeredoc:
21
- Enabled: false
22
-
23
- Metrics/BlockLength:
24
- Exclude:
25
- - 'combustion.gemspec'
26
-
27
- Style/ClassAndModuleChildren:
28
- Enabled: false
29
-
30
- Style/Documentation:
31
- Enabled: false
32
-
33
- Style/FrozenStringLiteralComment:
34
- Exclude:
35
- - 'gemfiles/*'
36
-
37
- Style/MultilineTernaryOperator:
38
- Exclude:
39
- - 'spec/dummy/db/migrate/*.rb'
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- language: ruby
2
- dist: xenial
3
- env:
4
- matrix:
5
- - "DB_ADAPTER=sqlite3"
6
- - "DB_ADAPTER=postgresql"
7
- - "DB_ADAPTER=mysql2"
8
- rvm:
9
- - 2.2.10
10
- - 2.3.8
11
- - 2.4.6
12
- - 2.5.5
13
- - 2.6.3
14
- before_install:
15
- - gem install bundler --version "~> 1.17"
16
- install:
17
- - bundle _1.17.3_ install --jobs=3 --retry=3
18
- before_script:
19
- - bundle exec appraisal install
20
- script: bundle exec appraisal rake
21
- services:
22
- - mysql
23
- - postgresql
data/HISTORY DELETED
@@ -1,106 +0,0 @@
1
- 1.1.2 - November 4th 2019
2
- * Generate an empty asset manifest file for Rails 6.
3
-
4
- 1.1.1 - August 3rd 2019
5
- * Fix for latest Rails 6.0 release candidate.
6
- * Test suite updates (Rails edge, sqlite3, Rubocop)
7
-
8
- 1.1.0 - February 13th 2019
9
- * Rails 6.0 support.
10
-
11
- 1.0.0 - October 3rd 2018
12
- * No functional changes.
13
- * Added documentation about database preparation options.
14
-
15
- 0.9.1 - April 25th 2018
16
- * Fix Rails 5.2 compatibility by not setting the deprecated secret_token configuration option.
17
-
18
- 0.9.0 - March 26th 2018
19
- * Only reset databases that are either custom or the current one (Moritz Winter).
20
- * More consistency around environment handling (rather than presuming it's always the test environment).
21
-
22
- 0.8.0 - February 1st 2018
23
- * Rails 5.2.0 support.
24
- * Requiring digest from std-lib directly.
25
- * Refactoring for cleaner code.
26
-
27
- 0.7.0 - June 20th 2017
28
- * Confirm support for MRI frozen string literals.
29
- * Hide migration output (Michael Grosser).
30
-
31
- 0.6.0 - March 28th 2017
32
- * Optionally disable database reset, schema loading, migrations (Sergey Kucher).
33
- * Allow for multiple test databases (Semyon Pupkov).
34
-
35
- 0.5.5 - July 23rd 2016
36
- * Add PostGIS support (Roland Koch).
37
- * MySQL parameter fix (Mathieu Leduc-Hamel).
38
-
39
- 0.5.4 - January 12th 2016
40
- * Remove silent_stream call for Rails 5.0 compatability (Bryan Ricker).
41
- * Fix duplicate migrations error (Semyon Pupkov).
42
-
43
- 0.5.3 - March 1st 2015
44
- * Use migrations from dependent gems (Korotaev Danil, Меркушин Михаил).
45
-
46
- 0.5.2 - July 18th 2014
47
- * Note MIT licence in gemspec (@ktdreyer).
48
- * Use local create/drop methods when resetting database (Bryan Ricker).
49
- * ERB is now supported in config/database.yml, matching Rails (@patorash).
50
- * The database now is configured before the application is loaded (@patorash).
51
- * Documentation and generated config.ru now specify explicly loading all Rails libraries by default (Pat Allan).
52
-
53
- 0.5.1 - July 25th 2013
54
- * Mass assignment errors raise exceptions instead of just being logged (Pat Allan).
55
- * whilelist_attributes is only set for Rails 3.2 apps (Philip Arndt).
56
- * Support ActiveRecord 3.0.x (Philip Arndt).
57
- * Allow custom application configuration (Pablo Herrero).
58
-
59
- 0.5.0 - May 1st 2013
60
- * whitelist_attributes is now set within configure_for_combustion, as it depends on which Railties are loaded.
61
- * Make sure Rails gems are loaded before the engine's gem (Pablo Herrero).
62
- * Fixed Rails version comparison (Josh Adam).
63
-
64
- 0.4.0 - March 16th 2013
65
- * Don't delete the SQLite test database if it doesn't exist (Michael Gee, Alexander Rozumiy).
66
- * Support for secret_key_base for Rails 4 apps (Philip Arndt).
67
- * eager_load is set to true when using the production environment (Philip Arndt).
68
- * whiny_nils is not set if using Rails 4 (Philip Arndt).
69
- * Mysql2 can raise Mysql::Error with JRuby (Philip Arndt).
70
- * Whitelist attributes typo is fixed (Geoff Hodgson).
71
- * Mass assignment checks are now turned on, so errors are raised. This matches Rails' defaults for test environments (Josh Adams).
72
- * Combustion no longer loads all of the Rails stack by default, just Railties and ActiveSupport. A combustion-rails gem will be created that uses all of Rails by default (Philip Arndt).
73
- * Combustion classes now all define the outer module, so each can be required by themselves, should you desire (Philip Arndt).
74
-
75
- 0.3.3 - December 23rd 2012
76
- * Removing version file - version number can just live in the gemspec.
77
- * Load ActionController and ActionMailer via their Railties, not non-existent Engines (Chris Beer).
78
- * SQL Schema support (Geoff Hodgson).
79
- * Documentation fixes (Philip Arndt, Inge Jørgensen, Erkan Yilmaz).
80
- * Include migrations from the internal app when migrating the database (Warren Seen).
81
- * Correctly drop the test database when using SQLite (Warren Seen).
82
- * Don't attempt to load sprockets for Rails 3.0.x (Alex Rozumey).
83
-
84
- 0.3.2 - March 3rd 2012
85
- * Tentative Rails 3.0 and migrations support.
86
- * Allow for different internal app directory.
87
-
88
- 0.3.1 - September 12th 2011
89
- * Allow for different versions of Capybara (Leo Liang).
90
- * Including Capybara::DSL instead of Capybara.
91
- * Require 3.1.0 or better.
92
- * Allow for JRuby in the database.yml template (Philip Arndt).
93
-
94
- 0.3.0 - September 2nd 2011
95
- * Simple generator to create a pretty minimal internal Rails app.
96
-
97
- 0.2.0 - August 30th 2011
98
- * Documentation.
99
- * Allow developers to choose which Rails modules they wish to be loaded.
100
- * Load Rails routes and Capybara helpers into RSpec examples when appropriate.
101
-
102
- 0.1.1 - August 24th 2011
103
- * Support assets properly by loading ActionView and Sprockets railties.
104
-
105
- 0.1.0 - August 19th 2011
106
- * First release, extracted from Dobro for HyperTiny.
data/combustion.gemspec DELETED
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "combustion"
5
- s.version = "1.1.2"
6
- s.authors = ["Pat Allan"]
7
- s.email = ["pat@freelancing-gods.com"]
8
- s.homepage = "https://github.com/pat/combustion"
9
- s.summary = "Elegant Rails Engine Testing"
10
- s.description = "Test your Rails Engines without needing a full Rails app"
11
- s.license = "MIT"
12
-
13
- s.files = `git ls-files`.split("\n")
14
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
- s.executables = `git ls-files -- exe/*`.split("\n").map do |file|
16
- File.basename(file)
17
- end
18
- s.bindir = "exe"
19
- s.require_paths = ["lib"]
20
-
21
- s.add_runtime_dependency "activesupport", ">= 3.0.0"
22
- s.add_runtime_dependency "railties", ">= 3.0.0"
23
- s.add_runtime_dependency "thor", ">= 0.14.6"
24
-
25
- s.add_development_dependency "appraisal", "~> 2.1.0"
26
- s.add_development_dependency "mysql2"
27
- s.add_development_dependency "pg"
28
- s.add_development_dependency "rails"
29
- s.add_development_dependency "rspec"
30
- s.add_development_dependency "rubocop", "~> 0.68.0"
31
- s.add_development_dependency "sqlite3"
32
- end
@@ -1 +0,0 @@
1
- *.log