ride 0.4.2 → 0.4.3
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/Manifest.txt +3 -1
- data/app_generators/ride/ride_generator.rb +28 -8
- data/app_generators/ride/templates/config/code_template_ramaze.erb +14 -0
- data/app_generators/ride/templates/config/code_template_ruby.erb +14 -0
- data/app_generators/ride/templates/script/ride +88 -88
- data/config/requirements.rb +1 -1
- data/lib/ride/version.rb +1 -1
- data/spec/ride_generator_spec.rb +79 -6
- metadata +6 -4
- /data/app_generators/ride/templates/config/{code_template.erb → code_template_rails.erb} +0 -0
data/Manifest.txt
CHANGED
@@ -15,7 +15,9 @@ app_generators/ride/templates/RIDE_License.txt
|
|
15
15
|
app_generators/ride/templates/RIDE_README.txt
|
16
16
|
app_generators/ride/templates/.irbrc
|
17
17
|
app_generators/ride/templates/config/.screenrc.code.erb
|
18
|
-
app_generators/ride/templates/config/
|
18
|
+
app_generators/ride/templates/config/code_template_ruby.erb
|
19
|
+
app_generators/ride/templates/config/code_template_rails.erb
|
20
|
+
app_generators/ride/templates/config/code_template_ramaze.erb
|
19
21
|
app_generators/ride/templates/script/console
|
20
22
|
app_generators/ride/templates/script/ride
|
21
23
|
app_generators/ride/templates/tasks/ride.rake
|
@@ -3,19 +3,36 @@ class RideGenerator < RubiGen::Base
|
|
3
3
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
4
4
|
Config::CONFIG['ruby_install_name'])
|
5
5
|
|
6
|
-
|
6
|
+
# These get passed into options
|
7
|
+
default_options :author => nil, :language => "ruby", :shell => 'bash', :template_type => 'ramaze', :editor => 'vim', :console_debugger => 'script/ride-console'
|
7
8
|
|
8
|
-
attr_reader :name, :main_lib, :shell, :editor, :
|
9
|
+
attr_reader :name, :main_lib, :shell, :editor, :template_type, :language, :screen_name, :console_debugger
|
9
10
|
|
10
11
|
def initialize(runtime_args, runtime_options = {})
|
11
12
|
super
|
12
13
|
usage if args.empty?
|
13
|
-
|
14
|
+
puts 'Args left: ' + args.inspect
|
15
|
+
@destination_root = File.expand_path(args.last)
|
14
16
|
@name = base_name
|
15
17
|
extract_options
|
16
18
|
if @language == 'ruby'
|
17
19
|
@main_lib ||= File.basename(@destination_root)
|
18
20
|
end
|
21
|
+
ramaze_defaults = { :helper_base => "/lib/", :controller_base => "/controller/", :view_base => "/view/", :model_base => "/model/", :test_base => "/spec/" }
|
22
|
+
rails_defaults = { :helper_base => "/app/helpers/", :controller_base => "/app/controllers/", :view_base => "/app/views/", :model_base => "/app/models/", :test_base => "/test/" }
|
23
|
+
ruby_defaults = { :controller_base => nil, :view_base => nil, :model_base => nil, :test_base => "/spec/" }
|
24
|
+
puts "Options: " + options.inspect
|
25
|
+
puts 'template: ' + @template_type.to_s
|
26
|
+
defaults = case @template_type
|
27
|
+
when "ramaze"
|
28
|
+
ramaze_defaults
|
29
|
+
when "rails"
|
30
|
+
rails_defaults
|
31
|
+
else
|
32
|
+
@template_type = "ruby"
|
33
|
+
ruby_defaults
|
34
|
+
end
|
35
|
+
defaults.each_pair { |k,v| options[k] = v }
|
19
36
|
@screen_name ||= @name
|
20
37
|
end
|
21
38
|
|
@@ -25,20 +42,23 @@ class RideGenerator < RubiGen::Base
|
|
25
42
|
m.directory ''
|
26
43
|
BASEDIRS.each { |path| m.directory path }
|
27
44
|
|
45
|
+
# create the test directory
|
46
|
+
m.directory options[:test_base].sub(%r|^/|,"").sub(%r|/$|,"")
|
47
|
+
|
28
48
|
# Create stubs
|
29
49
|
# m.template "template.rb", "some_file_after_erb.rb"
|
30
50
|
# m.template_copy_each ["template.rb", "template2.rb"]
|
31
51
|
# m.file "file", "some_file_copied"
|
32
52
|
# m.file_copy_each ["path/to/file", "path/to/file2"]
|
33
53
|
|
34
|
-
m.dependency "install_rubigen_scripts", [destination_root, 'ride'],
|
35
|
-
|
54
|
+
#m.dependency "install_rubigen_scripts", [destination_root, 'ride'],
|
55
|
+
# :shebang => options[:shebang], :collision => :force
|
36
56
|
m.file_copy_each %w{RIDE_History.txt RIDE_License.txt RIDE_README.txt .irbrc}
|
37
57
|
m.file_copy_each [%w{ftplugin ruby ruby.vim}, %w{plugin taglist.vim}, %w{syntax eruby.vim}, %w{ftdetect ruby.vim}].map { |vimfile| File.join(".vim", *vimfile) }
|
38
58
|
script_options = { :chmod => 0755, :shebang => options[:shebang] == RideGenerator::DEFAULT_SHEBANG ? nil : options[:shebang] }
|
39
59
|
m.file_copy_each %w{tasks/rspec.rake tasks/ride.rake}
|
40
60
|
m.template "config/.screenrc.code.erb", "config/.screenrc.code.erb"
|
41
|
-
m.template "config/
|
61
|
+
m.template "config/code_template_#{@template_type}.erb", "config/code_template.erb"
|
42
62
|
m.template "script/ride", "script/ride", script_options
|
43
63
|
m.file "script/console", "script/ride-console", script_options
|
44
64
|
end
|
@@ -62,7 +82,7 @@ EOS
|
|
62
82
|
# "Some comment about this option",
|
63
83
|
# "Default: none") { |options[:author]| }
|
64
84
|
opts.on("-l", "--language", String, "Language to develop in" "Default: ruby") { |options[:language]| }
|
65
|
-
opts.on("-t", "--template", String, "Project template" "Default: rails") { |options[:
|
85
|
+
opts.on("-t", "--template", String, "Project template" "Default: ramaze (ramaze, rails, newgem are supported)") { |options[:template_type]| }
|
66
86
|
opts.on("-e", "--editor", String, "Editor to use" "Default: vim") { |options[:editor]| }
|
67
87
|
opts.on("-s", "--shell", String, "Shell to use" "Default: bash") { |options[:shell]| }
|
68
88
|
opts.on("-n", "--name", String, "What to name the screen session" "Default: #{@name}") { |options[:screen_name]| }
|
@@ -75,6 +95,7 @@ EOS
|
|
75
95
|
# Templates can access these value via the attr_reader-generated methods, but not the
|
76
96
|
# raw instance variable value.
|
77
97
|
# @author = options[:author]
|
98
|
+
@template_type = options[:template_type]
|
78
99
|
@language = options[:language]
|
79
100
|
@main_dir = options[:main_dir]
|
80
101
|
@shell = options[:shell]
|
@@ -89,7 +110,6 @@ EOS
|
|
89
110
|
log
|
90
111
|
script
|
91
112
|
config
|
92
|
-
test
|
93
113
|
tasks
|
94
114
|
tmp
|
95
115
|
.vim
|
@@ -0,0 +1,14 @@
|
|
1
|
+
screen -t logs bash -c 'umask 002;while true;do cd <%%= $home %>/log; <%%= OPTIONS[:shell] %>;sleep 1;done'
|
2
|
+
screen -t debug bash -c 'umask 002;while true;do RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:debugger] %>;sleep 1;done'
|
3
|
+
screen -t ide bash -c 'umask 002;while true;do vim -c "cd <%%= $home %>" -c "e .";sleep 1;done'
|
4
|
+
<%% if not OPTIONS[:reports_base].nil? %>
|
5
|
+
screen -t reports bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:reports_base] %>" -c "e .";sleep 1;done'
|
6
|
+
<%% end %>
|
7
|
+
screen -t controllers bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:controllers_base] %>" -c "e .";sleep 1;done'
|
8
|
+
screen -t views bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:views_base] %>" -c "e .";sleep 1;done'
|
9
|
+
screen -t lib bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:helpers_base] %>" -c "e .";sleep 1;done'
|
10
|
+
screen -t models bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:models_base] %>" -c "e .";sleep 1;done'
|
11
|
+
screen -t svkwork bash -c 'umask 002;while true; do SVKROOT=<%%= ENV['SVKROOT'] || (ENV['REAL_HOME'] + "/.svk") %> RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 1;done'
|
12
|
+
screen -t script bash -c 'umask 002;while true;do RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 2;done'
|
13
|
+
screen -t tests bash -c 'umask 002;while true;do cd <%%= OPTIONS[:test_base] %>;RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 1;done'
|
14
|
+
select 1
|
@@ -0,0 +1,14 @@
|
|
1
|
+
screen -t logs bash -c 'umask 002;while true;do cd <%%= $home %>/log; <%%= OPTIONS[:shell] %>;sleep 1;done'
|
2
|
+
screen -t debug bash -c 'umask 002;while true;do RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:debugger] %>;sleep 1;done'
|
3
|
+
screen -t ide bash -c 'umask 002;while true;do vim -c "cd <%%= $home %>" -c "e .";sleep 1;done'
|
4
|
+
<%% if not OPTIONS[:reports_base].nil? %>
|
5
|
+
screen -t reports bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:reports_base] %>" -c "e .";sleep 1;done'
|
6
|
+
<%% end %>
|
7
|
+
screen -t controllers bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:controllers_base] %>" -c "e .";sleep 1;done'
|
8
|
+
screen -t views bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:views_base] %>" -c "e .";sleep 1;done'
|
9
|
+
screen -t helpers bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:helpers_base] %>" -c "e .";sleep 1;done'
|
10
|
+
screen -t models bash -c 'umask 002;while true;do vim -c "cd <%%= OPTIONS[:models_base] %>" -c "e .";sleep 1;done'
|
11
|
+
screen -t svkwork bash -c 'umask 002;while true; do SVKROOT=<%%= ENV['SVKROOT'] || (ENV['REAL_HOME'] + "/.svk") %> RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 1;done'
|
12
|
+
screen -t script bash -c 'umask 002;while true;do RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 2;done'
|
13
|
+
screen -t tests bash -c 'umask 002;while true;do cd <%%= OPTIONS[:test_base] %>;RAILS_ENV=<%%= OPTIONS[:environment] %> <%%= OPTIONS[:shell] %>;sleep 1;done'
|
14
|
+
select 1
|
@@ -6,22 +6,22 @@ $home = ENV['PWD']
|
|
6
6
|
ENV['HOME'] = $home
|
7
7
|
ENV['REAL_HOME'] = $old_home
|
8
8
|
OPTIONS = {
|
9
|
-
:directory
|
10
|
-
:environment
|
11
|
-
:public
|
12
|
-
:controllers_base => $home + "
|
13
|
-
:views_base
|
14
|
-
:models_base
|
15
|
-
:reports_base
|
16
|
-
:helpers_base
|
17
|
-
:apis_base
|
18
|
-
:test_base
|
19
|
-
:debugger
|
9
|
+
:directory => $home,
|
10
|
+
:environment => "development",
|
11
|
+
:public => $home + "/public/",
|
12
|
+
:controllers_base => $home + "<%= options[:controller_base] -%>",
|
13
|
+
:views_base => $home + "<%= options[:view_base] -%>",
|
14
|
+
:models_base => $home + "<%= options[:model_base] -%>",
|
15
|
+
:reports_base => $home + "/vendor/reports/",
|
16
|
+
:helpers_base => $home + "<%= options[:helper_base] -%>",
|
17
|
+
:apis_base => $home + "/app/api/",
|
18
|
+
:test_base => $home + "<%= options[:test_base] -%>",
|
19
|
+
:debugger => "<%= console_debugger %>"
|
20
20
|
}
|
21
21
|
_orig = OPTIONS.dup
|
22
22
|
def screen_color(color)
|
23
|
-
|
24
|
-
|
23
|
+
return color[0,1].capitalize unless color == 'black'
|
24
|
+
'K'
|
25
25
|
end
|
26
26
|
|
27
27
|
# Parse options
|
@@ -31,40 +31,40 @@ ARGV.options do |opts|
|
|
31
31
|
|
32
32
|
opts.separator ""
|
33
33
|
OPTIONS.each do |key,opt|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
s = key.to_s
|
35
|
+
f = "-" + s[0,1]
|
36
|
+
o = "--" + s[/[a-z]+/] + "=" + ( s == "environment" ? "environment" : "directory" )
|
37
|
+
d = "Rails " + s.gsub("_"," ").split.map { |a| a.capitalize }.join(" ")
|
38
|
+
opts.on(f,o,String,d,"Default: #{opt}") { |OPTIONS[key]| }
|
39
39
|
end
|
40
40
|
|
41
41
|
opts.separator ""
|
42
42
|
|
43
43
|
opts.on("-S shell", "--shell=SHELL",String,
|
44
|
-
|
44
|
+
"Shell to use for command line","Default: bash") { |OPTIONS[:shell]| }
|
45
45
|
opts.on("-M", "--multiuser","Allow other users to access this screen?","Default: no") { |OPTIONS[:multiuser]| }
|
46
46
|
opts.on("-U USERNAMES", "--usernames=USERNAMES",String,
|
47
|
-
|
47
|
+
"Add comma-separated list of trusted users to be able to access this screen","Default: none") { |users| OPTIONS[:usernames] = users.split(',') }
|
48
48
|
opts.on("-C component", "--component_base=component",String,
|
49
49
|
"Use dirs for this component","Default: ''") { |OPTIONS[:component_base]| }
|
50
50
|
opts.separator ""
|
51
51
|
opts.on("-Fforeground_color", "--fgcolor=COLOR",String,
|
52
|
-
|
52
|
+
"Foreground Color of Status Line Text","Default: red") { |color| OPTIONS[:foreground_color] = screen_color(color) }
|
53
53
|
opts.on("-Hhighlight_color", "--hilight=COLOR",String,
|
54
|
-
|
54
|
+
"Foreground Color of Active Window Text","Default: green") { |color| OPTIONS[:highlight_color] = screen_color(color) }
|
55
55
|
opts.on("-Bbackground_color", "--bgcolor=COLOR",String,
|
56
|
-
|
56
|
+
"Background Color of Status Line","Default: transparent (default)") { |color| OPTIONS[:background_color] = screen_color(color) }
|
57
57
|
opts.on("-Xcaption_bgcolor", "--caption_bgcolor=COLOR",String,
|
58
|
-
|
58
|
+
"Background Color of Caption Line (when screen is split)","Default: transparent (default)") { |color| OPTIONS[:caption_background_color] = screen_color(color) }
|
59
59
|
opts.on("-Ycaption_foreground_color", "--caption_fgcolor=COLOR",String,
|
60
|
-
|
60
|
+
"Foreground Color of Caption Line Text","Default: cyan") { |color| OPTIONS[:caption_foreground_color] = screen_color(color) }
|
61
61
|
opts.on("-Zcaption_highlight_color", "--caption_hilight=COLOR",String,
|
62
|
-
|
62
|
+
"Foreground Color of Caption line Active Window Text","Default: red") { |color| OPTIONS[:caption_highlight_color] = screen_color(color) }
|
63
63
|
opts.separator "Available colors are black, red, green, yellow, blue, magenta, cyan, white, and default (transparent)"
|
64
64
|
opts.on("-Nname", "--name=NAME",String,
|
65
|
-
|
65
|
+
"Name to use for screen session","Default: Rails") { |OPTIONS[:screen_name]| }
|
66
66
|
opts.on("-Echar", "--escape=CHARACTER",String,
|
67
|
-
|
67
|
+
"Escape Key to use for screen session","Default: C-a") { |OPTIONS[:screen_escape]| }
|
68
68
|
opts.on("-?", "--help",
|
69
69
|
"Show this help message.") { puts opts; exit }
|
70
70
|
opts.parse!
|
@@ -83,67 +83,67 @@ OPTIONS[:screen_escape] ||= "^Aa"
|
|
83
83
|
|
84
84
|
begin
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
#
|
120
|
-
#
|
121
|
-
#
|
122
|
-
#
|
123
|
-
#
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
86
|
+
# Standard erb template
|
87
|
+
erb_template = $home + "/config/.screenrc.code.erb"
|
88
|
+
|
89
|
+
# Standard erb template
|
90
|
+
code_template = $home + "/config/code_template.erb"
|
91
|
+
|
92
|
+
# What screen template to use
|
93
|
+
template = ARGV[0] || "basic"
|
94
|
+
|
95
|
+
# Don't need report screen if we aren't working on reports
|
96
|
+
OPTIONS[:reports_base] = nil if not template == "reports"
|
97
|
+
|
98
|
+
# Add the component path to views/controllers/helpers
|
99
|
+
if c = OPTIONS[:component_base]
|
100
|
+
[:controllers_base,:views_base,:helpers_base].each do |k|
|
101
|
+
OPTIONS[k] << c if OPTIONS[k] == _orig[k]
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
# Set template spefific options
|
106
|
+
case template
|
107
|
+
when "custom"
|
108
|
+
raise "Must specify full template path for custom" if not ARGV[1]
|
109
|
+
raise "Must specify full template path for custom" if not File.exists? ARGV[1]
|
110
|
+
code_template = ARGV[1]
|
111
|
+
when "reports"
|
112
|
+
raise "Must Specify Component for reports" if not OPTIONS[:component_base]
|
113
|
+
OPTIONS[:helpers_base] = OPTIONS[:reports_base] + "helpers/" unless OPTIONS[:helpers_base] != (_orig[:helpers_base] + OPTIONS[:component_base])
|
114
|
+
OPTIONS[:views_base] << ("/" + OPTIONS[:component_base] + "_reports/") unless OPTIONS[:views_base] != (_orig[:views_base] + OPTIONS[:component_base])
|
115
|
+
end
|
116
|
+
|
117
|
+
# Check for valid directories
|
118
|
+
raise "Must Have a rails tree in #{$home}" if not FileTest.directory? $home
|
119
|
+
# raise "Must Have a rails tree in #{OPTIONS[:public]}" if not FileTest.directory? OPTIONS[:public]
|
120
|
+
# raise "Must Have a rails tree in #{OPTIONS[:views_base]}" if not FileTest.directory? OPTIONS[:views_base]
|
121
|
+
# raise "Must Have a rails tree in #{OPTIONS[:models_base]}" if not FileTest.directory? OPTIONS[:models_base]
|
122
|
+
# raise "Must Have a rails tree in #{OPTIONS[:helpers_base]}" if not FileTest.directory? OPTIONS[:helpers_base]
|
123
|
+
# raise "Must Have a rails tree in #{OPTIONS[:controllers_base]}" if not FileTest.directory? OPTIONS[:controllers_base]
|
124
|
+
|
125
|
+
# Parse the template, save it as a .screenrc.code-USERNAME
|
126
|
+
screen_erb = ERB.new(File.read(erb_template))
|
127
|
+
output = screen_erb.result(binding)
|
128
|
+
|
129
|
+
# Parse the template, save it as a .screenrc.code-USERNAME
|
130
|
+
code_erb = ERB.new(File.read(code_template))
|
131
|
+
output << code_erb.result(binding)
|
132
|
+
|
133
|
+
screenfile = $home + "/.screenrc-" + (ENV['USER'] || "Bozo")
|
134
|
+
File.open(screenfile,"w+") { |file| file.puts output }
|
135
|
+
|
136
|
+
# Make symlinks
|
137
|
+
%x{ln -sf #{screenfile} #{$old_home}/.screenrc.code }
|
138
|
+
%x{ln -sf #{screenfile} #{$home}/.screenrc.code }
|
139
|
+
Dir.chdir($home)
|
140
|
+
|
141
|
+
# Start a screen with the newly linked .screenrc.code
|
142
|
+
exec("screen","-c#{File.basename(screenfile)}","-S","rails","-e",OPTIONS[:screen_escape])
|
143
143
|
|
144
144
|
rescue => e
|
145
|
-
|
146
|
-
|
147
|
-
|
145
|
+
require "pp"
|
146
|
+
pp OPTIONS
|
147
|
+
puts e
|
148
148
|
end
|
149
149
|
|
data/config/requirements.rb
CHANGED
data/lib/ride/version.rb
CHANGED
data/spec/ride_generator_spec.rb
CHANGED
@@ -18,7 +18,8 @@ end
|
|
18
18
|
|
19
19
|
# Time to add your specs!
|
20
20
|
# http://rspec.info/
|
21
|
-
describe "Ride Generator", "when application is generated" do
|
21
|
+
describe "Ride Rails Generator", "when rails application is generated" do
|
22
|
+
# {{{
|
22
23
|
include RideGeneratorSpecHelper
|
23
24
|
before(:all) do
|
24
25
|
bare_setup
|
@@ -44,10 +45,10 @@ describe "Ride Generator", "when application is generated" do
|
|
44
45
|
File.exists?(full_path(file_path)).should == true
|
45
46
|
end
|
46
47
|
|
47
|
-
%w{destroy generate}.each do |file|
|
48
|
-
it "should create #{script_path = File.join("script", file)}" do
|
49
|
-
File.exists?(full_path(script_path)).
|
50
|
-
FileTest.executable?(full_path(script_path)).
|
48
|
+
%w{destroy generate console}.each do |file|
|
49
|
+
it "should not create #{script_path = File.join("script", file)}" do
|
50
|
+
File.exists?(full_path(script_path)).should_not == true
|
51
|
+
FileTest.executable?(full_path(script_path)).should_not == true
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
@@ -65,6 +66,7 @@ describe "Ride Generator", "when application is generated" do
|
|
65
66
|
file_path = File.join("script", "ride")
|
66
67
|
File.exists?(full_path(file_path)).should == true
|
67
68
|
FileTest.executable?(full_path(file_path)).should == true
|
69
|
+
File.read(full_path(file_path)).match(/app\/models/).should_not == nil
|
68
70
|
end
|
69
71
|
|
70
72
|
it "should create the script/ride-console file (executable)" do
|
@@ -80,8 +82,79 @@ describe "Ride Generator", "when application is generated" do
|
|
80
82
|
end
|
81
83
|
|
82
84
|
after(:all) do
|
83
|
-
|
85
|
+
bare_teardown
|
84
86
|
end
|
85
87
|
|
86
88
|
end
|
89
|
+
# }}}
|
90
|
+
|
91
|
+
describe "Ride Ramaze Generator", "when ramaze application is generated" do
|
92
|
+
include RideGeneratorSpecHelper
|
93
|
+
before(:all) do
|
94
|
+
bare_setup
|
95
|
+
run_generator('ride', [APP_ROOT], sources, {:console_debugger => 'irb', :template => 'ramaze', :shell => 'bash', :editor => 'vim'})
|
96
|
+
end
|
97
|
+
|
98
|
+
RideGenerator::BASEDIRS.each do |dir|
|
99
|
+
it "should create #{dir}" do
|
100
|
+
File.directory?(full_path(dir)).should == true
|
101
|
+
end
|
102
|
+
end
|
87
103
|
|
104
|
+
%w{RIDE_History.txt RIDE_License.txt RIDE_README.txt .irbrc}.each do |file|
|
105
|
+
it "should create #{file}" do
|
106
|
+
File.exists?(full_path(file)).should == true
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should put our rake tasks in place" do
|
111
|
+
file_path = File.join("tasks", "ride.rake")
|
112
|
+
File.exists?(full_path(file_path)).should == true
|
113
|
+
file_path = File.join("tasks", "rspec.rake")
|
114
|
+
File.exists?(full_path(file_path)).should == true
|
115
|
+
end
|
116
|
+
|
117
|
+
%w{destroy generate console}.each do |file|
|
118
|
+
it "should not create #{script_path = File.join("script", file)}" do
|
119
|
+
File.exists?(full_path(script_path)).should_not == true
|
120
|
+
FileTest.executable?(full_path(script_path)).should_not == true
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
it "should create the config/.screenrc.code.erb file" do
|
125
|
+
file_path = File.join("config", ".screenrc.code.erb")
|
126
|
+
File.exists?(full_path(file_path)).should == true
|
127
|
+
end
|
128
|
+
|
129
|
+
it "should create the config/code_template.erb file" do
|
130
|
+
file_path = File.join("config", "code_template.erb")
|
131
|
+
File.exists?(full_path(file_path)).should == true
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should create the script/ride file (executable)" do
|
135
|
+
file_path = File.join("script", "ride")
|
136
|
+
File.exists?(full_path(file_path)).should == true
|
137
|
+
FileTest.executable?(full_path(file_path)).should == true
|
138
|
+
File.read(full_path(file_path)).match(/app\/models/).should == nil
|
139
|
+
File.read(full_path(file_path)).match(/\/model\//).should_not == nil
|
140
|
+
File.read(full_path(file_path)).match(%r| :controllers_base => [^\s]+ \+ "/controller/",|).should_not == nil
|
141
|
+
File.read(full_path(file_path)).match(%r| :models_base\s+=>\s[^\s]+\s+\+\s+"/model/",|).should_not == nil
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should create the script/ride-console file (executable)" do
|
145
|
+
file_path = File.join("script", "ride-console")
|
146
|
+
File.exists?(full_path(file_path)).should == true
|
147
|
+
FileTest.executable?(full_path(file_path)).should == true
|
148
|
+
end
|
149
|
+
|
150
|
+
[%w{ftplugin ruby ruby.vim}, %w{plugin taglist.vim}, %w{syntax eruby.vim}, %w{ftdetect ruby.vim}].each do |vimfile|
|
151
|
+
it "Should create #{vim_path = File.join(".vim", *vimfile)}" do
|
152
|
+
File.exists?(full_path(vim_path)).should == true
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
|
157
|
+
after(:all) do
|
158
|
+
# bare_teardown
|
159
|
+
end
|
160
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ride
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TJ Vanderpoel
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-01-09 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -77,7 +77,9 @@ files:
|
|
77
77
|
- app_generators/ride/templates/RIDE_README.txt
|
78
78
|
- app_generators/ride/templates/.irbrc
|
79
79
|
- app_generators/ride/templates/config/.screenrc.code.erb
|
80
|
-
- app_generators/ride/templates/config/
|
80
|
+
- app_generators/ride/templates/config/code_template_ruby.erb
|
81
|
+
- app_generators/ride/templates/config/code_template_rails.erb
|
82
|
+
- app_generators/ride/templates/config/code_template_ramaze.erb
|
81
83
|
- app_generators/ride/templates/script/console
|
82
84
|
- app_generators/ride/templates/script/ride
|
83
85
|
- app_generators/ride/templates/tasks/ride.rake
|
@@ -155,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
157
|
requirements: []
|
156
158
|
|
157
159
|
rubyforge_project: ride
|
158
|
-
rubygems_version: 1.
|
160
|
+
rubygems_version: 1.3.1
|
159
161
|
signing_key:
|
160
162
|
specification_version: 2
|
161
163
|
summary: A Multi-User Console Interactive Development Environment Based On GNUScreen
|
File without changes
|