engine_cart 2.2.1 → 2.3.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 +4 -4
- data/.travis.yml +1 -1
- data/Rakefile +11 -5
- data/lib/engine_cart.rb +33 -3
- data/lib/engine_cart/tasks/engine_cart.rake +21 -1
- data/lib/engine_cart/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7b6269a9d1786f65843adae04c06259b1fa7a7e9cc90ff09f080e8e41e4679e
|
4
|
+
data.tar.gz: 88aeef4a96249d2bd2e9fcda5e082e35ef4a04e5515b7b534929257638285a34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2113472ebefab8c0903fcaef60a2a8963a08d3e5cf1385757e7b317fac368d6f3aa81b5f07928a141a0de336cea6b73323293da9e9fc6a580bd08e974a8e995
|
7
|
+
data.tar.gz: ae28d1340af3fcbb475c0d29863725b2ff1fe8135b34693fdc7673f196d5a33e54deef10858356d0627db44dba01d4cf8fd9d97755719eb2fef47a892e38e577
|
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
@@ -10,14 +10,20 @@ end
|
|
10
10
|
|
11
11
|
task :generate_test_gem => ['engine_cart:setup'] do
|
12
12
|
system("rm -rf .internal_test_gem")
|
13
|
-
gem 'rails'
|
13
|
+
gem 'rails', '5.2.3'
|
14
14
|
|
15
15
|
rails_path = Gem.bin_path('railties', 'rails')
|
16
|
+
puts rails_path
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
require "rails/generators"
|
19
|
+
require "rails/generators/rails/plugin/plugin_generator"
|
20
|
+
|
21
|
+
pwd = Dir.pwd
|
22
|
+
Rails::Generators::PluginGenerator.start ['internal_test_gem']
|
23
|
+
|
24
|
+
Dir.chdir(pwd)
|
25
|
+
|
26
|
+
system("mv #{Dir.pwd}/internal_test_gem #{Dir.pwd}/.internal_test_gem")
|
21
27
|
|
22
28
|
IO.write(".internal_test_gem/internal_test_gem.gemspec", File.open(".internal_test_gem/internal_test_gem.gemspec") {|f| f.read.gsub(/FIXME/, "DONTCARE")})
|
23
29
|
IO.write(".internal_test_gem/internal_test_gem.gemspec", File.open(".internal_test_gem/internal_test_gem.gemspec") {|f| f.read.gsub(/TODO/, "DONTCARE")})
|
data/lib/engine_cart.rb
CHANGED
@@ -25,10 +25,32 @@ module EngineCart
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.fingerprint_current?
|
28
|
-
|
28
|
+
|
29
|
+
unless File.exist? stored_fingerprint_file
|
30
|
+
STDERR.puts "No finger print file found: #{stored_fingerprint_file}" if debug?
|
31
|
+
return false
|
32
|
+
end
|
29
33
|
content = File.read(stored_fingerprint_file)
|
30
34
|
data = JSON.parse(content, symbolize_names: true)
|
31
|
-
|
35
|
+
calculated = fingerprint
|
36
|
+
|
37
|
+
return true if data == calculated
|
38
|
+
if debug?
|
39
|
+
STDERR.puts "Fingerprint mismatch:\n\n"
|
40
|
+
|
41
|
+
data.keys.each do |key|
|
42
|
+
case data[key]
|
43
|
+
when Array
|
44
|
+
data[key].zip(calculated[key]).each do |(stored, calc)|
|
45
|
+
STDERR.puts("#{key}:\nstored: #{stored}\ncalculate: #{calc}") if stored != calc
|
46
|
+
end
|
47
|
+
else
|
48
|
+
STDERR.puts("#{key}:\nstored: #{data[key]}\ncalculate: #{calculated[key]}") if data[key] != calculated[key]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
false
|
32
54
|
rescue
|
33
55
|
false
|
34
56
|
end
|
@@ -69,7 +91,7 @@ module EngineCart
|
|
69
91
|
end
|
70
92
|
|
71
93
|
def self.env_fingerprint
|
72
|
-
{
|
94
|
+
{ RUBY_DESCRIPTION: RUBY_DESCRIPTION, BUNDLE_GEMFILE: Bundler.default_gemfile.to_s }.reject { |k, v| v.nil? || v.empty? }
|
73
95
|
end
|
74
96
|
|
75
97
|
def self.configuration(options = {})
|
@@ -92,4 +114,12 @@ module EngineCart
|
|
92
114
|
Bundler.ui.warn EngineCart.gemfile_stanza_text
|
93
115
|
end
|
94
116
|
end
|
117
|
+
|
118
|
+
def self.debug=(debug)
|
119
|
+
@debug = debug
|
120
|
+
end
|
121
|
+
|
122
|
+
def self.debug?
|
123
|
+
@debug
|
124
|
+
end
|
95
125
|
end
|
@@ -36,7 +36,18 @@ namespace :engine_cart do
|
|
36
36
|
|
37
37
|
# Using the Rails generator directly, instead of shelling out, to
|
38
38
|
# ensure we use the right version of Rails.
|
39
|
-
Rails::Generators::AppGenerator.start([
|
39
|
+
Rails::Generators::AppGenerator.start([
|
40
|
+
'internal',
|
41
|
+
'--skip-git',
|
42
|
+
'--skip-keeps',
|
43
|
+
'--skip_spring',
|
44
|
+
'--skip-bootsnap',
|
45
|
+
'--skip-listen',
|
46
|
+
'--skip-bundle',
|
47
|
+
'--skip-test',
|
48
|
+
*EngineCart.rails_options,
|
49
|
+
("-m #{EngineCart.template}" if EngineCart.template)
|
50
|
+
].compact)
|
40
51
|
end
|
41
52
|
exit 0
|
42
53
|
end
|
@@ -85,6 +96,15 @@ namespace :engine_cart do
|
|
85
96
|
end
|
86
97
|
end
|
87
98
|
|
99
|
+
desc 'find out if the generated app needs to be rebuilt'
|
100
|
+
task :test => [:setup] do
|
101
|
+
EngineCart.debug = true
|
102
|
+
if EngineCart.fingerprint_expired?
|
103
|
+
puts "Expired!"
|
104
|
+
exit 1
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
88
108
|
desc "Create the test rails app"
|
89
109
|
task :generate => [:setup] do
|
90
110
|
if EngineCart.fingerprint_expired?
|
data/lib/engine_cart/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engine_cart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|