refinerycms-core 2.0.10 → 2.1.0
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/refinery/admin.js.erb +126 -234
- data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +1 -1
- data/app/assets/javascripts/refinery/boot_wym.js.erb +4 -8
- data/app/assets/javascripts/refinery/core.js +1 -1
- data/app/assets/javascripts/refinery/interface.js.coffee.erb +3 -16
- data/app/assets/javascripts/refinery/modal_dialogs.js.erb +0 -3
- data/app/assets/javascripts/refinery/nestedsortables.js +312 -312
- data/app/assets/javascripts/refinery/refinery.js.erb +14 -15
- data/app/assets/javascripts/refinery/site_bar.js +3 -9
- data/app/assets/javascripts/refinery/sortable_list.js +145 -0
- data/app/assets/javascripts/refinery/sortable_menu.js.coffee +3 -4
- data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +1 -2
- data/app/assets/javascripts/refinery/tree.js +3 -3
- data/app/assets/javascripts/refinery/wymeditor.js +6 -6
- data/{public → app/assets/javascripts}/wymeditor/GPL-license.txt +0 -0
- data/{public → app/assets/javascripts}/wymeditor/MIT-license.txt +0 -0
- data/{public → app/assets/javascripts}/wymeditor/README +0 -0
- data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +10 -11
- data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +17 -18
- data/app/assets/javascripts/wymeditor/classes.js.erb +3 -5
- data/app/assets/javascripts/wymeditor/functions.js.erb +5 -1
- data/app/assets/javascripts/wymeditor/prototypes.js.erb +0 -3
- data/app/assets/javascripts/wymeditor/setup.js.erb +5 -5
- data/app/assets/javascripts/wymeditor/skins/refinery/skin.js +1 -4
- data/app/assets/javascripts/wymeditor/validators.js.erb +3 -2
- data/app/assets/stylesheets/{formatting.css.scss → refinery/formatting.css.scss} +0 -0
- data/app/assets/stylesheets/refinery/layout.css.scss +41 -11
- data/app/assets/stylesheets/{theme.css.scss → refinery/theme.css.scss} +0 -0
- data/app/controllers/refinery/sitemap_controller.rb +1 -5
- data/app/helpers/refinery/admin_helper.rb +6 -0
- data/app/helpers/refinery/image_helper.rb +2 -1
- data/app/helpers/refinery/menu_helper.rb +0 -49
- data/app/helpers/refinery/meta_helper.rb +7 -3
- data/app/helpers/refinery/site_bar_helper.rb +3 -15
- data/app/models/refinery/core/base_model.rb +2 -0
- data/{lib → app/presenters}/refinery/base_presenter.rb +1 -2
- data/app/views/layouts/application.html.erb +8 -7
- data/app/views/refinery/_content_page.html.erb +1 -1
- data/app/views/refinery/_google_analytics.html.erb +12 -5
- data/app/views/refinery/_head.html.erb +11 -15
- data/app/views/refinery/_header.html.erb +1 -4
- data/app/views/refinery/_javascripts.html.erb +14 -8
- data/app/views/refinery/_site_bar.html.erb +4 -4
- data/app/views/refinery/admin/_form_advanced_options_menu.html.erb +12 -0
- data/app/views/refinery/admin/_javascripts.html.erb +13 -1
- data/app/views/refinery/admin/_locale_picker.html.erb +11 -0
- data/app/views/refinery/admin/_make_sortable.html.erb +8 -5
- data/app/views/refinery/admin/_search.html.erb +1 -7
- data/app/views/refinery/admin/_search_header.html.erb +1 -0
- data/app/views/refinery/admin/_wysiwyg.html.erb +16 -0
- data/config/initializers/will_paginate_monkeypatch.rb +1 -1
- data/config/locales/bg.yml +5 -1
- data/config/locales/cs.yml +5 -1
- data/config/locales/da.yml +5 -1
- data/config/locales/de.yml +7 -3
- data/config/locales/el.yml +5 -1
- data/config/locales/en.yml +7 -1
- data/config/locales/es.yml +5 -1
- data/config/locales/fi.yml +5 -1
- data/config/locales/fr.yml +5 -1
- data/config/locales/hu.yml +82 -0
- data/config/locales/it.yml +38 -34
- data/config/locales/ja.yml +5 -1
- data/config/locales/ko.yml +5 -1
- data/config/locales/lt.yml +5 -1
- data/config/locales/lv.yml +5 -1
- data/config/locales/nb.yml +5 -1
- data/config/locales/nl.yml +36 -29
- data/config/locales/pl.yml +8 -1
- data/config/locales/pt-BR.yml +7 -3
- data/config/locales/pt.yml +82 -0
- data/config/locales/rs.yml +5 -1
- data/config/locales/ru.yml +5 -1
- data/config/locales/sk.yml +10 -3
- data/config/locales/sl.yml +5 -1
- data/config/locales/sv.yml +5 -1
- data/config/locales/tr.yml +82 -0
- data/config/locales/uk.yml +77 -0
- data/config/locales/vi.yml +5 -1
- data/config/locales/zh-CN.yml +5 -1
- data/config/locales/zh-TW.yml +5 -1
- data/config/routes.rb +3 -3
- data/lib/generators/refinery/cms/cms_generator.rb +29 -0
- data/lib/generators/refinery/cms/templates/.gitignore +1 -0
- data/lib/generators/refinery/cms/templates/app/views/sitemap/index.xml.builder +13 -13
- data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +8 -12
- data/lib/generators/refinery/dummy/templates/rails/database.yml +3 -3
- data/lib/generators/refinery/engine/engine_generator.rb +8 -12
- data/lib/generators/refinery/engine/templates/Gemfile +5 -39
- data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb.erb +4 -4
- data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb.erb +2 -3
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +1 -1
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +31 -33
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +1 -3
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +2 -2
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +1 -1
- data/lib/generators/refinery/engine/templates/config/locales/cs.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/locales/it.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/locales/nl.yml +6 -6
- data/lib/generators/refinery/engine/templates/config/locales/tr.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/routes.rb.erb +2 -2
- data/lib/generators/refinery/engine/templates/db/seeds.rb.erb +1 -1
- data/lib/generators/refinery/engine/templates/lib/generators/refinery/extension_plural_name_generator.rb.erb +1 -1
- data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb.erb +1 -1
- data/lib/generators/refinery/engine/templates/spec/{requests → features}/refinery/namespace/admin/plural_name_spec.rb.erb +1 -1
- data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +25 -49
- data/lib/generators/refinery/form/form_generator.rb +1 -13
- data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb.erb +0 -4
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +2 -2
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +7 -6
- data/lib/generators/refinery/form/templates/config/locales/nl.yml +29 -29
- data/lib/generators/refinery/form/templates/config/locales/tr.yml +78 -0
- data/lib/generators/refinery/form/templates/config/routes.rb.erb +1 -1
- data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb.erb +2 -6
- data/lib/generators/refinery/form/templates/db/seeds.rb.erb +1 -1
- data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb.erb +1 -1
- data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +2 -5
- data/lib/refinery.rb +191 -0
- data/lib/refinery/admin/base_controller.rb +27 -16
- data/lib/refinery/application_controller.rb +15 -47
- data/lib/refinery/cli.rb +48 -27
- data/lib/refinery/core.rb +7 -183
- data/lib/refinery/core/configuration.rb +17 -9
- data/lib/refinery/core/engine.rb +11 -47
- data/lib/refinery/crud.rb +81 -66
- data/lib/refinery/engine.rb +52 -55
- data/lib/refinery/ext/action_view/helpers/form_builder.rb +2 -0
- data/lib/refinery/extension_generation.rb +208 -110
- data/lib/refinery/menu.rb +16 -7
- data/lib/refinery/menu_item.rb +56 -54
- data/lib/refinery/plugin.rb +11 -3
- data/lib/refinery/plugins.rb +14 -1
- data/lib/refinery/version.rb +3 -3
- data/refinerycms-core.gemspec +11 -10
- data/spec/controllers/refinery/admin/dummy_controller_spec.rb +57 -0
- data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +3 -4
- data/spec/controllers/refinery/sitemap_controller_spec.rb +1 -14
- data/spec/{requests → features}/refinery/admin/custom_assets_spec.rb +1 -1
- data/spec/{requests → features}/refinery/admin/dialogs_spec.rb +1 -1
- data/spec/features/refinery/admin/xhr_paging_spec.rb +55 -0
- data/spec/features/refinery/application_layout_spec.rb +19 -0
- data/spec/features/refinery/core_spec.rb +14 -0
- data/spec/{requests → features}/refinery/site_bar_spec.rb +1 -1
- data/spec/helpers/refinery/meta_helper_spec.rb +25 -0
- data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +61 -0
- data/spec/lib/generators/refinery/engine/engine_generator_multiple_resources_spec.rb +28 -1
- data/spec/lib/generators/refinery/engine/engine_generator_sanity_check_spec.rb +7 -7
- data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +69 -8
- data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +0 -2
- data/spec/lib/generators/refinery/form/form_generator_spec.rb +9 -1
- data/spec/lib/refinery/application_controller_spec.rb +48 -63
- data/spec/lib/refinery/cli_spec.rb +136 -0
- data/spec/lib/refinery/core/configuration_spec.rb +17 -0
- data/spec/lib/refinery/core_spec.rb +19 -13
- data/spec/lib/refinery/crud_spec.rb +0 -4
- data/spec/lib/refinery/menu_spec.rb +16 -26
- data/spec/support/refinery.rb +6 -1
- data/{app → vendor}/assets/javascripts/jquery/GPL-LICENSE.txt +0 -0
- data/{app → vendor}/assets/javascripts/jquery/MIT-LICENSE.txt +0 -0
- data/vendor/assets/javascripts/jquery/jquery.browser.js +49 -0
- data/{app → vendor}/assets/javascripts/jquery/jquery.html5-placeholder-shim.js +0 -0
- data/{app → vendor}/assets/javascripts/jquery/jquery.jcarousel.js +0 -0
- data/{app → vendor}/assets/javascripts/jquery/jquery.textTruncate.js +0 -0
- data/{app → vendor}/assets/javascripts/jquery/jquery.timers.js +0 -0
- data/{app → vendor}/assets/javascripts/modernizr-min.js +0 -0
- metadata +231 -78
- data/app/assets/images/refinery/resolve_digital_footer_logo.png +0 -0
- data/app/assets/javascripts/dd_belatedpng.js +0 -13
- data/app/assets/javascripts/jquery/jquery.corner.js +0 -345
- data/app/assets/stylesheets/application.css.scss +0 -55
- data/app/assets/stylesheets/home.css.scss +0 -3
- data/app/views/refinery/_ie6check.html.erb +0 -63
- data/app/views/refinery/_menu.html.erb +0 -20
- data/app/views/refinery/_menu_branch.html.erb +0 -19
- data/lib/generators/refinery/engine/templates/Guardfile +0 -27
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_locale_picker.html.erb +0 -11
- data/lib/refinery/catch_all_routes.rb +0 -3
- data/lib/tasks/yard.rake +0 -30
- data/spec/requests/refinery/admin/controller_restriction_spec.rb +0 -27
- data/spec/requests/refinery/search_spec.rb +0 -71
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Refinery
|
|
2
|
+
module Core
|
|
3
|
+
describe Engine do
|
|
4
|
+
describe "#refinery_inclusion!" do
|
|
5
|
+
it "should be idempotent" do
|
|
6
|
+
expect { visit(refinery.root_path) }.to_not raise_error
|
|
7
|
+
Engine.refinery_inclusion!
|
|
8
|
+
Engine.refinery_inclusion!
|
|
9
|
+
expect { visit(refinery.root_path) }.to_not raise_error
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Refinery
|
|
4
|
+
describe MetaHelper do
|
|
5
|
+
|
|
6
|
+
describe '#canonical_id' do
|
|
7
|
+
context "when page doesn't exist" do
|
|
8
|
+
let(:page) { nil }
|
|
9
|
+
|
|
10
|
+
it 'returns nothing' do
|
|
11
|
+
helper.canonical_id(page).should be_nil
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
context 'when page exists' do
|
|
16
|
+
let(:page) { Page.new :slug => 'testing' }
|
|
17
|
+
|
|
18
|
+
it "returns the page's canonical slug with '-page' appended" do
|
|
19
|
+
helper.canonical_id(page).should == page.canonical_slug << '-page'
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -9,6 +9,37 @@ module Refinery
|
|
|
9
9
|
|
|
10
10
|
before do
|
|
11
11
|
prepare_destination
|
|
12
|
+
|
|
13
|
+
dir = "#{destination_root}/config/environments"
|
|
14
|
+
FileUtils.mkdir_p(dir)
|
|
15
|
+
File.open("#{dir}/development.rb", "w") do |file|
|
|
16
|
+
file.write <<-SPEC
|
|
17
|
+
Dummy::Application.configure do
|
|
18
|
+
config.action_mailer.test = true
|
|
19
|
+
end
|
|
20
|
+
SPEC
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
File.open("#{dir}/test.rb", "w") do |file|
|
|
24
|
+
file.write <<-SPEC
|
|
25
|
+
Dummy::Application.configure do
|
|
26
|
+
# config.action_mailer.test = true
|
|
27
|
+
end
|
|
28
|
+
SPEC
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
File.open("#{dir}/production.rb", "w") do |file|
|
|
32
|
+
file.write <<-SPEC
|
|
33
|
+
Dummy::Application.configure do
|
|
34
|
+
config.action_mailer.test = true
|
|
35
|
+
config.action_mailer.check = {
|
|
36
|
+
:test => true,
|
|
37
|
+
:check => true
|
|
38
|
+
}
|
|
39
|
+
end
|
|
40
|
+
SPEC
|
|
41
|
+
end
|
|
42
|
+
|
|
12
43
|
run_generator %w[--skip-db --skip-migrations]
|
|
13
44
|
end
|
|
14
45
|
|
|
@@ -40,5 +71,35 @@ module Refinery
|
|
|
40
71
|
end
|
|
41
72
|
}
|
|
42
73
|
end
|
|
74
|
+
|
|
75
|
+
describe "#ensure_environments_are_sane" do
|
|
76
|
+
it "wraps single line config.action_mailer setting" do
|
|
77
|
+
File.open("#{destination_root}/config/environments/development.rb") do |file|
|
|
78
|
+
file.read.should eq <<-SPEC
|
|
79
|
+
Dummy::Application.configure do
|
|
80
|
+
if config.respond_to?(:action_mailer)
|
|
81
|
+
config.action_mailer.test = true
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
SPEC
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
it "wraps multi line config.action_mailer settings" do
|
|
89
|
+
File.open("#{destination_root}/config/environments/production.rb") do |file|
|
|
90
|
+
file.read.should eq <<-SPEC
|
|
91
|
+
Dummy::Application.configure do
|
|
92
|
+
if config.respond_to?(:action_mailer)
|
|
93
|
+
config.action_mailer.test = true
|
|
94
|
+
config.action_mailer.check = {
|
|
95
|
+
:test => true,
|
|
96
|
+
:check => true
|
|
97
|
+
}
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
SPEC
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
43
104
|
end
|
|
44
105
|
end
|
|
@@ -1,17 +1,44 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
require 'generator_spec/test_case'
|
|
3
3
|
require 'generators/refinery/engine/engine_generator'
|
|
4
|
+
require 'tmpdir'
|
|
4
5
|
|
|
5
6
|
module Refinery
|
|
6
7
|
describe EngineGenerator do
|
|
7
8
|
include GeneratorSpec::TestCase
|
|
8
|
-
destination
|
|
9
|
+
destination Dir.mktmpdir
|
|
9
10
|
|
|
10
11
|
before do
|
|
11
12
|
prepare_destination
|
|
12
13
|
run_generator %w{ rspec_product_test title:string description:text image:image brochure:resource }
|
|
13
14
|
end
|
|
14
15
|
|
|
16
|
+
context "when generating a resource without passing a namespace" do
|
|
17
|
+
before do
|
|
18
|
+
run_generator %w{ rspec_item_test title:string --extension rspec_product_tests --skip }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it "uses the extension name for the namespace" do
|
|
22
|
+
destination_root.should have_structure {
|
|
23
|
+
directory "vendor" do
|
|
24
|
+
directory "extensions" do
|
|
25
|
+
directory "rspec_product_tests" do
|
|
26
|
+
directory "app" do
|
|
27
|
+
directory "controllers" do
|
|
28
|
+
directory "refinery" do
|
|
29
|
+
directory "rspec_product_tests" do
|
|
30
|
+
file "rspec_item_tests_controller.rb"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
}
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
15
42
|
context "when generating a resource inside existing extensions dir" do
|
|
16
43
|
|
|
17
44
|
before do
|
|
@@ -6,13 +6,13 @@ module Refinery
|
|
|
6
6
|
describe EngineGenerator do
|
|
7
7
|
include GeneratorSpec::TestCase
|
|
8
8
|
|
|
9
|
-
it "exits when reserved word is used for
|
|
9
|
+
it "exits when reserved word is used for extension name" do
|
|
10
10
|
clash_keywords = YAML.load_file(File.expand_path("../../../../../../lib/generators/refinery/clash_keywords.yml", __FILE__))
|
|
11
11
|
clash_keywords.each do |word|
|
|
12
12
|
lambda {
|
|
13
13
|
STDERR.should_receive(:puts).with("\nPlease choose a different name. The generated code would fail for class '#{word}' as it conflicts with a reserved keyword.\n\n")
|
|
14
14
|
run_generator [word, "title:string"]
|
|
15
|
-
}.should raise_error
|
|
15
|
+
}.should raise_error
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -20,28 +20,28 @@ module Refinery
|
|
|
20
20
|
lambda {
|
|
21
21
|
STDERR.should_receive(:puts).with("\nPlease specify the singular name 'apple' instead of 'apples'.\n\n")
|
|
22
22
|
run_generator %w{ apples title:string }
|
|
23
|
-
}.should raise_error
|
|
23
|
+
}.should raise_error
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
it "exits when uncountable word is used for extension name" do
|
|
27
27
|
lambda {
|
|
28
28
|
STDERR.should_receive(:puts).with("\nThe extension name you specified will not work as the singular name is equal to the plural name.\n\n")
|
|
29
29
|
run_generator %w{ money title:string }
|
|
30
|
-
}.should raise_error
|
|
30
|
+
}.should raise_error
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
it "exits when no attribute provided" do
|
|
34
34
|
lambda {
|
|
35
35
|
STDERR.should_receive(:puts).with("\nYou must specify a name and at least one field.\nFor help, run: rails generate refinery:engine\n\n")
|
|
36
36
|
run_generator %w{ car }
|
|
37
|
-
}.should raise_error
|
|
37
|
+
}.should raise_error
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
it "exits when '--extension' option is used but there is no extension by provided name" do
|
|
41
|
-
lambda {
|
|
41
|
+
lambda {
|
|
42
42
|
STDERR.should_receive(:puts).with("\nYou can't use '--extension nonexistent' option because extension with name nonexistent doesn't exist.\n\n")
|
|
43
43
|
run_generator %w{ car title:string --extension nonexistent }
|
|
44
|
-
}.should raise_error
|
|
44
|
+
}.should raise_error
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
end
|
|
@@ -40,12 +40,15 @@ module Refinery
|
|
|
40
40
|
directory "rspec_product_tests" do
|
|
41
41
|
directory "admin" do
|
|
42
42
|
directory "rspec_product_tests" do
|
|
43
|
+
file "_actions.html.erb"
|
|
43
44
|
file "_form.html.erb"
|
|
45
|
+
file "_records.html.erb"
|
|
46
|
+
file "_rspec_product_test.html.erb"
|
|
47
|
+
file "_rspec_product_tests.html.erb"
|
|
44
48
|
file "_sortable_list.html.erb"
|
|
45
49
|
file "edit.html.erb"
|
|
46
50
|
file "index.html.erb"
|
|
47
51
|
file "new.html.erb"
|
|
48
|
-
file "_rspec_product_test.html.erb"
|
|
49
52
|
end
|
|
50
53
|
end
|
|
51
54
|
directory "rspec_product_tests" do
|
|
@@ -56,25 +59,83 @@ module Refinery
|
|
|
56
59
|
end
|
|
57
60
|
end
|
|
58
61
|
end
|
|
62
|
+
directory "config" do
|
|
63
|
+
directory "locales" do
|
|
64
|
+
file "cs.yml"
|
|
65
|
+
file "en.yml"
|
|
66
|
+
file "es.yml"
|
|
67
|
+
file "fr.yml"
|
|
68
|
+
file "it.yml"
|
|
69
|
+
file "nb.yml"
|
|
70
|
+
file "nl.yml"
|
|
71
|
+
file "sk.yml"
|
|
72
|
+
file "tr.yml"
|
|
73
|
+
file "zh-CN.yml"
|
|
74
|
+
end
|
|
75
|
+
file "routes.rb"
|
|
76
|
+
end
|
|
77
|
+
directory "db" do
|
|
78
|
+
directory "migrate" do
|
|
79
|
+
file "1_create_rspec_product_tests_rspec_product_tests.rb"
|
|
80
|
+
end
|
|
81
|
+
file "seeds.rb"
|
|
82
|
+
end
|
|
59
83
|
directory "lib" do
|
|
84
|
+
directory "generators" do
|
|
85
|
+
directory "refinery" do
|
|
86
|
+
file "rspec_product_tests_generator.rb"
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
directory "refinery" do
|
|
90
|
+
directory "rspec_product_tests" do
|
|
91
|
+
file "engine.rb"
|
|
92
|
+
end
|
|
93
|
+
file "rspec_product_tests.rb"
|
|
94
|
+
end
|
|
95
|
+
directory "tasks" do
|
|
96
|
+
directory "refinery" do
|
|
97
|
+
file "rspec_product_tests.rake"
|
|
98
|
+
end
|
|
99
|
+
end
|
|
60
100
|
file "refinerycms-rspec_product_tests.rb"
|
|
61
101
|
end
|
|
102
|
+
directory "script" do
|
|
103
|
+
file "rails"
|
|
104
|
+
end
|
|
62
105
|
directory "spec" do
|
|
106
|
+
directory "features" do
|
|
107
|
+
directory "refinery" do
|
|
108
|
+
directory "rspec_product_tests" do
|
|
109
|
+
directory "admin" do
|
|
110
|
+
file "rspec_product_tests_spec.rb"
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
directory "models" do
|
|
116
|
+
directory "refinery" do
|
|
117
|
+
directory "rspec_product_tests" do
|
|
118
|
+
file "rspec_product_test_spec.rb"
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
directory "support" do
|
|
123
|
+
directory "factories" do
|
|
124
|
+
directory "refinery" do
|
|
125
|
+
file "rspec_product_tests.rb"
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
63
129
|
file "spec_helper.rb"
|
|
64
130
|
end
|
|
65
131
|
directory "tasks" do
|
|
66
132
|
file "testing.rake"
|
|
67
133
|
file "rspec.rake"
|
|
68
134
|
end
|
|
69
|
-
directory "config" do
|
|
70
|
-
directory "locales" do
|
|
71
|
-
file "en.yml"
|
|
72
|
-
end
|
|
73
|
-
file "routes.rb"
|
|
74
|
-
end
|
|
75
|
-
file "Guardfile"
|
|
76
135
|
file "Gemfile"
|
|
77
136
|
file "Rakefile"
|
|
137
|
+
file "readme.md"
|
|
138
|
+
file "refinerycms-rspec_product_tests.gemspec"
|
|
78
139
|
end
|
|
79
140
|
end
|
|
80
141
|
end
|
|
@@ -41,7 +41,6 @@ module Refinery
|
|
|
41
41
|
directory "admin" do
|
|
42
42
|
directory "rspec_product_tests" do
|
|
43
43
|
file "_form.html.erb"
|
|
44
|
-
file "_locale_picker.html.erb"
|
|
45
44
|
file "_sortable_list.html.erb"
|
|
46
45
|
file "edit.html.erb"
|
|
47
46
|
file "index.html.erb"
|
|
@@ -73,7 +72,6 @@ module Refinery
|
|
|
73
72
|
end
|
|
74
73
|
file "routes.rb"
|
|
75
74
|
end
|
|
76
|
-
file "Guardfile"
|
|
77
75
|
file "Gemfile"
|
|
78
76
|
file "Rakefile"
|
|
79
77
|
end
|
|
@@ -5,13 +5,21 @@ require 'generators/refinery/form/form_generator'
|
|
|
5
5
|
module Refinery
|
|
6
6
|
describe FormGenerator do
|
|
7
7
|
include GeneratorSpec::TestCase
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
temp_dir = Dir.mktmpdir("refinery_rspec_form_test")
|
|
10
|
+
let(:temp_dir) { temp_dir }
|
|
11
|
+
|
|
12
|
+
destination temp_dir
|
|
9
13
|
|
|
10
14
|
before do
|
|
11
15
|
prepare_destination
|
|
12
16
|
run_generator %w{ rspec_form_test title:string description:text choice:radio another:dropdown enable:checkbox }
|
|
13
17
|
end
|
|
14
18
|
|
|
19
|
+
after do
|
|
20
|
+
FileUtils.rm_r(temp_dir)
|
|
21
|
+
end
|
|
22
|
+
|
|
15
23
|
specify do
|
|
16
24
|
destination_root.should have_structure {
|
|
17
25
|
directory "vendor" do
|
|
@@ -1,84 +1,69 @@
|
|
|
1
1
|
require "spec_helper"
|
|
2
2
|
|
|
3
3
|
module Refinery
|
|
4
|
-
describe ApplicationController do
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
describe ApplicationController, :type => :controller do
|
|
5
|
+
before do
|
|
6
|
+
Rails.application.routes.draw {
|
|
7
|
+
mount Refinery::Core::Engine, :at => '/'
|
|
8
|
+
get "anonymous/index"
|
|
9
|
+
}
|
|
10
|
+
end
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
after do
|
|
13
|
+
Rails.application.reload_routes!
|
|
14
|
+
end
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
controller do
|
|
17
|
+
include ::Refinery::ApplicationController
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
end
|
|
19
|
+
def index
|
|
20
|
+
render :nothing => true
|
|
20
21
|
end
|
|
22
|
+
end
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "matches localised root url" do
|
|
30
|
-
controller.refinery.stub(:root_path).and_return("/en/")
|
|
31
|
-
request.stub(:path).and_return("/en")
|
|
32
|
-
controller.home_page?.should be_true
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
it "escapes regexp" do
|
|
36
|
-
request.stub(:path).and_return("\/huh)")
|
|
37
|
-
expect { controller.home_page? }.to_not raise_error(RegexpError)
|
|
38
|
-
end
|
|
24
|
+
describe ".home_page?" do
|
|
25
|
+
it "matches root url" do
|
|
26
|
+
controller.stub(:root_path).and_return("/")
|
|
27
|
+
request.stub(:path).and_return("/")
|
|
28
|
+
controller.home_page?.should be_true
|
|
39
29
|
end
|
|
40
30
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
it "returns BasePresenter when the instance's class does not have a presenter" do
|
|
47
|
-
controller.send(:presenter_for, Object.new).should eq(BasePresenter)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
it "returns the class's presenter when the instance's class has a presenter" do
|
|
51
|
-
controller.send(:presenter_for, Page.new).should eq(PagePresenter)
|
|
52
|
-
end
|
|
31
|
+
it "matches localised root url" do
|
|
32
|
+
controller.refinery.stub(:root_path).and_return("/en/")
|
|
33
|
+
request.stub(:path).and_return("/en")
|
|
34
|
+
controller.home_page?.should be_true
|
|
53
35
|
end
|
|
54
36
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
it "is false so standard HTTP is used" do
|
|
62
|
-
Refinery::Core.config.force_ssl = false
|
|
63
|
-
|
|
64
|
-
get :index
|
|
37
|
+
it "matches localised root url with trailing slash" do
|
|
38
|
+
controller.refinery.stub(:root_path).and_return("/en/")
|
|
39
|
+
request.stub(:path).and_return("/en/")
|
|
40
|
+
controller.home_page?.should be_true
|
|
41
|
+
end
|
|
65
42
|
|
|
66
|
-
|
|
67
|
-
|
|
43
|
+
it "escapes regexp" do
|
|
44
|
+
request.stub(:path).and_return("\/huh)")
|
|
45
|
+
expect { controller.home_page? }.to_not raise_error
|
|
46
|
+
end
|
|
68
47
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
48
|
+
it "returns false for non root url" do
|
|
49
|
+
request.stub(:path).and_return("/foo/")
|
|
50
|
+
controller.should_not be_home_page
|
|
51
|
+
end
|
|
52
|
+
end
|
|
72
53
|
|
|
73
|
-
|
|
54
|
+
describe "#presenter_for" do
|
|
55
|
+
it "returns BasePresenter for nil" do
|
|
56
|
+
controller.send(:presenter_for, nil).should eq(BasePresenter)
|
|
57
|
+
end
|
|
74
58
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
Refinery::Core.config.force_ssl = false
|
|
78
|
-
end
|
|
79
|
-
end
|
|
59
|
+
it "returns BasePresenter when the instance's class does not have a presenter" do
|
|
60
|
+
controller.send(:presenter_for, Object.new).should eq(BasePresenter)
|
|
80
61
|
end
|
|
81
62
|
|
|
63
|
+
it "returns the class's presenter when the instance's class has a presenter" do
|
|
64
|
+
model = Refinery::Page.new
|
|
65
|
+
controller.send(:presenter_for, model).should eq(Refinery::PagePresenter)
|
|
66
|
+
end
|
|
82
67
|
end
|
|
83
68
|
end
|
|
84
69
|
end
|