engine_cart 0.6.0 → 0.7.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
  SHA1:
3
- metadata.gz: 761fe334e7ab2a2b346ae57fb6e67ac6de0f6293
4
- data.tar.gz: dccb0dfd7c3e931751848d33d1248970549c249a
3
+ metadata.gz: 813b3a634c45dead4343d6bcea735499e70e930d
4
+ data.tar.gz: a3f6f5a013a9e978c8807c2aca3578fe5d5c38a3
5
5
  SHA512:
6
- metadata.gz: eaed33db29668484b7b8a7c290670ed32e7eed04ed00f87ce264fc4db88f1e8da32c4ed07372680ca294c0d1418770f3bbb9a751187f7aafadd4133ed74bcdb5
7
- data.tar.gz: e02135843a8dc4d4cebdf66f3a5a70e8f4710082a865e39795a77ad5e4759c68f23b96f305b80f29b760f4ede46fa169a13b2f98a8610fe9d258da9d2fef1fb2
6
+ metadata.gz: c8db75de72d6e85d16e0617105d561e87c9f3615c6d2c43d4b2a6eda11948d9f20d11af40398c750c8683cb5598c1dc87d91072722bd45fea0b850403f0e0ca7
7
+ data.tar.gz: d588131b98de57585e760109c3c339c9859e11e624e52f1c070c6e3110356cee19596a5f82a5f42360867429f5eccef532a6bfa0f5195f77c88dd76a1bff6028
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Build Status](https://travis-ci.org/cbeer/engine_cart.svg?branch=master)](https://travis-ci.org/cbeer/engine_cart) [![Gem Version](https://badge.fury.io/rb/engine_cart.svg)](http://badge.fury.io/rb/engine_cart)
2
+
1
3
  # EngineCart
2
4
 
3
5
  Rake tasks to generate a test application for a Rails Engine gem.
data/Rakefile CHANGED
@@ -11,6 +11,9 @@ end
11
11
  task :generate_test_gem => ['engine_cart:setup'] do
12
12
  system("rm -rf spec/internal")
13
13
  system("rails plugin new spec/internal_gem")
14
+ IO.write("spec/internal_gem/internal_gem.gemspec", File.open("spec/internal_gem/internal_gem.gemspec") {|f| f.read.gsub(/TODO/, "DONTCARE")})
15
+ IO.write("spec/internal_gem/internal_gem.gemspec", File.open("spec/internal_gem/internal_gem.gemspec") {|f| f.read.gsub(/.*homepage.*/, "")})
16
+
14
17
  system("mv spec/internal_gem spec/internal")
15
18
  Rake::Task['engine_cart:inject_gemfile_extras'].invoke
16
19
  EngineCart.within_test_app do
@@ -40,10 +40,17 @@ namespace :engine_cart do
40
40
  raise "Error generating new rails app. Aborting."
41
41
  end
42
42
  end
43
-
44
- Rake::Task['engine_cart:clean'].invoke if File.exists? EngineCart.destination
43
+
44
+ Rake::Task['engine_cart:clean'].invoke if File.exist? EngineCart.destination
45
45
  FileUtils.move "#{dir}/internal", "#{EngineCart.destination}"
46
46
 
47
+ # Hack for https://github.com/rails/web-console/issues/150
48
+ IO.write("spec/internal/Gemfile", File.open("spec/internal/Gemfile") do |f|
49
+ f.read.gsub(/.*web-console.*/, "").gsub(/.*IRB console on exception pages.*/, "")
50
+ end)
51
+ File.open("spec/internal/Gemfile", "a") do |f|
52
+ f.puts 'gem "web-console", group: :development'
53
+ end
47
54
  end
48
55
  end
49
56
 
@@ -53,7 +60,7 @@ namespace :engine_cart do
53
60
  gemfile_extras_path = File.expand_path("Gemfile.extra", EngineCart.templates_path)
54
61
 
55
62
  f.write <<-EOF
56
- #{File.read(gemfile_extras_path) if File.exists?(gemfile_extras_path)}
63
+ #{File.read(gemfile_extras_path) if File.exist?(gemfile_extras_path)}
57
64
  gem '#{EngineCart.current_engine_name}', :path => '#{File.expand_path('.')}'
58
65
  EOF
59
66
  end
@@ -65,7 +72,7 @@ EOF
65
72
  args.with_defaults(:fingerprint => EngineCart.fingerprint) unless original_fingerprint
66
73
 
67
74
  f = File.expand_path('.generated_engine_cart', EngineCart.destination)
68
- unless File.exists? f and File.read(f) == args[:fingerprint]
75
+ unless File.exist?(f) && File.read(f) == args[:fingerprint]
69
76
 
70
77
  # Create a new test rails app
71
78
  Rake::Task['engine_cart:create_test_rails_app'].invoke
@@ -75,7 +82,7 @@ EOF
75
82
  Rake::Task['engine_cart:inject_gemfile_extras'].invoke
76
83
 
77
84
  # Copy our test app generators into the app and prepare it
78
- if File.exists? "#{EngineCart.templates_path}/lib/generators"
85
+ if File.exist? "#{EngineCart.templates_path}/lib/generators"
79
86
  system "cp -r #{EngineCart.templates_path}/lib/generators #{EngineCart.destination}/lib"
80
87
  end
81
88
 
@@ -1,3 +1,3 @@
1
1
  module EngineCart
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails/generators'
2
2
 
3
3
  ##
4
- # EngineCartGenerator sets up an engine to
4
+ # EngineCartGenerator sets up an engine to
5
5
  # use engine_cart-generated test apps
6
6
  module EngineCart
7
7
  class InstallGenerator < Rails::Generators::Base
@@ -35,28 +35,30 @@ module EngineCart
35
35
  git_root = (`git rev-parse --show-toplevel` rescue '.').strip
36
36
 
37
37
  # If we don't have a .gitignore file already, don't worry about it
38
- return unless File.exists? File.expand_path('.gitignore', git_root)
38
+ return unless File.exist? File.expand_path('.gitignore', git_root)
39
39
 
40
40
  # If the directory is already ignored (somehow) don't worry about it
41
41
  return if (system('git', 'check-ignore', TEST_APP, '-q') rescue false)
42
42
 
43
- append_file File.expand_path('.gitignore', git_root) do
43
+ append_file File.expand_path('.gitignore', git_root) do
44
44
  "\n#{EngineCart.destination}\n"
45
- end
45
+ end
46
46
  end
47
47
 
48
48
  def add_gemfile_include
49
49
  append_file "Gemfile" do
50
50
  <<-EOF
51
51
 
52
+ # the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app
52
53
  file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__))
