dummy_gen-rails 0.0.1 → 0.0.5
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.
- data/Rakefile +6 -0
- data/dummy_gen.gemspec +3 -0
- data/lib/dummy_gen/generators/dummy_generator.rb +23 -7
- data/lib/dummy_gen/version.rb +1 -1
- data/lib/generators/dummy_gen/dummy_app_task/dummy_app_task_generator.rb +37 -0
- data/lib/generators/dummy_gen/dummy_app_task/templates/dummy_app.rake +25 -0
- data/spec/lib/dummy_gen/generators/dummy_generator_spec.rb +59 -0
- data/spec/spec_helper.rb +11 -0
- metadata +57 -3
data/Rakefile
CHANGED
data/dummy_gen.gemspec
CHANGED
@@ -18,5 +18,8 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
20
|
gem.add_dependency "rails", "~> 3.2"
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.11.0'
|
22
|
+
gem.add_development_dependency 'rspec-rails', '~> 2.11.0'
|
23
|
+
gem.add_development_dependency 'ammeter', '~> 0.2.8'
|
21
24
|
end
|
22
25
|
|
@@ -5,7 +5,17 @@ require "active_support/core_ext/hash/slice"
|
|
5
5
|
module DummyGen
|
6
6
|
module Generators
|
7
7
|
class DummyGenerator < Rails::Generators::Base
|
8
|
-
argument :engine_name, :
|
8
|
+
argument :engine_name, type: :string
|
9
|
+
|
10
|
+
class_option :dummy_path,
|
11
|
+
type: :string,
|
12
|
+
default: "spec/dummy",
|
13
|
+
desc: "Where to generate the dummy application"
|
14
|
+
|
15
|
+
class_option :dummy_module,
|
16
|
+
type: :string,
|
17
|
+
default: "Dummy",
|
18
|
+
desc: "Dummy application module"
|
9
19
|
|
10
20
|
def self.source_paths
|
11
21
|
paths = self.superclass.source_paths
|
@@ -22,9 +32,7 @@ module DummyGen
|
|
22
32
|
opts = (options || {}).slice(*PASSTHROUGH_OPTIONS)
|
23
33
|
opts[:force] = true
|
24
34
|
opts[:skip_bundle] = true
|
25
|
-
|
26
|
-
invoke Rails::Generators::AppGenerator,
|
27
|
-
[ File.expand_path(dummy_path, destination_root) ], opts
|
35
|
+
invoke_app_generator(opts)
|
28
36
|
end
|
29
37
|
|
30
38
|
def test_dummy_clean
|
@@ -61,15 +69,15 @@ module DummyGen
|
|
61
69
|
end
|
62
70
|
|
63
71
|
def dummy_path
|
64
|
-
|
72
|
+
options[:dummy_path]
|
65
73
|
end
|
66
74
|
|
67
75
|
def dummy_module_name
|
68
|
-
|
76
|
+
options[:dummy_module]
|
69
77
|
end
|
70
78
|
|
71
79
|
def dummy_app_requires
|
72
|
-
[ "
|
80
|
+
[ "jquery-rails", "#{engine_name}", "#{engine_name}/engine" ]
|
73
81
|
end
|
74
82
|
|
75
83
|
def dummy_application_definition
|
@@ -85,6 +93,14 @@ module DummyGen
|
|
85
93
|
def gemfile_path
|
86
94
|
"../../../../Gemfile"
|
87
95
|
end
|
96
|
+
|
97
|
+
private
|
98
|
+
def invoke_app_generator(opts)
|
99
|
+
cwd = FileUtils.pwd
|
100
|
+
invoke Rails::Generators::AppGenerator,
|
101
|
+
[ File.expand_path(dummy_path, destination_root) ], opts
|
102
|
+
FileUtils.cd(cwd)
|
103
|
+
end
|
88
104
|
end
|
89
105
|
end
|
90
106
|
end
|
data/lib/dummy_gen/version.rb
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module DummyGen
|
4
|
+
class DummyAppTaskGenerator < Rails::Generators::NamedBase
|
5
|
+
argument :engine_name, :type => :string
|
6
|
+
class_option :lib_root,
|
7
|
+
type: :string,
|
8
|
+
default: "lib",
|
9
|
+
desc: "lib root directory"
|
10
|
+
|
11
|
+
class_option :dummy_path,
|
12
|
+
type: :string,
|
13
|
+
default: "spec/dummy",
|
14
|
+
desc: "Dummy application path"
|
15
|
+
|
16
|
+
def self.source_paths
|
17
|
+
paths = self.superclass.source_paths
|
18
|
+
paths << File.expand_path("../templates", __FILE__)
|
19
|
+
paths.flatten
|
20
|
+
end
|
21
|
+
|
22
|
+
def generate_task
|
23
|
+
puts application_name
|
24
|
+
template "dummy_app.rake", "#{lib_root}/tasks/#{file_name}.rake"
|
25
|
+
end
|
26
|
+
|
27
|
+
protected
|
28
|
+
def lib_root
|
29
|
+
options[:lib_root]
|
30
|
+
end
|
31
|
+
|
32
|
+
def dummy_path
|
33
|
+
options[:dummy_path]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'dummy_gen'
|
2
|
+
|
3
|
+
namespace :<%= file_name %> do
|
4
|
+
desc "Generate a dummy application"
|
5
|
+
task :generate => [:setup, :migrate]
|
6
|
+
|
7
|
+
task :setup do
|
8
|
+
DummyGen::Generators::DummyGenerator.start(
|
9
|
+
[
|
10
|
+
"<%= engine_name %>",
|
11
|
+
"--quiet",
|
12
|
+
"--dummy_path=<%= dummy_path %>",
|
13
|
+
])
|
14
|
+
end
|
15
|
+
|
16
|
+
task :migrate do
|
17
|
+
# Add migration operations here
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Destroy the dummy application"
|
21
|
+
task :destroy do
|
22
|
+
FileUtils.rm_rf "<%= dummy_path %>" if File.exists?("<%= dummy_path %>")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
require "dummy_gen/generators/dummy_generator"
|
4
|
+
|
5
|
+
describe DummyGen::Generators::DummyGenerator, type: :generator do
|
6
|
+
destination DummyGenSpec.tmp_path
|
7
|
+
|
8
|
+
before { prepare_destination }
|
9
|
+
|
10
|
+
describe 'with an engine name' do
|
11
|
+
let (:generator_args) { ['engine_name'] }
|
12
|
+
|
13
|
+
describe 'the generated files' do
|
14
|
+
before { run_generator generator_args }
|
15
|
+
|
16
|
+
describe 'in spec/dummy' do
|
17
|
+
describe 'Rakefile' do
|
18
|
+
subject { file('spec/dummy/Rakefile') }
|
19
|
+
|
20
|
+
it { should exist }
|
21
|
+
it { should contain /Dummy::Application.load_tasks/ }
|
22
|
+
end
|
23
|
+
|
24
|
+
shared_examples_for 'an empty app dir' do |file_path|
|
25
|
+
it 'should be a directory' do
|
26
|
+
File.directory?(file_path)
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'entries' do
|
30
|
+
subject { Dir.new(file(file_path)).entries }
|
31
|
+
its(:size) { should == 3 }
|
32
|
+
it { should eq(['.', '..', '.gitkeep']) }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'app/assets' do
|
37
|
+
it_should_behave_like 'an empty app dir', 'spec/dummy/app/assets'
|
38
|
+
end
|
39
|
+
|
40
|
+
describe 'app/controllers' do
|
41
|
+
it_should_behave_like 'an empty app dir', 'spec/dummy/app/controllers'
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'app/helpers' do
|
45
|
+
it_should_behave_like 'an empty app dir', 'spec/dummy/app/helpers'
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'app/models' do
|
49
|
+
it_should_behave_like 'an empty app dir', 'spec/dummy/app/models'
|
50
|
+
end
|
51
|
+
|
52
|
+
describe 'app/views' do
|
53
|
+
it_should_behave_like 'an empty app dir', 'spec/dummy/app/views'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dummy_gen-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -27,6 +27,54 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.2'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.11.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.11.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec-rails
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.11.0
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.11.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: ammeter
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.2.8
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.2.8
|
30
78
|
description: Generator for creating a dummy application for use in Rails 3 engine
|
31
79
|
development.
|
32
80
|
email:
|
@@ -55,6 +103,10 @@ files:
|
|
55
103
|
- lib/dummy_gen/generators/dummy_templates/config/initializers/engine_initializer.rb
|
56
104
|
- lib/dummy_gen/generators/dummy_templates/config/routes.rb
|
57
105
|
- lib/dummy_gen/version.rb
|
106
|
+
- lib/generators/dummy_gen/dummy_app_task/dummy_app_task_generator.rb
|
107
|
+
- lib/generators/dummy_gen/dummy_app_task/templates/dummy_app.rake
|
108
|
+
- spec/lib/dummy_gen/generators/dummy_generator_spec.rb
|
109
|
+
- spec/spec_helper.rb
|
58
110
|
homepage: https://github.com/skroll/dummy_gen-rails
|
59
111
|
licenses: []
|
60
112
|
post_install_message:
|
@@ -79,4 +131,6 @@ rubygems_version: 1.8.23
|
|
79
131
|
signing_key:
|
80
132
|
specification_version: 3
|
81
133
|
summary: Generator for creating a dummy application for use in Rails 3 engine development.
|
82
|
-
test_files:
|
134
|
+
test_files:
|
135
|
+
- spec/lib/dummy_gen/generators/dummy_generator_spec.rb
|
136
|
+
- spec/spec_helper.rb
|