email_spec 0.3.0 → 0.3.1
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/History.txt +12 -2
- data/Rakefile +10 -1
- data/examples/rails_root/app/controllers/{application.rb → application_controller.rb} +0 -0
- data/examples/rails_root/app/models/user_mailer.rb +1 -2
- data/examples/rails_root/config/boot.rb +1 -0
- data/examples/rails_root/config/environment.rb +2 -2
- data/examples/rails_root/config/environments/test.rb +6 -10
- data/examples/rails_root/features/errors.feature +31 -41
- data/examples/rails_root/features/example.feature +44 -41
- data/examples/rails_root/features/step_definitions/email_steps.rb +66 -30
- data/examples/rails_root/features/step_definitions/user_steps.rb +11 -8
- data/examples/rails_root/features/step_definitions/webrat_steps.rb +72 -39
- data/examples/rails_root/features/support/env.rb +15 -4
- data/examples/rails_root/features/support/paths.rb +21 -0
- data/examples/rails_root/script/cucumber +6 -4
- data/examples/rails_root/spec/models/user_mailer_spec.rb +3 -3
- data/examples/rails_root/spec/spec_helper.rb +1 -1
- data/examples/rails_root/vendor/plugins/email_spec/rails_generators/email_spec/templates/email_steps.rb +66 -30
- data/lib/email_spec/deliveries.rb +0 -2
- data/lib/email_spec/helpers.rb +48 -31
- data/rails_generators/email_spec/templates/email_steps.rb +66 -30
- metadata +45 -78
- data/examples/rails_root/cucumber.yml +0 -1
data/lib/email_spec/helpers.rb
CHANGED
@@ -5,29 +5,28 @@ module EmailSpec
|
|
5
5
|
|
6
6
|
module Helpers
|
7
7
|
include Deliveries
|
8
|
-
|
8
|
+
|
9
9
|
def visit_in_email(link_text)
|
10
10
|
visit(parse_email_for_link(current_email, link_text))
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
def click_email_link_matching(regex, email = current_email)
|
14
14
|
url = links_in_email(email).detect { |link| link =~ regex }
|
15
15
|
raise "No link found matching #{regex.inspect} in #{email.body}" unless url
|
16
16
|
request_uri = URI::parse(url).request_uri
|
17
17
|
visit request_uri
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def click_first_link_in_email(email = current_email)
|
21
21
|
link = links_in_email(email).first
|
22
22
|
request_uri = URI::parse(link).request_uri
|
23
23
|
visit request_uri
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def open_email(address, opts={})
|
27
|
-
address = convert_address(address)
|
28
27
|
set_current_email(find_email!(address, opts))
|
29
28
|
end
|
30
|
-
|
29
|
+
|
31
30
|
alias_method :open_email_for, :open_email
|
32
31
|
|
33
32
|
def open_last_email
|
@@ -35,38 +34,35 @@ module EmailSpec
|
|
35
34
|
end
|
36
35
|
|
37
36
|
def open_last_email_for(address)
|
38
|
-
address = convert_address(address)
|
39
37
|
set_current_email(mailbox_for(address).last)
|
40
38
|
end
|
41
|
-
|
39
|
+
|
42
40
|
def current_email(address=nil)
|
43
41
|
address = convert_address(address)
|
44
42
|
email = address ? email_spec_hash[:current_emails][address] : email_spec_hash[:current_email]
|
45
|
-
raise Spec::Expectations::ExpectationNotMetError, "Expected an open email but none was found. Did you forget to call open_email?" unless email
|
43
|
+
raise Spec::Expectations::ExpectationNotMetError, "Expected an open email but none was found. Did you forget to call open_email?" unless email
|
46
44
|
email
|
47
45
|
end
|
48
|
-
|
46
|
+
|
49
47
|
def unread_emails_for(address)
|
50
|
-
address = convert_address(address)
|
51
48
|
mailbox_for(address) - read_emails_for(address)
|
52
49
|
end
|
53
|
-
|
50
|
+
|
54
51
|
def read_emails_for(address)
|
55
|
-
|
56
|
-
email_spec_hash[:read_emails][address] ||= []
|
52
|
+
email_spec_hash[:read_emails][convert_address(address)] ||= []
|
57
53
|
end
|
58
|
-
|
54
|
+
|
59
55
|
def find_email(address, opts={})
|
60
56
|
address = convert_address(address)
|
61
|
-
|
62
|
-
|
57
|
+
if opts[:with_subject]
|
58
|
+
mailbox_for(address).find { |m| m.subject =~ Regexp.new(opts[:with_subject]) }
|
63
59
|
elsif opts[:with_text]
|
64
|
-
|
60
|
+
mailbox_for(address).find { |m| m.body =~ Regexp.new(opts[:with_text]) }
|
65
61
|
else
|
66
|
-
|
62
|
+
mailbox_for(address).first
|
67
63
|
end
|
68
64
|
end
|
69
|
-
|
65
|
+
|
70
66
|
def links_in_email(email)
|
71
67
|
URI.extract(email.body, ['http', 'https'])
|
72
68
|
end
|
@@ -78,7 +74,6 @@ module EmailSpec
|
|
78
74
|
end
|
79
75
|
|
80
76
|
def find_email!(address, opts={})
|
81
|
-
address = convert_address(address)
|
82
77
|
email = find_email(address, opts)
|
83
78
|
if email.nil?
|
84
79
|
error = "#{opts.keys.first.to_s.humanize unless opts.empty?} #{('"' + opts.values.first.to_s.humanize + '"') unless opts.empty?}"
|
@@ -90,43 +85,65 @@ module EmailSpec
|
|
90
85
|
def set_current_email(email)
|
91
86
|
return unless email
|
92
87
|
email.to.each do |to|
|
93
|
-
read_emails_for(to) << email
|
88
|
+
read_emails_for(to) << email
|
94
89
|
email_spec_hash[:current_emails][to] = email
|
95
90
|
end
|
96
91
|
email_spec_hash[:current_email] = email
|
97
92
|
end
|
98
|
-
|
93
|
+
|
99
94
|
def parse_email_for_link(email, text_or_regex)
|
100
95
|
email.should have_body_text(text_or_regex)
|
101
|
-
|
102
|
-
url = parse_email_for_explicit_link(email, text_or_regex)
|
96
|
+
|
97
|
+
url = parse_email_for_explicit_link(email, text_or_regex)
|
103
98
|
url ||= parse_email_for_anchor_text_link(email, text_or_regex)
|
104
99
|
|
105
100
|
raise "No link found matching #{text_or_regex.inspect} in #{email}" unless url
|
106
101
|
url
|
107
102
|
end
|
108
|
-
|
103
|
+
|
109
104
|
# e.g. confirm in http://confirm
|
110
105
|
def parse_email_for_explicit_link(email, regex)
|
111
106
|
regex = /#{Regexp.escape(regex)}/ unless regex.is_a?(Regexp)
|
112
107
|
url = links_in_email(email).detect { |link| link =~ regex }
|
113
108
|
URI::parse(url).request_uri if url
|
114
109
|
end
|
115
|
-
|
110
|
+
|
116
111
|
# e.g. Click here in <a href="http://confirm">Click here</a>
|
117
112
|
def parse_email_for_anchor_text_link(email, link_text)
|
118
113
|
email.body =~ %r{<a[^>]*href=['"]?([^'"]*)['"]?[^>]*?>[^<]*?#{link_text}[^<]*?</a>}
|
119
114
|
URI.split($~[1])[5..-1].compact!.join("?").gsub("&", "&")
|
120
|
-
# sub correct ampersand after rails switches it (http://dev.rubyonrails.org/ticket/4002)
|
115
|
+
# sub correct ampersand after rails switches it (http://dev.rubyonrails.org/ticket/4002)
|
121
116
|
end
|
122
117
|
|
118
|
+
def parse_email_count(amount)
|
119
|
+
case amount
|
120
|
+
when "no"
|
121
|
+
0
|
122
|
+
when "an"
|
123
|
+
1
|
124
|
+
else
|
125
|
+
amount.to_i
|
126
|
+
end
|
127
|
+
end
|
123
128
|
|
124
129
|
attr_reader :last_email_address
|
125
|
-
|
130
|
+
|
126
131
|
def convert_address(address)
|
127
|
-
@last_email_address = address
|
128
|
-
AddressConverter.instance.convert(
|
132
|
+
@last_email_address = (address || current_email_address)
|
133
|
+
AddressConverter.instance.convert(@last_email_address)
|
134
|
+
end
|
135
|
+
|
136
|
+
|
137
|
+
def mailbox_for(address)
|
138
|
+
super(convert_address(address)) # super resides in Deliveries
|
129
139
|
end
|
140
|
+
|
141
|
+
def email_spec_deprecate(text)
|
142
|
+
puts ""
|
143
|
+
puts "DEPRECATION: #{text.split.join(' ')}"
|
144
|
+
puts ""
|
145
|
+
end
|
146
|
+
|
130
147
|
end
|
131
148
|
end
|
132
149
|
|
@@ -1,9 +1,10 @@
|
|
1
|
-
#Commonly used email steps
|
1
|
+
# Commonly used email steps
|
2
2
|
#
|
3
3
|
# To add your own steps make a custom_email_steps.rb
|
4
4
|
# The provided methods are:
|
5
5
|
#
|
6
|
-
#
|
6
|
+
# last_email_address
|
7
|
+
# reset_mailer
|
7
8
|
# open_last_email
|
8
9
|
# visit_in_email
|
9
10
|
# unread_emails_for
|
@@ -12,6 +13,16 @@
|
|
12
13
|
# open_email
|
13
14
|
# read_emails_for
|
14
15
|
# find_email
|
16
|
+
#
|
17
|
+
# General form for email scenarios are:
|
18
|
+
# - clear the email queue (done automatically by email_spec)
|
19
|
+
# - execute steps that sends an email
|
20
|
+
# - check the user received an/no/[0-9] emails
|
21
|
+
# - open the email
|
22
|
+
# - inspect the email contents
|
23
|
+
# - interact with the email (e.g. click links)
|
24
|
+
#
|
25
|
+
# The Cucumber steps below are setup in this order.
|
15
26
|
|
16
27
|
module EmailHelpers
|
17
28
|
def current_email_address
|
@@ -21,63 +32,88 @@ module EmailHelpers
|
|
21
32
|
last_email_address || "example@example.com"
|
22
33
|
end
|
23
34
|
end
|
35
|
+
|
24
36
|
World(EmailHelpers)
|
25
37
|
|
26
|
-
#
|
38
|
+
#
|
39
|
+
# Reset the e-mail queue within a scenario.
|
27
40
|
# This is done automatically before each scenario.
|
41
|
+
#
|
42
|
+
|
28
43
|
Given /^(?:a clear email queue|no emails have been sent)$/ do
|
29
44
|
reset_mailer
|
30
45
|
end
|
31
46
|
|
32
|
-
#
|
33
|
-
|
34
|
-
|
35
|
-
end
|
47
|
+
#
|
48
|
+
# Check how many emails have been sent/received
|
49
|
+
#
|
36
50
|
|
37
|
-
|
38
|
-
|
51
|
+
Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails?$/ do |address, amount|
|
52
|
+
unread_emails_for(address).size.should == parse_email_count(amount)
|
39
53
|
end
|
40
54
|
|
41
|
-
Then /^(?:I|they) should
|
42
|
-
|
43
|
-
unread_emails_for(current_email_address).size.should == amount.to_i
|
55
|
+
Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amount|
|
56
|
+
mailbox_for(address).size.should == parse_email_count(amount)
|
44
57
|
end
|
45
58
|
|
46
|
-
|
47
|
-
|
59
|
+
# DEPRECATED
|
60
|
+
# The following methods are left in for backwards compatibility and
|
61
|
+
# should be removed by version 0.3.5.
|
62
|
+
Then /^(?:I|they|"([^"]*?)") should not receive an email$/ do |address|
|
63
|
+
email_spec_deprecate "The step 'I/they/[email] should not receive an email' is no longer supported.
|
64
|
+
Please use 'I/they/[email] should receive no emails' instead."
|
65
|
+
unread_emails_for(address).size.should == 0
|
48
66
|
end
|
49
67
|
|
50
|
-
|
51
|
-
|
52
|
-
|
68
|
+
#
|
69
|
+
# Accessing emails
|
70
|
+
#
|
71
|
+
|
72
|
+
# Opens the most recently received email
|
73
|
+
When /^(?:I|they|"([^"]*?)") opens? the email$/ do |address|
|
74
|
+
open_email(address)
|
53
75
|
end
|
54
76
|
|
55
|
-
|
56
|
-
|
77
|
+
When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
|
78
|
+
open_email(address, :with_subject => subject)
|
57
79
|
end
|
58
80
|
|
59
|
-
|
60
|
-
|
81
|
+
When /^(?:I|they|"([^"]*?)") opens? the email with text "([^"]*?)"$/ do |address, text|
|
82
|
+
open_email(address, :with_text => text)
|
61
83
|
end
|
62
84
|
|
63
|
-
|
85
|
+
#
|
86
|
+
# Inspect the Email Contents
|
87
|
+
#
|
88
|
+
|
89
|
+
Then /^(?:I|they) should see "([^"]*?)" in the email subject$/ do |text|
|
64
90
|
current_email.should have_subject(Regexp.new(text))
|
65
91
|
end
|
66
92
|
|
67
|
-
Then
|
93
|
+
Then /^(?:I|they) should see "([^"]*?)" in the email body$/ do |text|
|
68
94
|
current_email.body.should =~ Regexp.new(text)
|
69
95
|
end
|
70
96
|
|
71
|
-
|
72
|
-
|
97
|
+
# DEPRECATED
|
98
|
+
# The following methods are left in for backwards compatibility and
|
99
|
+
# should be removed by version 0.3.5.
|
100
|
+
Then /^(?:I|they) should see "([^"]*?)" in the subject$/ do |text|
|
101
|
+
email_spec_deprecate "The step 'I/they should see [text] in the subject' is no longer supported.
|
102
|
+
Please use 'I/they should see [text] in the email subject' instead."
|
103
|
+
current_email.should have_subject(Regexp.new(text))
|
73
104
|
end
|
74
|
-
|
75
|
-
|
76
|
-
|
105
|
+
Then /^(?:I|they) should see "([^"]*?)" in the email$/ do |text|
|
106
|
+
email_spec_deprecate "The step 'I/they should see [text] in the email' is no longer supported.
|
107
|
+
Please use 'I/they should see [text] in the email body' instead."
|
108
|
+
current_email.body.should =~ Regexp.new(text)
|
77
109
|
end
|
78
110
|
|
79
|
-
|
80
|
-
|
111
|
+
#
|
112
|
+
# Interact with Email Contents
|
113
|
+
#
|
114
|
+
|
115
|
+
When /^(?:I|they) follow "([^"]*?)" in the email$/ do |link|
|
116
|
+
visit_in_email(link)
|
81
117
|
end
|
82
118
|
|
83
119
|
When /^(?:I|they) click the first link in the email$/ do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Mabey
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2009-08-
|
14
|
+
date: 2009-08-19 00:00:00 -06:00
|
15
15
|
default_executable:
|
16
16
|
dependencies: []
|
17
17
|
|
@@ -29,78 +29,6 @@ files:
|
|
29
29
|
- MIT-LICENSE.txt
|
30
30
|
- README.rdoc
|
31
31
|
- Rakefile
|
32
|
-
- examples/rails_root/Rakefile
|
33
|
-
- examples/rails_root/app/controllers/application.rb
|
34
|
-
- examples/rails_root/app/controllers/welcome_controller.rb
|
35
|
-
- examples/rails_root/app/helpers/application_helper.rb
|
36
|
-
- examples/rails_root/app/helpers/welcome_helper.rb
|
37
|
-
- examples/rails_root/app/models/user.rb
|
38
|
-
- examples/rails_root/app/models/user_mailer.rb
|
39
|
-
- examples/rails_root/app/views/user_mailer/signup.erb
|
40
|
-
- examples/rails_root/app/views/welcome/confirm.html.erb
|
41
|
-
- examples/rails_root/app/views/welcome/index.html.erb
|
42
|
-
- examples/rails_root/app/views/welcome/signup.html.erb
|
43
|
-
- examples/rails_root/config/boot.rb
|
44
|
-
- examples/rails_root/config/database.yml
|
45
|
-
- examples/rails_root/config/environment.rb
|
46
|
-
- examples/rails_root/config/environments/development.rb
|
47
|
-
- examples/rails_root/config/environments/production.rb
|
48
|
-
- examples/rails_root/config/environments/test.rb
|
49
|
-
- examples/rails_root/config/initializers/inflections.rb
|
50
|
-
- examples/rails_root/config/initializers/mime_types.rb
|
51
|
-
- examples/rails_root/config/initializers/new_rails_defaults.rb
|
52
|
-
- examples/rails_root/config/routes.rb
|
53
|
-
- examples/rails_root/cucumber.yml
|
54
|
-
- examples/rails_root/db/migrate/20090125013728_create_users.rb
|
55
|
-
- examples/rails_root/db/schema.rb
|
56
|
-
- examples/rails_root/doc/README_FOR_APP
|
57
|
-
- examples/rails_root/features/errors.feature
|
58
|
-
- examples/rails_root/features/example.feature
|
59
|
-
- examples/rails_root/features/step_definitions/email_steps.rb
|
60
|
-
- examples/rails_root/features/step_definitions/user_steps.rb
|
61
|
-
- examples/rails_root/features/step_definitions/webrat_steps.rb
|
62
|
-
- examples/rails_root/features/support/env.rb
|
63
|
-
- examples/rails_root/public/404.html
|
64
|
-
- examples/rails_root/public/422.html
|
65
|
-
- examples/rails_root/public/500.html
|
66
|
-
- examples/rails_root/public/dispatch.rb
|
67
|
-
- examples/rails_root/public/favicon.ico
|
68
|
-
- examples/rails_root/public/images/rails.png
|
69
|
-
- examples/rails_root/public/javascripts/application.js
|
70
|
-
- examples/rails_root/public/javascripts/controls.js
|
71
|
-
- examples/rails_root/public/javascripts/dragdrop.js
|
72
|
-
- examples/rails_root/public/javascripts/effects.js
|
73
|
-
- examples/rails_root/public/javascripts/prototype.js
|
74
|
-
- examples/rails_root/public/robots.txt
|
75
|
-
- examples/rails_root/script/about
|
76
|
-
- examples/rails_root/script/autospec
|
77
|
-
- examples/rails_root/script/console
|
78
|
-
- examples/rails_root/script/cucumber
|
79
|
-
- examples/rails_root/script/dbconsole
|
80
|
-
- examples/rails_root/script/destroy
|
81
|
-
- examples/rails_root/script/generate
|
82
|
-
- examples/rails_root/script/performance/benchmarker
|
83
|
-
- examples/rails_root/script/performance/profiler
|
84
|
-
- examples/rails_root/script/performance/request
|
85
|
-
- examples/rails_root/script/plugin
|
86
|
-
- examples/rails_root/script/process/inspector
|
87
|
-
- examples/rails_root/script/process/reaper
|
88
|
-
- examples/rails_root/script/process/spawner
|
89
|
-
- examples/rails_root/script/runner
|
90
|
-
- examples/rails_root/script/server
|
91
|
-
- examples/rails_root/script/spec
|
92
|
-
- examples/rails_root/script/spec_server
|
93
|
-
- examples/rails_root/spec/controllers/welcome_controller_spec.rb
|
94
|
-
- examples/rails_root/spec/model_factory.rb
|
95
|
-
- examples/rails_root/spec/models/user_mailer_spec.rb
|
96
|
-
- examples/rails_root/spec/models/user_spec.rb
|
97
|
-
- examples/rails_root/spec/rcov.opts
|
98
|
-
- examples/rails_root/spec/spec.opts
|
99
|
-
- examples/rails_root/spec/spec_helper.rb
|
100
|
-
- examples/rails_root/stories/all.rb
|
101
|
-
- examples/rails_root/stories/helper.rb
|
102
|
-
- examples/rails_root/vendor/plugins/email_spec/rails_generators/email_spec/email_spec_generator.rb
|
103
|
-
- examples/rails_root/vendor/plugins/email_spec/rails_generators/email_spec/templates/email_steps.rb
|
104
32
|
- install.rb
|
105
33
|
- lib/email-spec.rb
|
106
34
|
- lib/email_spec.rb
|
@@ -112,9 +40,6 @@ files:
|
|
112
40
|
- lib/email_spec/matchers.rb
|
113
41
|
- rails_generators/email_spec/email_spec_generator.rb
|
114
42
|
- rails_generators/email_spec/templates/email_steps.rb
|
115
|
-
- spec/email_spec/matchers_spec.rb
|
116
|
-
- spec/spec.opts
|
117
|
-
- spec/spec_helper.rb
|
118
43
|
has_rdoc: true
|
119
44
|
homepage: http://github.com/bmabey/email-spec/
|
120
45
|
licenses: []
|
@@ -145,14 +70,20 @@ specification_version: 3
|
|
145
70
|
summary: Easily test email in rspec and cucumber
|
146
71
|
test_files:
|
147
72
|
- spec/email_spec/matchers_spec.rb
|
73
|
+
- spec/spec.opts
|
148
74
|
- spec/spec_helper.rb
|
149
|
-
- examples/rails_root/app/controllers/
|
75
|
+
- examples/rails_root/app/controllers/application_controller.rb
|
150
76
|
- examples/rails_root/app/controllers/welcome_controller.rb
|
151
77
|
- examples/rails_root/app/helpers/application_helper.rb
|
152
78
|
- examples/rails_root/app/helpers/welcome_helper.rb
|
153
79
|
- examples/rails_root/app/models/user.rb
|
154
80
|
- examples/rails_root/app/models/user_mailer.rb
|
81
|
+
- examples/rails_root/app/views/user_mailer/signup.erb
|
82
|
+
- examples/rails_root/app/views/welcome/confirm.html.erb
|
83
|
+
- examples/rails_root/app/views/welcome/index.html.erb
|
84
|
+
- examples/rails_root/app/views/welcome/signup.html.erb
|
155
85
|
- examples/rails_root/config/boot.rb
|
86
|
+
- examples/rails_root/config/database.yml
|
156
87
|
- examples/rails_root/config/environment.rb
|
157
88
|
- examples/rails_root/config/environments/development.rb
|
158
89
|
- examples/rails_root/config/environments/production.rb
|
@@ -163,15 +94,51 @@ test_files:
|
|
163
94
|
- examples/rails_root/config/routes.rb
|
164
95
|
- examples/rails_root/db/migrate/20090125013728_create_users.rb
|
165
96
|
- examples/rails_root/db/schema.rb
|
97
|
+
- examples/rails_root/doc/README_FOR_APP
|
98
|
+
- examples/rails_root/features/errors.feature
|
99
|
+
- examples/rails_root/features/example.feature
|
166
100
|
- examples/rails_root/features/step_definitions/email_steps.rb
|
167
101
|
- examples/rails_root/features/step_definitions/user_steps.rb
|
168
102
|
- examples/rails_root/features/step_definitions/webrat_steps.rb
|
169
103
|
- examples/rails_root/features/support/env.rb
|
104
|
+
- examples/rails_root/features/support/paths.rb
|
105
|
+
- examples/rails_root/public/404.html
|
106
|
+
- examples/rails_root/public/422.html
|
107
|
+
- examples/rails_root/public/500.html
|
170
108
|
- examples/rails_root/public/dispatch.rb
|
109
|
+
- examples/rails_root/public/favicon.ico
|
110
|
+
- examples/rails_root/public/images/rails.png
|
111
|
+
- examples/rails_root/public/javascripts/application.js
|
112
|
+
- examples/rails_root/public/javascripts/controls.js
|
113
|
+
- examples/rails_root/public/javascripts/dragdrop.js
|
114
|
+
- examples/rails_root/public/javascripts/effects.js
|
115
|
+
- examples/rails_root/public/javascripts/prototype.js
|
116
|
+
- examples/rails_root/public/robots.txt
|
117
|
+
- examples/rails_root/Rakefile
|
118
|
+
- examples/rails_root/script/about
|
119
|
+
- examples/rails_root/script/autospec
|
120
|
+
- examples/rails_root/script/console
|
121
|
+
- examples/rails_root/script/cucumber
|
122
|
+
- examples/rails_root/script/dbconsole
|
123
|
+
- examples/rails_root/script/destroy
|
124
|
+
- examples/rails_root/script/generate
|
125
|
+
- examples/rails_root/script/performance/benchmarker
|
126
|
+
- examples/rails_root/script/performance/profiler
|
127
|
+
- examples/rails_root/script/performance/request
|
128
|
+
- examples/rails_root/script/plugin
|
129
|
+
- examples/rails_root/script/process/inspector
|
130
|
+
- examples/rails_root/script/process/reaper
|
131
|
+
- examples/rails_root/script/process/spawner
|
132
|
+
- examples/rails_root/script/runner
|
133
|
+
- examples/rails_root/script/server
|
134
|
+
- examples/rails_root/script/spec
|
135
|
+
- examples/rails_root/script/spec_server
|
171
136
|
- examples/rails_root/spec/controllers/welcome_controller_spec.rb
|
172
137
|
- examples/rails_root/spec/model_factory.rb
|
173
138
|
- examples/rails_root/spec/models/user_mailer_spec.rb
|
174
139
|
- examples/rails_root/spec/models/user_spec.rb
|
140
|
+
- examples/rails_root/spec/rcov.opts
|
141
|
+
- examples/rails_root/spec/spec.opts
|
175
142
|
- examples/rails_root/spec/spec_helper.rb
|
176
143
|
- examples/rails_root/stories/all.rb
|
177
144
|
- examples/rails_root/stories/helper.rb
|