editorial_logic 1.1.5 → 1.1.6

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/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
  source 'http://jose.seologic.com:8808/'
3
3
 
4
4
  gem 'bson_ext'
5
- gem 'carrierwave'
5
+ gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
6
6
  gem 'ckeditor', :git => 'git://github.com/Bantik/rails-ckeditor.git', :branch => 'rails3_mongoid'
7
7
  gem 'fastercsv'
8
8
  gem 'mongoid'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.5
1
+ 1.1.6
@@ -1,13 +1,10 @@
1
- require 'carrierwave/orm/mongoid'
2
-
3
1
  class ManagedContent
4
-
5
2
  include EditorialLogic::Base
6
3
  include Mongoid::Document
7
4
  include Mongoid::Timestamps
8
5
 
9
6
  store_in :documents
10
- mount_uploader :document, DocumentUploader
7
+ mount_uploader :document, DocumentUploader, :mount_on => :document_filename
11
8
 
12
9
  # Mongo Config ===================================================================================
13
10
 
@@ -38,7 +38,7 @@
38
38
 
39
39
  <fieldset class="form_container" id="references_section">
40
40
  <%= legend_tag 'References', :help => 'Add information about any external references that are related to this content.' -%>
41
- <%= f.cktext_area :references, :toolbar => 'Basic', :width => '900px'-%>
41
+ <%= f.cktext_area :references, :toolbar => 'Full', :width => '900px'-%>
42
42
  </fieldset>
43
43
 
44
44
  <%- if @publication.managed_contents.count > 1 -%>
@@ -13,8 +13,8 @@
13
13
  </div>
14
14
  <br style="clear: both;" />
15
15
  <%= f.label 'Answer', :for => :content -%>
16
- <%= f.cktext_area :content, :toolbar => 'Basic', :width => '900px' -%>
16
+ <%= f.cktext_area :content, :toolbar => 'Full', :width => '900px' -%>
17
17
  <br style="clear: both;" />
18
18
  <%= f.label 'References', :for => :references -%>
19
- <%= f.cktext_area :references, :toolbar => 'Basic', :width => '900px' -%>
19
+ <%= f.cktext_area :references, :toolbar => 'Full', :width => '900px' -%>
20
20
  </fieldset>
@@ -35,5 +35,5 @@
35
35
  </tbody>
36
36
  </table>
37
37
 
38
- <%= sortable_element 'content_list', :update => nil, :url => admin_publication_reorder_managed_contents_path(@publication), :method => :put, :tag => 'tr' -%>
38
+ <%= sortable_element 'content_list', :update => nil, :url => admin_publication_reorder_managed_contents_path(@publication), :method => :put, :tag => 'tr' unless Rails.env.test? -%>
39
39
  <%- end -%>
@@ -9,12 +9,12 @@
9
9
  </div>
10
10
  <br style="clear: both;" />
11
11
  <label>Definition</label><br />
12
- <%= f.cktext_area :content, :toolbar => 'Basic', :width => '900px' -%>
12
+ <%= f.cktext_area :content, :toolbar => 'Full', :width => '900px' -%>
13
13
  </fieldset>
14
14
 
15
15
  <fieldset class="form_container">
16
16
  <%= legend_tag 'References' -%>
17
- <%= f.cktext_area :references, :toolbar => 'Basic', :width => '900px' -%>
17
+ <%= f.cktext_area :references, :toolbar => 'Full', :width => '900px' -%>
18
18
  </fieldset>
19
19
 
20
20
  <fieldset class="form_container">
@@ -32,6 +32,6 @@
32
32
  </tbody>
33
33
  </table>
34
34
 
35
- <%= sortable_element 'content_list', :update => nil, :url => admin_publication_managed_content_reorder_sections_path(@publication, @managed_content), :method => :put, :tag => 'tr' -%>
35
+ <%= sortable_element 'content_list', :update => nil, :url => admin_publication_managed_content_reorder_sections_path(@publication, @managed_content), :method => :put, :tag => 'tr' unless Rails.env.test? -%>
36
36
 
37
37
  <%- end -%>
@@ -28,12 +28,6 @@
28
28
  <%- flash.each do |name, msg| -%>
29
29
  <%- if name == :notice -%>
30
30
  <%= content_tag :div, msg, :id => "flash_#{name}", :class => "flash_#{name}", :style => "display:none;" -%>