53
- if File.exists?(file)
54
+ if File.exist?(file)
54
55
  puts "Loading \#{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
55
56
  instance_eval File.read(file)
56
57
  else
58
+ # we get here when we haven't yet generated the testing app via engine_cart
57
59
  gem 'rails', ENV['RAILS_VERSION'] if ENV['RAILS_VERSION']
58
60
 
59
- if ENV['RAILS_VERSION'] and ENV['RAILS_VERSION'] =~ /^4.2/
61
+ if ENV['RAILS_VERSION'] && ENV['RAILS_VERSION'] =~ /^4.2/
60
62
  gem 'responders', "~> 2.0"
61
63
  gem 'sass-rails', ">= 5.0"
62
64
  else
@@ -28,27 +28,27 @@ describe "EngineCart powered application" do
28
28
  it "should create a rails app when the engine_cart:generate task is invoked" do
29
29
  EngineCart.within_test_app do
30
30
  `rake engine_cart:generate`
31
- expect(File).to exist(File.expand_path("spec/internal"))
31
+ expect(File).to exist(File.expand_path(EngineCart.destination))
32
32
  end
33
33
  end
34
34
 
35
35
  it "should not recreate an existing rails app when the engine_cart:generate task is reinvoked" do
36
36
  EngineCart.within_test_app do
37
37
  `rake engine_cart:generate`
38
- expect(File).to exist(File.expand_path("spec/internal"))
39
- FileUtils.touch "spec/internal/.this_should_still_exist"
38
+ expect(File).to exist(File.expand_path(EngineCart.destination))
39
+ FileUtils.touch File.join(EngineCart.destination, ".this_should_still_exist")
40
40
  `rake engine_cart:generate`
41
- expect(File).to exist(File.expand_path("spec/internal/.this_should_still_exist"))
41
+ expect(File).to exist(File.expand_path(File.join(EngineCart.destination, ".this_should_still_exist")))
42
42
  end
43
43
  end
44
44
 
45
45
  it "should create a rails app when the fingerprint argument is changed" do
46
46
  EngineCart.within_test_app do
47
47
  `rake engine_cart:generate[this-fingerprint]`
48
- expect(File).to exist(File.expand_path("spec/internal"))
49
- FileUtils.touch "spec/internal/.this_should_not_exist"
48
+ expect(File).to exist(File.expand_path(EngineCart.destination))
49
+ FileUtils.touch File.join(EngineCart.destination, ".this_should_not_exist")
50
50
  `rake engine_cart:generate[that-fingerprint]`
51
- expect(File).to_not exist(File.expand_path("spec/internal/.this_should_not_exist"))
51
+ expect(File).to_not exist(File.expand_path(File.join(EngineCart.destination, ".this_should_not_exist")))
52
52
  end
53
53
  end
54
54
 
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: 0.6.0
4
+ version: 0.7.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: 2015-02-23 00:00:00.000000000 Z
11
+ date: 2015-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails