wagn 1.17.4 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Guardfile +14 -17
- data/bin/wagn +2 -2
- data/features/step_definitions/email_steps.rb +14 -17
- data/features/step_definitions/history_steps.rb +1 -1
- data/features/step_definitions/wagn_steps.rb +5 -11
- data/features/step_definitions/web_steps.rb +10 -15
- data/features/step_definitions/window_steps.rb +7 -7
- data/features/support/env.rb +3 -3
- data/features/support/paths.rb +13 -13
- data/features/support/scopes.rb +2 -2
- data/lib/decko/engine.rb +9 -12
- data/lib/wagn/cli.rb +4 -4
- data/lib/wagn/commands.rb +20 -24
- data/lib/wagn/commands/application.rb +4 -4
- data/lib/wagn/config/environments/cucumber.rb +0 -1
- data/lib/wagn/config/environments/development.rb +17 -20
- data/lib/wagn/config/environments/production.rb +3 -5
- data/lib/wagn/config/environments/profile.rb +2 -3
- data/lib/wagn/config/environments/test.rb +8 -9
- data/lib/wagn/generators/wagn/templates/bin/spring +7 -7
- data/lib/wagn/generators/wagn/templates/spec/spec_helper.rb +1 -1
- data/lib/wagn/generators/wagn/wagn_generator.rb +126 -160
- data/lib/wagn/generators/wagn/wagn_generator/interactive.rb +0 -0
- data/lib/wagn/mods_spec_helper.rb +10 -19
- data/lib/wagn/parser.rb +3 -3
- data/lib/wagn/script_wagn_loader.rb +6 -6
- data/lib/wagn/simplecov_helper.rb +16 -17
- data/lib/wagn/tasks/cucumber.rake +12 -15
- data/lib/wagn/tasks/db.rake +7 -12
- data/lib/wagn/tasks/test.rake +24 -28
- data/lib/wagn/tasks/wagn.rake +54 -57
- data/rails/application-routes.rb +2 -2
- data/rails/controllers/card_controller.rb +4 -6
- data/rails/engine-routes.rb +9 -13
- data/script/autospec +1 -1
- data/script/rails +1 -1
- data/script/test_filter +8 -8
- data/spec/controllers/card_controller_spec.rb +138 -155
- data/spec/controllers/location_spec.rb +8 -13
- data/spec/javascripts/support/jasmine_config.rb +6 -9
- data/spec/javascripts/support/jasmine_runner.rb +3 -3
- data/test/performance/card_create_test.rb +2 -3
- data/test/performance/fetch_test.rb +2 -2
- data/test/performance/homepage_test.rb +1 -1
- data/test/performance/render_test.rb +1 -1
- data/test/test_helper.rb +26 -30
- data/wagn.gemspec +10 -11
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db58a4a4675681de858310ae6ae98a97e3627a22
|
4
|
+
data.tar.gz: 7cd9465e0d9b19a9c7813f588431c6ab7c740b44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35c942ff3d452913629f879640ad445ed1db871877e02a2cb04410c956d4584b1e4d3223be89eea6c928d8fb9dacbd5c6cefb685eacc8cb210ebfa1a0e85aa21
|
7
|
+
data.tar.gz: d713f160f746785569b5a1b03f2947df48f88916ff7759301b007f175c9ad25267b9b8a9fce6822b2366c9e4047db9d92a31980c37ec6cff4c5a6e7fa8a534a8
|
data/Guardfile
CHANGED
@@ -1,35 +1,32 @@
|
|
1
1
|
# A sample Guardfile
|
2
2
|
# More info at https://github.com/guard/guard#readme
|
3
3
|
|
4
|
-
#guard :rspec, cmd: 'bundle exec env COVERAGE=false rspec' do
|
4
|
+
# guard :rspec, cmd: 'bundle exec env COVERAGE=false rspec' do
|
5
5
|
guard :rspec, cmd: 'bundle exec wagn rspec' do
|
6
|
-
|
7
6
|
watch(%r{^spec/.+_spec\.rb$})
|
8
7
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
9
|
-
watch('spec/spec_helper.rb') {
|
8
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
10
9
|
|
11
10
|
# Rails example
|
12
11
|
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
13
|
-
# watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
14
|
-
# watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
15
|
-
|
16
|
-
# watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
17
|
-
# watch('config/routes.rb') { "spec/routing" }
|
18
|
-
# watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
12
|
+
# watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
13
|
+
# watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
14
|
+
|
15
|
+
# watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
16
|
+
# watch('config/routes.rb') { "spec/routing" }
|
17
|
+
# watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
19
18
|
|
20
19
|
# Capybara features specs
|
21
|
-
# watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
20
|
+
# watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
22
21
|
|
23
22
|
# Wagn mods
|
24
23
|
watch(%r{^mod/(.+)\.rb}) { |m| "mod/spec/#{m[1]}_spec.rb" }
|
25
24
|
watch(%r{^tmp/mod/(.+)\.rb}) { |m| "mod/spec/#{m[1]}_spec.rb" }
|
26
25
|
|
27
|
-
|
28
26
|
# Turnip features and steps
|
29
|
-
# watch(%r{^spec/acceptance/(.+)\.feature$})
|
30
|
-
# watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
31
|
-
|
32
|
-
#callback(:start_begin) { puts "guard-rspec is watching ..." }
|
33
|
-
#callback(:run_on_modifications_begin) { puts "<script>document.body.innerHTML = '';</script>" } # use js to clear textmate's html view
|
34
|
-
end
|
27
|
+
# watch(%r{^spec/acceptance/(.+)\.feature$})
|
28
|
+
# watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
35
29
|
|
30
|
+
# callback(:start_begin) { puts "guard-rspec is watching ..." }
|
31
|
+
# callback(:run_on_modifications_begin) { puts "<script>document.body.innerHTML = '';</script>" } # use js to clear textmate's html view
|
32
|
+
end
|
data/bin/wagn
CHANGED
@@ -58,8 +58,8 @@ Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amou
|
|
58
58
|
end
|
59
59
|
|
60
60
|
Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject "([^"]*?)"$/ do |address, amount, subject|
|
61
|
-
# address = address_for_user address
|
62
|
-
expect(unread_emails_for(address).
|
61
|
+
# address = address_for_user address
|
62
|
+
expect(unread_emails_for(address).count { |m| m.subject =~ Regexp.new(subject) }).to eq(parse_email_count(amount))
|
63
63
|
end
|
64
64
|
|
65
65
|
Then /^(?:I|they|"([^"]*?)") should receive an email with the following body:$/ do |address, expected_body|
|
@@ -96,11 +96,11 @@ Then /^(?:I|they) should see \/([^"]*?)\/ in the email subject$/ do |text|
|
|
96
96
|
end
|
97
97
|
|
98
98
|
Then /^(?:I|they) should see \|(.*)\| in the email body$/ do |text|
|
99
|
-
expect(current_email.text_part.body.raw_source).to include(
|
99
|
+
expect(current_email.text_part.body.raw_source).to include(text.to_s)
|
100
100
|
end
|
101
101
|
|
102
102
|
Then /^(?:I|they) should see "(.*)" in the email body$/ do |text|
|
103
|
-
expect(current_email.text_part.body.raw_source).to include(
|
103
|
+
expect(current_email.text_part.body.raw_source).to include(text.to_s)
|
104
104
|
end
|
105
105
|
|
106
106
|
Then /^(?:I|they) should see \/([^\/]*?)\/ in the email body$/ do |text|
|
@@ -128,7 +128,7 @@ Then /^(?:I|they) should see (an|no|\d+) attachments? with the email$/ do |amoun
|
|
128
128
|
end
|
129
129
|
|
130
130
|
Then /^there should be (an|no|\d+) attachments? named "([^"]*?)"$/ do |amount, filename|
|
131
|
-
expect(current_email_attachments.
|
131
|
+
expect(current_email_attachments.count { |a| a.original_filename == filename }).to eq(parse_email_count(amount))
|
132
132
|
end
|
133
133
|
|
134
134
|
Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
|
@@ -136,7 +136,7 @@ Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
|
|
136
136
|
end
|
137
137
|
|
138
138
|
Then /^there should be (an|no|\d+) attachments? of type "([^"]*?)"$/ do |amount, content_type|
|
139
|
-
expect(current_email_attachments.
|
139
|
+
expect(current_email_attachments.count { |a| a.content_type == content_type }).to eq(parse_email_count(amount))
|
140
140
|
end
|
141
141
|
|
142
142
|
Then /^attachment (\d+) should be of type "([^"]*?)"$/ do |index, content_type|
|
@@ -150,7 +150,7 @@ Then /^all attachments should not be blank$/ do
|
|
150
150
|
end
|
151
151
|
|
152
152
|
Then /^show me a list of email attachments$/ do
|
153
|
-
EmailSpec::EmailViewer
|
153
|
+
EmailSpec::EmailViewer.save_and_open_email_attachments_list(current_email)
|
154
154
|
end
|
155
155
|
|
156
156
|
#
|
@@ -172,29 +172,27 @@ end
|
|
172
172
|
#
|
173
173
|
|
174
174
|
Then /^save and open current email$/ do
|
175
|
-
EmailSpec::EmailViewer
|
175
|
+
EmailSpec::EmailViewer.save_and_open_email(current_email)
|
176
176
|
end
|
177
177
|
|
178
178
|
Then /^save and open all text emails$/ do
|
179
|
-
EmailSpec::EmailViewer
|
179
|
+
EmailSpec::EmailViewer.save_and_open_all_text_emails
|
180
180
|
end
|
181
181
|
|
182
182
|
Then /^save and open all html emails$/ do
|
183
|
-
EmailSpec::EmailViewer
|
183
|
+
EmailSpec::EmailViewer.save_and_open_all_html_emails
|
184
184
|
end
|
185
185
|
|
186
186
|
Then /^save and open all raw emails$/ do
|
187
|
-
EmailSpec::EmailViewer
|
187
|
+
EmailSpec::EmailViewer.save_and_open_all_raw_emails
|
188
188
|
end
|
189
189
|
|
190
|
-
|
191
|
-
|
192
190
|
Then /^(.*) should be notified that "(.*)"$/ do |username, subject|
|
193
191
|
email = address_for_user username
|
194
192
|
begin
|
195
|
-
step %
|
193
|
+
step %("#{email}" should receive 1 email)
|
196
194
|
rescue RSpec::Expectations::ExpectationNotMetError => e
|
197
|
-
raise RSpec::Expectations::ExpectationNotMetError, %(#{e.message}\n Found the following emails:\n\n #{all_emails*"\n\n~~~~~~~~\n\n"})
|
195
|
+
raise RSpec::Expectations::ExpectationNotMetError, %(#{e.message}\n Found the following emails:\n\n #{all_emails * "\n\n~~~~~~~~\n\n"})
|
198
196
|
end
|
199
197
|
open_email(email, with_subject: /#{subject}/)
|
200
198
|
end
|
@@ -203,8 +201,7 @@ Then /^No notification should be sent$/ do
|
|
203
201
|
expect(all_emails).to be_empty
|
204
202
|
end
|
205
203
|
|
206
|
-
|
207
204
|
def address_for_user username
|
208
|
-
card_with_acct = username=='I' ? Auth.current : Card[username]
|
205
|
+
card_with_acct = username == 'I' ? Auth.current : Card[username]
|
209
206
|
card_with_acct ? card_with_acct.account.email : username
|
210
207
|
end
|
@@ -28,9 +28,7 @@ end
|
|
28
28
|
|
29
29
|
Given /^I am signed out$/ do
|
30
30
|
visit '/'
|
31
|
-
if page.has_content? 'Sign out'
|
32
|
-
step 'I follow "Sign out"'
|
33
|
-
end
|
31
|
+
step 'I follow "Sign out"' if page.has_content? 'Sign out'
|
34
32
|
end
|
35
33
|
|
36
34
|
# Given /^I sign in as (.+)$/ do |account_name|
|
@@ -164,9 +162,7 @@ end
|
|
164
162
|
|
165
163
|
When /^I wait until ajax response done$/ do
|
166
164
|
Timeout.timeout(Capybara.default_wait_time) do
|
167
|
-
while page.evaluate_script('jQuery.active') != 0
|
168
|
-
sleep(0.5)
|
169
|
-
end
|
165
|
+
sleep(0.5) while page.evaluate_script('jQuery.active') != 0
|
170
166
|
end
|
171
167
|
end
|
172
168
|
|
@@ -200,9 +196,7 @@ def signed_in_as username
|
|
200
196
|
sameuser = (username == 'I')
|
201
197
|
sameuser ||= (Card::Auth.current.key == username.to_name.key)
|
202
198
|
was_signed_in = Card::Auth.current_id if Card::Auth.signed_in?
|
203
|
-
unless sameuser
|
204
|
-
step "I am signed in as #{username}"
|
205
|
-
end
|
199
|
+
step "I am signed in as #{username}" unless sameuser
|
206
200
|
yield
|
207
201
|
return if sameuser
|
208
202
|
msg = if was_signed_in
|
@@ -317,7 +311,7 @@ Then class_re do |selection, neg, element, selector|
|
|
317
311
|
element = 'a' if element == 'link'
|
318
312
|
within scope_of(selection) do
|
319
313
|
verb = neg ? :should_not : :should
|
320
|
-
page.send(verb, have_css([element, selector]
|
314
|
+
page.send(verb, have_css([element, selector].join('.')))
|
321
315
|
end
|
322
316
|
end
|
323
317
|
|
@@ -372,7 +366,7 @@ end
|
|
372
366
|
img_should = /^I should see a non-mod image of size "(.+)" and type "(.+)"$/
|
373
367
|
Then img_should do |size, type|
|
374
368
|
element = find("img[src*='#{size}.#{type}']")
|
375
|
-
expect(element[:src]).to match(%r
|
369
|
+
expect(element[:src]).to match(%r{/~\d+/})
|
376
370
|
end
|
377
371
|
|
378
372
|
Then /^I should see "([^\"]*)" in color (.*)$/ do |text, css_class|
|
@@ -5,10 +5,9 @@
|
|
5
5
|
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
|
6
6
|
# files.
|
7
7
|
|
8
|
-
|
9
8
|
require 'uri'
|
10
9
|
require 'cgi'
|
11
|
-
require File.expand_path(File.join(File.dirname(__FILE__),
|
10
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'support', 'paths'))
|
12
11
|
|
13
12
|
# Commonly used webrat steps
|
14
13
|
# http://github.com/brynary/webrat
|
@@ -41,12 +40,10 @@ When /^(?:|I )fill in "([^"]*)" for "([^"]*)"$/ do |value, field|
|
|
41
40
|
fill_in(field, with: value)
|
42
41
|
end
|
43
42
|
|
44
|
-
|
45
43
|
When /^(?:|I )select "([^"]*)" from "([^"]*)"$/ do |value, field|
|
46
44
|
select(value, from: field)
|
47
45
|
end
|
48
46
|
|
49
|
-
|
50
47
|
# Use this step in conjunction with Rail's datetime_select helper. For example:
|
51
48
|
# When I select "December 25, 2008 10:00" as the date and time
|
52
49
|
When /^(?:|I )select "([^"]*)" as the date and time$/ do |time|
|
@@ -110,17 +107,17 @@ end
|
|
110
107
|
# passed to attach_file() you will get a "Photo file is not one of the allowed file types."
|
111
108
|
# error message
|
112
109
|
When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field|
|
113
|
-
type = path.split(
|
110
|
+
type = path.split('.')[1]
|
114
111
|
|
115
112
|
case type
|
116
|
-
when
|
117
|
-
type =
|
118
|
-
when
|
119
|
-
type =
|
120
|
-
when
|
121
|
-
type =
|
122
|
-
when
|
123
|
-
type =
|
113
|
+
when 'jpg'
|
114
|
+
type = 'image/jpg'
|
115
|
+
when 'jpeg'
|
116
|
+
type = 'image/jpeg'
|
117
|
+
when 'png'
|
118
|
+
type = 'image/png'
|
119
|
+
when 'gif'
|
120
|
+
type = 'image/gif'
|
124
121
|
end
|
125
122
|
|
126
123
|
attach_file(field, path, type)
|
@@ -134,7 +131,5 @@ Then /^(?:|I )should not see "([^"]*)"$/ do |text|
|
|
134
131
|
expect(page).to_not have_content(text)
|
135
132
|
end
|
136
133
|
|
137
|
-
|
138
134
|
Then /^show me the page$/ do
|
139
|
-
save_and_open_page
|
140
135
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
When /^I open a new window for (.*)$/ do |account_name|
|
2
|
-
str =
|
3
|
-
<<END_TAG
|
2
|
+
str =
|
3
|
+
<<END_TAG
|
4
4
|
window.open("", "#{account_name}", "height=600,width=800");
|
5
5
|
END_TAG
|
6
6
|
page.execute_script(str)
|
7
|
-
page.driver.browser.switch_to.window(
|
7
|
+
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
|
8
8
|
accounted = Card[account_name]
|
9
9
|
visit "/update/:signin?card[subcards][%2B*email][content]=#{accounted.account.email}&card[subcards][%2B*password][content]=joe_pass"
|
10
10
|
end
|
11
11
|
|
12
12
|
When /I switch to (.+) window$/ do |window|
|
13
13
|
if window == 'first'
|
14
|
-
page.driver.browser.switch_to.window(
|
14
|
+
page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)
|
15
15
|
elsif window == 'last'
|
16
|
-
page.driver.browser.switch_to.window(
|
16
|
+
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
20
|
When /^I close window$/ do
|
21
|
-
page.execute_script(
|
22
|
-
page.driver.browser.switch_to.window(
|
21
|
+
page.execute_script('window.close();')
|
22
|
+
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
|
23
23
|
end
|
data/features/support/env.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
-
ENV['RAILS_ENV'] =
|
2
|
+
ENV['RAILS_ENV'] = 'cucumber'
|
3
3
|
|
4
|
-
require File.expand_path(
|
4
|
+
require File.expand_path('../../../lib/wagn/simplecov_helper.rb', __FILE__)
|
5
5
|
require 'simplecov'
|
6
6
|
require 'minitest/autorun'
|
7
7
|
|
@@ -43,7 +43,7 @@ ActionController::Base.allow_rescue = false
|
|
43
43
|
begin
|
44
44
|
DatabaseCleaner.strategy = :transaction
|
45
45
|
rescue NameError
|
46
|
-
raise
|
46
|
+
raise 'You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it.'
|
47
47
|
end
|
48
48
|
|
49
49
|
# You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
|
data/features/support/paths.rb
CHANGED
@@ -6,7 +6,7 @@ module NavigationHelpers
|
|
6
6
|
#
|
7
7
|
# step definition in web_steps.rb
|
8
8
|
#
|
9
|
-
def path_to
|
9
|
+
def path_to page_name
|
10
10
|
case page_name
|
11
11
|
|
12
12
|
when /the home\s?page/
|
@@ -19,37 +19,37 @@ module NavigationHelpers
|
|
19
19
|
# user_profile_path(Auth[ $1 ])
|
20
20
|
|
21
21
|
when /card (.*) with (.*) layout$/
|
22
|
-
"/#{
|
22
|
+
"/#{Regexp.last_match(1).to_name.url_key}?layout=$2"
|
23
23
|
|
24
24
|
when /card (.*)$/
|
25
|
-
"/#{
|
25
|
+
"/#{Regexp.last_match(1).to_name.url_key}"
|
26
26
|
|
27
27
|
when /new (.*) presetting name to "(.*)" and author to "(.*)"/
|
28
|
-
url = "/new/#{
|
28
|
+
url = "/new/#{Regexp.last_match(1)}?card[name]=#{Regexp.last_match(2).to_name.url_key}&_author=#{CGI.escape(Regexp.last_match(3))}"
|
29
29
|
|
30
30
|
when /new card named (.*)$/
|
31
|
-
"/card/new?card[name]=#{CGI.escape(
|
31
|
+
"/card/new?card[name]=#{CGI.escape(Regexp.last_match(1))}"
|
32
32
|
|
33
33
|
when /edit (.*)$/
|
34
|
-
"/#{
|
34
|
+
"/#{Regexp.last_match(1).to_name.url_key}?view=edit"
|
35
35
|
|
36
36
|
when /new (.*)$/
|
37
|
-
"/new/#{
|
37
|
+
"/new/#{Regexp.last_match(1).to_name.url_key}"
|
38
38
|
|
39
39
|
when /kml source/
|
40
|
-
|
40
|
+
'/House+*type+by_name.kml'
|
41
41
|
|
42
42
|
when /url "(.*)"/
|
43
|
-
|
43
|
+
Regexp.last_match(1).to_s
|
44
44
|
|
45
45
|
else
|
46
46
|
begin
|
47
47
|
page_name =~ /the (.*) page/
|
48
|
-
path_components =
|
49
|
-
|
48
|
+
path_components = Regexp.last_match(1).split(/\s+/)
|
49
|
+
send(path_components.push('path').join('_').to_sym)
|
50
50
|
rescue Object => e
|
51
|
-
raise "#{e.message} Can't find mapping from \"#{page_name}\" to a path.\n"
|
52
|
-
|
51
|
+
raise "#{e.message} Can't find mapping from \"#{page_name}\" to a path.\n" \
|
52
|
+
"Now, go and add a mapping in #{__FILE__}"
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
data/features/support/scopes.rb
CHANGED
@@ -22,8 +22,8 @@ module ScopeHelpers
|
|
22
22
|
'#main > .card-slot > .card-frame'
|
23
23
|
|
24
24
|
else
|
25
|
-
raise "Can't find mapping from \"#{section}\" to a scope.\n"
|
26
|
-
|
25
|
+
raise "Can't find mapping from \"#{section}\" to a scope.\n" \
|
26
|
+
"Now, go and add a mapping in #{__FILE__}"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
data/lib/decko/engine.rb
CHANGED
@@ -16,15 +16,13 @@ require 'builder'
|
|
16
16
|
require 'wagn'
|
17
17
|
|
18
18
|
module Decko
|
19
|
-
|
20
19
|
class Engine < ::Rails::Engine
|
21
|
-
|
22
|
-
paths.add "app/controllers", with: 'rails/controllers', eager_load: true
|
20
|
+
paths.add 'app/controllers', with: 'rails/controllers', eager_load: true
|
23
21
|
paths.add 'gem-assets', with: 'rails/assets'
|
24
22
|
paths.add 'config/routes.rb', with: 'rails/engine-routes.rb'
|
25
23
|
paths.add 'lib/tasks', with: "#{::Wagn.gem_root}/lib/wagn/tasks", glob: '**/*.rake'
|
26
24
|
paths.add 'lib/wagn/config/initializers',
|
27
|
-
with: File.join(
|
25
|
+
with: File.join(Wagn.gem_root, 'lib/wagn/config/initializers'), glob: '**/*.rb'
|
28
26
|
|
29
27
|
initializer 'decko.engine.load_config_initializers', after: :load_config_initializers do
|
30
28
|
paths['lib/wagn/config/initializers'].existent.sort.each do |initializer|
|
@@ -33,8 +31,8 @@ module Decko
|
|
33
31
|
end
|
34
32
|
|
35
33
|
initializer 'engine.copy_configs', before: 'decko.engine.load_config_initializers' do
|
36
|
-
#this code should all be in Wagn somewhere, and it is now, gem-wize
|
37
|
-
#Ideally railties would do this for us, and this is needed for both use cases
|
34
|
+
# this code should all be in Wagn somewhere, and it is now, gem-wize
|
35
|
+
# Ideally railties would do this for us, and this is needed for both use cases
|
38
36
|
Engine.paths['request_log'] = Wagn.paths['request_log']
|
39
37
|
Engine.paths['log'] = Wagn.paths['log']
|
40
38
|
Engine.paths['lib/tasks'] = Wagn.paths['lib/tasks']
|
@@ -46,13 +44,12 @@ module Decko
|
|
46
44
|
ActiveRecord::Base.establish_connection(::Rails.env.to_sym)
|
47
45
|
end
|
48
46
|
ActiveSupport.on_load(:after_initialize) do
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
47
|
+
begin
|
48
|
+
require_dependency 'card' unless defined?(Card)
|
49
|
+
rescue ActiveRecord::StatementInvalid => e
|
50
|
+
::Rails.logger.warn "database not available[#{::Rails.env}] #{e}"
|
51
|
+
end
|
54
52
|
end
|
55
53
|
end
|
56
54
|
end
|
57
55
|
end
|
58
|
-
|