31
- <script type="text/javascript">
32
- $('washout').toggle();
33
- $('flash_notice').toggle();
34
- <%= visual_effect(:fade, 'flash_notice', :duration => 1.0, :delay => 1.0).html_safe -%>
35
- <%= visual_effect(:fade, 'washout', :duration => 1.0, :delay => 1.0).html_safe -%>
36
- </script>
37
31
  <%- else -%>
38
32
  <%= content_tag :div, msg, :id => "flash_#{name}", :class => "flash_#{name}" -%>
39
33
  <%- end -%>
@@ -11,7 +11,7 @@ EditorialLogic::Application.configure do
11
11
 
12
12
  # Show full error reports and disable caching
13
13
  config.consider_all_requests_local = true
14
- config.action_view.debug_rjs = true
14
+ # config.action_view.debug_rjs = true
15
15
  config.action_controller.perform_caching = false
16
16
 
17
17
  # Don't care if the mailer can't send
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{editorial_logic}
8
- s.version = "1.1.5"
8
+ s.version = "1.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bantik"]
12
- s.date = %q{2011-08-30}
12
+ s.date = %q{2011-08-31}
13
13
  s.description = %q{An engine for enabling managed content, including articles, blogs, FAQs and glossaries.}
14
14
  s.email = %q{corey@seologic.com}
15
15
  s.files = [
@@ -96,6 +96,7 @@ Gem::Specification.new do |s|
96
96
  "features/support/env.rb",
97
97
  "features/support/hooks.rb",
98
98
  "features/support/paths.rb",
99
+ "features/support/selectors.rb",
99
100
  "init.rb",
100
101
  "lib/editorial_logic.rb",
101
102
  "lib/editorial_logic/engine.rb",
@@ -146,7 +147,6 @@ Gem::Specification.new do |s|
146
147
  "public/images/layout/th_bg.png",
147
148
  "public/images/layout/th_bg_selected.png",
148
149
  "public/index.html",
149
- "public/javascripts/application.js",
150
150
  "public/javascripts/ckeditor/.htaccess",
151
151
  "public/javascripts/ckeditor/CHANGES.html",
152
152
  "public/javascripts/ckeditor/INSTALL.html",
@@ -820,7 +820,7 @@ Gem::Specification.new do |s|
820
820
 
821
821
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
822
822
  s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
823
- s.add_runtime_dependency(%q<carrierwave>, [">= 0"])
823
+ s.add_runtime_dependency(%q<carrierwave-mongoid>, [">= 0"])
824
824
  s.add_runtime_dependency(%q<ckeditor>, [">= 0"])
825
825
  s.add_runtime_dependency(%q<fastercsv>, [">= 0"])
826
826
  s.add_runtime_dependency(%q<mongoid>, [">= 0"])
@@ -831,7 +831,7 @@ Gem::Specification.new do |s|
831
831
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
832
832
  else
833
833
  s.add_dependency(%q<bson_ext>, [">= 0"])
834
- s.add_dependency(%q<carrierwave>, [">= 0"])
834
+ s.add_dependency(%q<carrierwave-mongoid>, [">= 0"])
835
835
  s.add_dependency(%q<ckeditor>, [">= 0"])
836
836
  s.add_dependency(%q<fastercsv>, [">= 0"])
837
837
  s.add_dependency(%q<mongoid>, [">= 0"])
@@ -843,7 +843,7 @@ Gem::Specification.new do |s|
843
843
  end
844
844
  else
845
845
  s.add_dependency(%q<bson_ext>, [">= 0"])
846
- s.add_dependency(%q<carrierwave>, [">= 0"])
846
+ s.add_dependency(%q<carrierwave-mongoid>, [">= 0"])
847
847
  s.add_dependency(%q<ckeditor>, [">= 0"])
848
848
  s.add_dependency(%q<fastercsv>, [">= 0"])
849
849
  s.add_dependency(%q<mongoid>, [">= 0"])
@@ -1,21 +1,46 @@
1
- # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
4
- # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
- # files.
1
+ # TL;DR: YOU SHOULD DELETE THIS FILE
2
+ #
3
+ # This file was generated by Cucumber-Rails and is only here to get you a head start
4
+ # These step definitions are thin wrappers around the Capybara/Webrat API that lets you
5
+ # visit pages, interact with widgets and make assertions about page content.
6
+ #
7
+ # If you use these step definitions as basis for your features you will quickly end up
8
+ # with features that are:
9
+ #
10
+ # * Hard to maintain
11
+ # * Verbose to read
12
+ #
13
+ # A much better approach is to write your own higher level step definitions, following
14
+ # the advice in the following blog posts:
15
+ #
16
+ # * http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html
17
+ # * http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/
18
+ # * http://elabs.se/blog/15-you-re-cuking-it-wrong
19
+ #
6
20
 
7
21
 
8
22
  require 'uri'
9
23
  require 'cgi'
10
24
  require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
25
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "selectors"))
11
26
 
12
27
  module WithinHelpers
13
28
  def with_scope(locator)
14
- locator ? within(locator) { yield } : yield
29
+ locator ? within(*selector_for(locator)) { yield } : yield
15
30
  end
16
31
  end
17
32
  World(WithinHelpers)
18
33
 
34
+ # Single-line step scoper
35
+ When /^(.*) within (.*[^:])$/ do |step, parent|
36
+ with_scope(parent) { When step }
37
+ end
38
+
39
+ # Multi-line step scoper
40
+ When /^(.*) within (.*[^:]):$/ do |step, parent, table_or_string|
41
+ with_scope(parent) { When "#{step}:", table_or_string }
42
+ end
43
+
19
44
  Given /^(?:|I )am on (.+)$/ do |page_name|
20
45
  visit path_to(page_name)
21
46
  end
@@ -24,28 +49,20 @@ When /^(?:|I )go to (.+)$/ do |page_name|
24
49
  visit path_to(page_name)
25
50
  end
26
51
 
27
- When /^(?:|I )press "([^"]*)"(?: within "([^"]*)")?$/ do |button, selector|
28
- with_scope(selector) do
29
- click_button(button)
30
- end
52
+ When /^(?:|I )press "([^"]*)"$/ do |button|
53
+ click_button(button)
31
54
  end
32
55
 
33
- When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector|
34
- with_scope(selector) do
35
- click_link(link)
36
- end
56
+ When /^(?:|I )follow "([^"]*)"$/ do |link|
57
+ click_link(link)
37
58
  end
38
59
 
39
- When /^(?:|I )fill in "([^"]*)" with "([^"]*)"(?: within "([^"]*)")?$/ do |field, value, selector|
40
- with_scope(selector) do
41
- fill_in(field, :with => value)
42
- end
60
+ When /^(?:|I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
61
+ fill_in(field, :with => value)
43
62
  end
44
63
 
45
- When /^(?:|I )fill in "([^"]*)" for "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
46
- with_scope(selector) do
47
- fill_in(field, :with => value)
48
- end
64
+ When /^(?:|I )fill in "([^"]*)" for "([^"]*)"$/ do |value, field|
65
+ fill_in(field, :with => value)
49
66
  end
50
67
 
51
68
  # Use this to fill in an entire form with data from a table. Example:
@@ -59,95 +76,70 @@ end
59
76
  # TODO: Add support for checkbox, select og option
60
77
  # based on naming conventions.
61
78
  #
62
- When /^(?:|I )fill in the following(?: within "([^"]*)")?:$/ do |selector, fields|
63
- with_scope(selector) do
64
- fields.rows_hash.each do |name, value|
65
- When %{I fill in "#{name}" with "#{value}"}
66
- end
67
- end
68
- end
69
-
70
- When /^(?:|I )select "([^"]*)" from "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
71
- with_scope(selector) do
72
- select(value, :from => field)
79
+ When /^(?:|I )fill in the following:$/ do |fields|
80
+ fields.rows_hash.each do |name, value|
81
+ When %{I fill in "#{name}" with "#{value}"}
73
82
  end
74
83
  end
75
84
 
76
- When /^(?:|I )check "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
77
- with_scope(selector) do
78
- check(field)
79
- end
85
+ When /^(?:|I )select "([^"]*)" from "([^"]*)"$/ do |value, field|
86
+ select(value, :from => field)
80
87
  end
81
88
 
82
- When /^(?:|I )uncheck "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
83
- with_scope(selector) do
84
- uncheck(field)
85
- end
89
+ When /^(?:|I )check "([^"]*)"$/ do |field|
90
+ check(field)
86
91
  end
87
92
 
88
- When /^(?:|I )choose "([^"]*)"(?: within "([^"]*)")?$/ do |field, selector|
89
- with_scope(selector) do
90
- choose(field)
91
- end
93
+ When /^(?:|I )uncheck "([^"]*)"$/ do |field|
94
+ uncheck(field)
92
95
  end
93
96
 
94
- When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"(?: within "([^"]*)")?$/ do |path, field, selector|
95
- with_scope(selector) do
96
- attach_file(field, path)
97
- end
97
+ When /^(?:|I )choose "([^"]*)"$/ do |field|
98
+ choose(field)
98
99
  end
99
100
 
100
- Then /^(?:|I )should see JSON:$/ do |expected_json|
101
- require 'json'
102
- expected = JSON.pretty_generate(JSON.parse(expected_json))
103
- actual = JSON.pretty_generate(JSON.parse(response.body))
104
- expected.should == actual
101
+ When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field|
102
+ attach_file(field, File.expand_path(path))
105
103
  end
106
104
 
107
- Then /^(?:|I )should see "([^"]*)"(?: within "([^"]*)")?$/ do |text, selector|
108
- with_scope(selector) do
109
- if page.respond_to? :should
110
- page.should have_content(text)
111
- else
112
- assert page.has_content?(text)
113
- end
105
+ Then /^(?:|I )should see "([^"]*)"$/ do |text|
106
+ if page.respond_to? :should
107
+ page.should have_content(text)
108
+ else
109
+ assert page.has_content?(text)
114
110
  end
115
111
  end
116
112
 
117
- Then /^(?:|I )should see \/([^\/]*)\/(?: within "([^"]*)")?$/ do |regexp, selector|
113
+ Then /^(?:|I )should see \/([^\/]*)\/$/ do |regexp|
118
114
  regexp = Regexp.new(regexp)
119
- with_scope(selector) do
120
- if page.respond_to? :should
121
- page.should have_xpath('//*', :text => regexp)
122
- else
123
- assert page.has_xpath?('//*', :text => regexp)
124
- end
115
+
116
+ if page.respond_to? :should
117
+ page.should have_xpath('//*', :text => regexp)
118
+ else
119
+ assert page.has_xpath?('//*', :text => regexp)
125
120
  end
126
121
  end
127
122
 
128
- Then /^(?:|I )should not see "([^"]*)"(?: within "([^"]*)")?$/ do |text, selector|
129
- with_scope(selector) do
130
- if page.respond_to? :should
131
- page.should have_no_content(text)
132
- else
133
- assert page.has_no_content?(text)
134
- end
123
+ Then /^(?:|I )should not see "([^"]*)"$/ do |text|
124
+ if page.respond_to? :should
125
+ page.should have_no_content(text)
126
+ else
127
+ assert page.has_no_content?(text)
135
128
  end
136
129
  end
137
130
 
138
- Then /^(?:|I )should not see \/([^\/]*)\/(?: within "([^"]*)")?$/ do |regexp, selector|
131
+ Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
139
132
  regexp = Regexp.new(regexp)
140
- with_scope(selector) do
141
- if page.respond_to? :should
142
- page.should have_no_xpath('//*', :text => regexp)
143
- else
144
- assert page.has_no_xpath?('//*', :text => regexp)
145
- end
133
+
134
+ if page.respond_to? :should
135
+ page.should have_no_xpath('//*', :text => regexp)
136
+ else
137
+ assert page.has_no_xpath?('//*', :text => regexp)
146
138
  end
147
139
  end
148
140
 
149
- Then /^the "([^"]*)" field(?: within "([^"]*)")? should contain "([^"]*)"$/ do |field, selector, value|
150
- with_scope(selector) do
141
+ Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value|
142
+ with_scope(parent) do
151
143
  field = find_field(field)
152
144
  field_value = (field.tag_name == 'textarea') ? field.text : field.value
153
145
  if field_value.respond_to? :should
@@ -158,8 +150,8 @@ Then /^the "([^"]*)" field(?: within "([^"]*)")? should contain "([^"]*)"$/ do |
158
150
  end
159
151
  end
160
152
 
161
- Then /^the "([^"]*)" field(?: within "([^"]*)")? should not contain "([^"]*)"$/ do |field, selector, value|
162
- with_scope(selector) do
153
+ Then /^the "([^"]*)" field(?: within (.*))? should not contain "([^"]*)"$/ do |field, parent, value|
154
+ with_scope(parent) do
163
155
  field = find_field(field)
164
156
  field_value = (field.tag_name == 'textarea') ? field.text : field.value
165
157
  if field_value.respond_to? :should_not
@@ -170,8 +162,8 @@ Then /^the "([^"]*)" field(?: within "([^"]*)")? should not contain "([^"]*)"$/
170
162
  end
171
163
  end
172
164
 
173
- Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should be checked$/ do |label, selector|
174
- with_scope(selector) do
165
+ Then /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/ do |label, parent|
166
+ with_scope(parent) do
175
167
  field_checked = find_field(label)['checked']
176
168
  if field_checked.respond_to? :should
177
169
  field_checked.should be_true
@@ -181,8 +173,8 @@ Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should be checked$/ do |labe
181
173
  end
182
174
  end
183
175
 
184
- Then /^the "([^"]*)" checkbox(?: within "([^"]*)")? should not be checked$/ do |label, selector|
185
- with_scope(selector) do
176
+ Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label, parent|
177
+ with_scope(parent) do
186
178
  field_checked = find_field(label)['checked']
187
179
  if field_checked.respond_to? :should
188
180
  field_checked.should be_false
@@ -4,28 +4,47 @@
4
4
  # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
5
  # files.
6
6
 
7
- ENV["RAILS_ENV"] = "test"
8
- require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
9
-
10
- require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
11
- require 'cucumber/rails/rspec'
12
- require 'cucumber/rails/world'
13
- require 'cucumber/web/tableish'
14
- require 'capybara/rails'
15
- require 'capybara/cucumber'
16
- require 'capybara/session'
17
- require 'be_valid_asset'
18
- require 'mongoid'
19
- require 'database_cleaner'
20
- require 'database_cleaner/cucumber'
7
+ require 'cucumber/rails'
21
8
 
22
9
  # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
23
10
  # order to ease the transition to Capybara we set the default here. If you'd
24
11
  # prefer to use XPath just remove this line and adjust any selectors in your
25
12
  # steps to use the XPath syntax.
26
13
  Capybara.default_selector = :css
27
- Capybara.save_and_open_page_path = Rails.root + 'tmp'
28
14
 
29
- # How to clean your database when transactions are turned off. See
30
- # http://github.com/bmabey/database_cleaner for more info.
31
- DatabaseCleaner.strategy = :truncation
15
+ # By default, any exception happening in your Rails application will bubble up
16
+ # to Cucumber so that your scenario will fail. This is a different from how
17
+ # your application behaves in the production environment, where an error page will
18
+ # be rendered instead.
19
+ #
20
+ # Sometimes we want to override this default behaviour and allow Rails to rescue
21
+ # exceptions and display an error page (just like when the app is running in production).
22
+ # Typical scenarios where you want to do this is when you test your error pages.
23
+ # There are two ways to allow Rails to rescue exceptions:
24
+ #
25
+ # 1) Tag your scenario (or feature) with @allow-rescue
26
+ #
27
+ # 2) Set the value below to true. Beware that doing this globally is not
28
+ # recommended as it will mask a lot of errors for you!
29
+ #
30
+ ActionController::Base.allow_rescue = false
31
+
32
+ # Remove/comment out the lines below if your app doesn't have a database.
33
+ # For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
34
+ begin
35
+ DatabaseCleaner.strategy = :truncation
36
+ rescue NameError
37
+ raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
38
+ end
39
+
40
+ # You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
41
+ # See the DatabaseCleaner documentation for details. Example:
42
+ #
43
+ # Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
44
+ # DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]}
45
+ # end
46
+ #
47
+ # Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
48
+ # DatabaseCleaner.strategy = :transaction
49
+ # end
50
+ #
@@ -8,7 +8,7 @@ module NavigationHelpers
8
8
  def path_to(page_name)
9
9
  case page_name
10
10
 
11
- when /the home\s?page/
11
+ when /^the home\s?page$/
12
12
  '/'
13
13
 
14
14
  # Add more mappings here.
@@ -19,10 +19,10 @@ module NavigationHelpers
19
19
 
20
20
  else
21
21
  begin
22
- page_name =~ /the (.*) page/
22
+ page_name =~ /^the (.*) page$/
23
23
  path_components = $1.split(/\s+/)
24
24
  self.send(path_components.push('path').join('_').to_sym)
25
- rescue Object => e
25
+ rescue NoMethodError, ArgumentError
26
26
  raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
27
27
  "Now, go and add a mapping in #{__FILE__}"
28
28
  end
@@ -0,0 +1,39 @@
1
+ module HtmlSelectorsHelpers
2
+ # Maps a name to a selector. Used primarily by the
3
+ #
4
+ # When /^(.+) within (.+)$/ do |step, scope|
5
+ #
6
+ # step definitions in web_steps.rb
7
+ #
8
+ def selector_for(locator)
9
+ case locator
10
+
11
+ when "the page"
12
+ "html > body"
13
+
14
+ # Add more mappings here.
15
+ # Here is an example that pulls values out of the Regexp:
16
+ #
17
+ # when /^the (notice|error|info) flash$/
18
+ # ".flash.#{$1}"
19
+
20
+ # You can also return an array to use a different selector
21
+ # type, like:
22
+ #
23
+ # when /the header/
24
+ # [:xpath, "//header"]
25
+
26
+ # This allows you to provide a quoted selector as the scope
27
+ # for "within" steps as was previously the default for the
28
+ # web steps:
29
+ when /^"(.+)"$/
30
+ $1
31
+
32
+ else
33
+ raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
34
+ "Now, go and add a mapping in #{__FILE__}"
35
+ end
36
+ end
37
+ end
38
+
39
+ World(HtmlSelectorsHelpers)
@@ -1,9 +1,6 @@
1
1
  module EditorialLogic
2
- require 'mongoid'
3
2
  require 'editorial_logic/railtie.rb' if defined?(Rails)
4
3
  require 'editorial_logic/engine.rb' if defined?(Rails)
5
- require 'carrierwave'
6
- require 'carrierwave/orm/mongoid'
7
4
 
8
5
  def self.setup
9
6
  yield self
@@ -1,6 +1,6 @@
1
1
  # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
4
  # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
5
  # files.
6
6
 
@@ -32,15 +32,14 @@ begin
32
32
  t.profile = 'rerun'
33
33
  end
34
34
 
35
- Cucumber::Rake::Task.new(:features) do |t|
36
- t.cucumber_opts = "--format pretty"
37
- t.rcov = true
38
- end
39
-
40
- task :features => 'db:test:prepare'
41
-
42
35
  desc 'Run all features'
43
36
  task :all => [:ok, :wip]
37
+
38
+ task :statsetup do
39
+ require 'rails/code_statistics'
40
+ ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
41
+ ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features')
42
+ end
44
43
  end
45
44
  desc 'Alias for cucumber:ok'
46
45
  task :cucumber => 'cucumber:ok'
@@ -50,6 +49,12 @@ begin
50
49
  task :features => :cucumber do
51
50
  STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
52
51
  end
52
+
53
+ # In case we don't have ActiveRecord, append a no-op task that we can depend upon.
54
+ task 'db:test:prepare' do
55
+ end
56
+
57
+ task :stats => 'cucumber:statsetup'
53
58
  rescue LoadError
54
59
  desc 'cucumber rake task not available (cucumber not installed)'
55
60
  task :cucumber do
@@ -2,4 +2,4 @@ include BeValidAsset
2
2
 
3
3
  # BeValidAsset::Configuration.display_invalid_content = true
4
4
  BeValidAsset::Configuration.enable_caching = true
5
- BeValidAsset::Configuration.cache_path = File.join(RAILS_ROOT, %w(tmp be_valid_asset_cache))
5
+ BeValidAsset::Configuration.cache_path = File.join(Rails.root, %w(tmp be_valid_asset_cache))
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: editorial_logic
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 5
10
- version: 1.1.5
9
+ - 6
10
+ version: 1.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bantik
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-30 00:00:00 -05:00
18
+ date: 2011-08-31 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -33,7 +33,7 @@ dependencies:
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: carrierwave
36
+ name: carrierwave-mongoid
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -254,6 +254,7 @@ files:
254
254
  - features/support/env.rb
255
255
  - features/support/hooks.rb
256
256
  - features/support/paths.rb
257
+ - features/support/selectors.rb
257
258
  - init.rb
258
259
  - lib/editorial_logic.rb
259
260
  - lib/editorial_logic/engine.rb
@@ -304,7 +305,6 @@ files:
304
305
  - public/images/layout/th_bg.png
305
306
  - public/images/layout/th_bg_selected.png
306
307
  - public/index.html
307
- - public/javascripts/application.js
308
308
  - public/javascripts/ckeditor/.htaccess
309
309
  - public/javascripts/ckeditor/CHANGES.html
310
310
  - public/javascripts/ckeditor/INSTALL.html
@@ -1,2 +0,0 @@
1
- // Place your application-specific JavaScript functions and classes here
2
- // This file is automatically included by javascript_include_tag :defaults