parcels 0.0.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.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.rspec-local +4 -0
- data/.travis.yml +54 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +6 -0
- data/lib/parcels/dependency_parcel_list.rb +50 -0
- data/lib/parcels/environment.rb +60 -0
- data/lib/parcels/fortitude/alongside_engine.rb +37 -0
- data/lib/parcels/fortitude/assets.rb +212 -0
- data/lib/parcels/fortitude/enabling.rb +72 -0
- data/lib/parcels/fortitude/fortitude_engine.rb +35 -0
- data/lib/parcels/fortitude/fortitude_loader.rb +27 -0
- data/lib/parcels/fortitude/widget_engine.rb +31 -0
- data/lib/parcels/fortitude_alongside_parcel.rb +38 -0
- data/lib/parcels/fortitude_inline_parcel.rb +31 -0
- data/lib/parcels/fortitude_parcel.rb +102 -0
- data/lib/parcels/fragments/css_fragment.rb +107 -0
- data/lib/parcels/index.rb +16 -0
- data/lib/parcels/rails/rails_loader.rb +23 -0
- data/lib/parcels/rails/railtie.rb +16 -0
- data/lib/parcels/sprockets.rb +153 -0
- data/lib/parcels/utils/path_utils.rb +32 -0
- data/lib/parcels/version.rb +3 -0
- data/lib/parcels/widget_tree.rb +158 -0
- data/lib/parcels.rb +21 -0
- data/parcels.gemspec +48 -0
- data/spec/helpers/content_in_helpers.rb +21 -0
- data/spec/helpers/file_structure_helpers.rb +79 -0
- data/spec/helpers/global_helper.rb +34 -0
- data/spec/helpers/new_asset_helpers.rb +31 -0
- data/spec/helpers/new_rails_helpers.rb +31 -0
- data/spec/helpers/parcels_rails_helpers.rb +20 -0
- data/spec/helpers/per_example_helpers.rb +15 -0
- data/spec/helpers/sprockets_helpers.rb +23 -0
- data/spec/lib/spec/expected/base_expected_asset.rb +35 -0
- data/spec/lib/spec/expected/expected_asset.rb +135 -0
- data/spec/lib/spec/expected/expected_asset_set.rb +45 -0
- data/spec/lib/spec/expected/must_not_be_present_asset.rb +17 -0
- data/spec/lib/spec/fixtures/file_set.rb +80 -0
- data/spec/lib/spec/fixtures/widget_base.rb +13 -0
- data/spec/lib/spec/fixtures/widget_file.rb +108 -0
- data/spec/lib/spec/parsing/compiled_asset.rb +94 -0
- data/spec/lib/spec/parsing/compiled_asset_fragment.rb +38 -0
- data/spec/lib/spec/parsing/parsed_css_asset.rb +34 -0
- data/spec/lib/spec/parsing/precompiled_rails_asset.rb +52 -0
- data/spec/lib/spec/parsing/rails_asset.rb +30 -0
- data/spec/lib/spec/parsing/sprockets_asset.rb +40 -0
- data/spec/rails/basic_rails_spec.rb +102 -0
- data/spec/rails/compression_rails_spec.rb +11 -0
- data/spec/rails/development_mode_rails_spec.rb +321 -0
- data/spec/rails/sass_rails_spec.rb +125 -0
- data/spec/rails/sets_rails_spec.rb +85 -0
- data/spec/rails/templates/base/app/assets/stylesheets/application.css +16 -0
- data/spec/rails/templates/base/app/views/widgets/base.rb +4 -0
- data/spec/rails/templates/base/config/environments/production.rb +92 -0
- data/spec/rails/templates/base/lib/null_compressor.rb +5 -0
- data/spec/rails/templates/basic_rails_spec/app/controllers/basic_rails_spec_controller.rb +21 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_and_inline.pcss +1 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_and_inline.rb +9 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_and_inline_html.html.pcss +1 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_and_inline_html.html.rb +9 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_erb.pcss +1 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_erb.rb +7 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/inline_erb.rb +9 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/multiple_engines.pcss +1 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/multiple_engines.rb +9 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/no_corresponding_widget.pcss +1 -0
- data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/simple_css.rb +9 -0
- data/spec/rails/templates/compression_rails_spec/app/controllers/compression_rails_spec_controller.rb +5 -0
- data/spec/rails/templates/compression_rails_spec/app/views/compression_rails_spec/inline_and_alongside_css.pcss +1 -0
- data/spec/rails/templates/compression_rails_spec/app/views/compression_rails_spec/inline_and_alongside_css.rb +9 -0
- data/spec/rails/templates/compression_rails_spec/config/environments/production.rb +91 -0
- data/spec/rails/templates/development_mode_rails_spec/app/assets/stylesheets/changingone.scss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/assets/stylesheets/changingtwo.scss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/assets/stylesheets/import_dir/import_dir_ss_1.scss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/controllers/development_mode_rails_spec_controller.rb +45 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/adding_alongside_css.rb +5 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/adding_inline_css.rb +7 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/adding_widget.rb +5 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/basic_widget_with_inline_and_alongside_parcels.pcss +3 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/basic_widget_with_inline_and_alongside_parcels.rb +9 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_alongside_css.pcss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_alongside_css.rb +5 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_import_file.pcss +2 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_import_file.rb +10 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_inline_css.rb +9 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_prefix_imported_file.pcss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/changing_prefix_imported_file.rb +7 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/removing_alongside_css.pcss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/removing_alongside_css.rb +5 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/removing_inline_css.rb +7 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/removing_widget.pcss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/development_mode_rails_spec/removing_widget.rb +9 -0
- data/spec/rails/templates/development_mode_rails_spec/app/views/import_base.rb +5 -0
- data/spec/rails/templates/development_mode_rails_spec/config/environments/development.rb +37 -0
- data/spec/rails/templates/development_mode_rails_spec/vendor/assets/stylesheets/one.scss +1 -0
- data/spec/rails/templates/development_mode_rails_spec/vendor/assets/stylesheets/two.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/foobar/the_import_dir_2/id2ss1.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/foobar/the_import_dir_2/id2ss2.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/foobar/twelve.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/foobar/two.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/images/quux/foo.png +0 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/eleven.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/one.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/shared_import_dir/sid1ss1.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/shared_import_dir/sid1ss2.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/the_import_dir_1/id1ss1.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/assets/stylesheets/the_import_dir_1/id1ss2.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/controllers/sass_rails_spec_controller.rb +29 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/added_asset_path.pcss +2 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/added_asset_path.rb +10 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/asset_url.pcss +2 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/asset_url.rb +17 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/default_sass_import.pcss +6 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/default_sass_import.rb +14 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/import_directory.pcss +3 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/import_directory.rb +11 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/import_view_relative_directory.pcss +3 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/import_view_relative_directory.rb +11 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/other_features.pcss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/other_features.rb +9 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/shared_imports.rb +10 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/vr_import_dir_1/vr1ss1.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/vr_import_dir_1/vr1ss2.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/vr_import_dir_2/vr2ss1.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/views/sass_rails_spec/vr_import_dir_2/vr2ss2.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/app/views/widgets/import_base.rb +5 -0
- data/spec/rails/templates/sass_rails_spec/config/application.rb +25 -0
- data/spec/rails/templates/sass_rails_spec/lib/more_assets/twenty.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/vendor/assets/stylesheets/thirteen.scss +1 -0
- data/spec/rails/templates/sass_rails_spec/vendor/assets/stylesheets/three.scss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/assets/stylesheets/admin.css.scss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/assets/stylesheets/all.css.scss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/assets/stylesheets/normal.css.scss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/controllers/sets_rails_spec_controller.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/admin/admin_one.pcss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/views/admin/admin_one.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/admin/admin_two.pcss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/views/admin/admin_two.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/admin/base.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/root.rb +9 -0
- data/spec/rails/templates/sets_rails_spec/app/views/sets_base.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/sets_rails_spec/normal_one.pcss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/views/sets_rails_spec/normal_one.rb +3 -0
- data/spec/rails/templates/sets_rails_spec/app/views/sets_rails_spec/normal_two.pcss +1 -0
- data/spec/rails/templates/sets_rails_spec/app/views/sets_rails_spec/normal_two.rb +3 -0
- data/spec/system/alongside_file_spec.rb +193 -0
- data/spec/system/autogenerated_class_application_spec.rb +240 -0
- data/spec/system/basic_system_spec.rb +75 -0
- data/spec/system/dependency_sorting_spec.rb +48 -0
- data/spec/system/engines_spec.rb +245 -0
- data/spec/system/prefix_spec.rb +108 -0
- data/spec/system/sass_features_spec.rb +109 -0
- data/spec/system/sets_spec.rb +405 -0
- metadata +477 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
require 'fileutils'
|
|
2
|
+
|
|
3
|
+
describe "Parcels Rails development-mode support", :type => :rails do
|
|
4
|
+
uses_rails_with_template :development_mode_rails_spec, :rails_env => :development
|
|
5
|
+
|
|
6
|
+
it "should include all parcels in application.css if you ask it to" do
|
|
7
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
8
|
+
asset 'views/development_mode_rails_spec/basic_widget_with_inline_and_alongside_parcels.pcss' do
|
|
9
|
+
expect_wrapped_rule :div, 'color: blue'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
asset 'views/development_mode_rails_spec/basic_widget_with_inline_and_alongside_parcels.rb' do
|
|
13
|
+
expect_wrapped_rule :p, 'color: green'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
allow_additional_assets!
|
|
17
|
+
end)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def wait_until_passes(options = { }, &block)
|
|
21
|
+
timeout = options[:timeout] || 3.seconds
|
|
22
|
+
interval = options[:interval] || 0.5.seconds
|
|
23
|
+
|
|
24
|
+
timeout_time = Time.now + timeout
|
|
25
|
+
passed = false
|
|
26
|
+
attempt_count = 0
|
|
27
|
+
last_exception = nil
|
|
28
|
+
|
|
29
|
+
while (! passed) && (Time.now < timeout_time)
|
|
30
|
+
begin
|
|
31
|
+
block.call
|
|
32
|
+
passed = true
|
|
33
|
+
rescue Interrupt => i
|
|
34
|
+
raise
|
|
35
|
+
rescue => e
|
|
36
|
+
attempt_count += 1
|
|
37
|
+
last_exception = e
|
|
38
|
+
sleep interval.to_f
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
unless passed
|
|
43
|
+
raise "Block failed, even after #{attempt_count} tries and #{timeout} seconds! Last exception was:\n#{e.message} (#{e.class.name}):\n #{e.backtrace.join("\n ")}"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def sleep_before_change
|
|
48
|
+
start_time = Time.now.to_i
|
|
49
|
+
while Time.now.to_i == start_time
|
|
50
|
+
sleep 0.05
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def substitute_at_path(subpath, from_what, to_what)
|
|
55
|
+
path = File.join(rails_server.rails_root, subpath)
|
|
56
|
+
contents = File.read(path)
|
|
57
|
+
if contents =~ %r{\A(.*)#{Regexp.escape(from_what)}(.*)\Z}mi
|
|
58
|
+
new_contents = "#{$1}#{to_what}#{$2}"
|
|
59
|
+
else
|
|
60
|
+
raise "This spec is broken; we were looking for #{from_what.inspect}, but contents are:\n#{contents}"
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
sleep_before_change
|
|
64
|
+
|
|
65
|
+
File.open(path, 'w') { |f| f << new_contents }
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def add_at_path(subpath, what)
|
|
69
|
+
path = File.join(rails_server.rails_root, subpath)
|
|
70
|
+
raise "Path should not exist, but does: #{path.inspect}" if File.exist?(path)
|
|
71
|
+
|
|
72
|
+
sleep_before_change
|
|
73
|
+
|
|
74
|
+
FileUtils.mkdir_p(File.dirname(path))
|
|
75
|
+
File.open(path, 'w') { |f| f << what }
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def remove_at_path(subpath)
|
|
79
|
+
path = File.join(rails_server.rails_root, subpath)
|
|
80
|
+
raise "Path should exist, but doesn't: #{path.inspect}" unless File.exist?(path)
|
|
81
|
+
|
|
82
|
+
sleep_before_change
|
|
83
|
+
|
|
84
|
+
File.delete(path)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "should allow changing inline CSS for a widget" do
|
|
88
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
89
|
+
asset 'views/development_mode_rails_spec/changing_inline_css.rb' do
|
|
90
|
+
expect_wrapped_rule :p, 'color: green'
|
|
91
|
+
end
|
|
92
|
+
allow_additional_assets!
|
|
93
|
+
end)
|
|
94
|
+
|
|
95
|
+
substitute_at_path('app/views/development_mode_rails_spec/changing_inline_css.rb', 'color: green', 'color: red')
|
|
96
|
+
|
|
97
|
+
wait_until_passes do
|
|
98
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
99
|
+
asset 'views/development_mode_rails_spec/changing_inline_css.rb' do
|
|
100
|
+
expect_wrapped_rule :p, 'color: red'
|
|
101
|
+
end
|
|
102
|
+
allow_additional_assets!
|
|
103
|
+
end)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it "should allow changing alongside CSS for a widget" do
|
|
108
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
109
|
+
asset 'views/development_mode_rails_spec/changing_alongside_css.pcss' do
|
|
110
|
+
expect_wrapped_rule :p, 'color: blue'
|
|
111
|
+
end
|
|
112
|
+
allow_additional_assets!
|
|
113
|
+
end)
|
|
114
|
+
|
|
115
|
+
substitute_at_path('app/views/development_mode_rails_spec/changing_alongside_css.pcss', 'color: blue', 'color: purple')
|
|
116
|
+
|
|
117
|
+
wait_until_passes do
|
|
118
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
119
|
+
asset 'views/development_mode_rails_spec/changing_alongside_css.pcss' do
|
|
120
|
+
expect_wrapped_rule :p, 'color: purple'
|
|
121
|
+
end
|
|
122
|
+
allow_additional_assets!
|
|
123
|
+
end)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
it "should allow adding inline CSS for a widget" do
|
|
128
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
129
|
+
asset_must_not_be_present('views/development_mode_rails_spec/adding_inline_css.rb')
|
|
130
|
+
allow_additional_assets!
|
|
131
|
+
end)
|
|
132
|
+
|
|
133
|
+
substitute_at_path('app/views/development_mode_rails_spec/adding_inline_css.rb', '# CSS_WILL_GO_HERE', "css %{p { color: yellow } }")
|
|
134
|
+
|
|
135
|
+
wait_until_passes do
|
|
136
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
137
|
+
asset 'views/development_mode_rails_spec/adding_inline_css.rb' do
|
|
138
|
+
expect_wrapped_rule :p, 'color: yellow'
|
|
139
|
+
end
|
|
140
|
+
allow_additional_assets!
|
|
141
|
+
end)
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
it "should allow removing inline CSS for a widget" do
|
|
146
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
147
|
+
asset 'views/development_mode_rails_spec/removing_inline_css.rb' do
|
|
148
|
+
expect_wrapped_rule :p, 'color: magenta'
|
|
149
|
+
end
|
|
150
|
+
allow_additional_assets!
|
|
151
|
+
end)
|
|
152
|
+
|
|
153
|
+
substitute_at_path('app/views/development_mode_rails_spec/removing_inline_css.rb', 'css %{p { color: magenta; }}', '# NO MORE CSS!')
|
|
154
|
+
|
|
155
|
+
wait_until_passes do
|
|
156
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
157
|
+
asset_must_not_be_present('views/development_mode_rails_spec/removing_inline_css.rb')
|
|
158
|
+
allow_additional_assets!
|
|
159
|
+
end)
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
it "should allow adding alongside CSS for a widget" do
|
|
164
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
165
|
+
asset_must_not_be_present('views/development_mode_rails_spec/adding_alongside_css.pcss')
|
|
166
|
+
allow_additional_assets!
|
|
167
|
+
end)
|
|
168
|
+
|
|
169
|
+
add_at_path('app/views/development_mode_rails_spec/adding_alongside_css.pcss', "p { color: cyan; }")
|
|
170
|
+
|
|
171
|
+
wait_until_passes do
|
|
172
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
173
|
+
asset 'views/development_mode_rails_spec/adding_alongside_css.pcss' do
|
|
174
|
+
expect_wrapped_rule :p, 'color: cyan'
|
|
175
|
+
end
|
|
176
|
+
allow_additional_assets!
|
|
177
|
+
end)
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
it "should allow removing alongside CSS for a widget" do
|
|
182
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
183
|
+
asset 'views/development_mode_rails_spec/removing_alongside_css.pcss' do
|
|
184
|
+
expect_wrapped_rule :p, 'color: yellow'
|
|
185
|
+
end
|
|
186
|
+
allow_additional_assets!
|
|
187
|
+
end)
|
|
188
|
+
|
|
189
|
+
remove_at_path('app/views/development_mode_rails_spec/removing_alongside_css.pcss')
|
|
190
|
+
|
|
191
|
+
wait_until_passes do
|
|
192
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
193
|
+
asset_must_not_be_present('views/development_mode_rails_spec/removing_alongside_css.pcss')
|
|
194
|
+
allow_additional_assets!
|
|
195
|
+
end)
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
it "should allow changing a file used by @import" do
|
|
200
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
201
|
+
asset 'views/development_mode_rails_spec/changing_import_file.rb' do
|
|
202
|
+
expect_wrapped_rule :p, 'color: #123456'
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
asset 'views/development_mode_rails_spec/changing_import_file.pcss' do
|
|
206
|
+
expect_wrapped_rule :div, 'color: #234567'
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
allow_additional_assets!
|
|
210
|
+
end)
|
|
211
|
+
|
|
212
|
+
substitute_at_path('app/assets/stylesheets/changingone.scss', '123456', '456789')
|
|
213
|
+
substitute_at_path('app/assets/stylesheets/changingtwo.scss', '234567', '567890')
|
|
214
|
+
|
|
215
|
+
wait_until_passes do
|
|
216
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
217
|
+
asset 'views/development_mode_rails_spec/changing_import_file.rb' do
|
|
218
|
+
expect_wrapped_rule :p, 'color: #456789'
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
asset 'views/development_mode_rails_spec/changing_import_file.pcss' do
|
|
222
|
+
expect_wrapped_rule :div, 'color: #567890'
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
allow_additional_assets!
|
|
226
|
+
end)
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
it "should allow changing a file imported via the CSS prefix, and respect that change" do
|
|
231
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
232
|
+
asset 'views/development_mode_rails_spec/changing_prefix_imported_file.rb' do
|
|
233
|
+
expect_wrapped_rule :p, 'color: #abcdef'
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
asset 'views/development_mode_rails_spec/changing_prefix_imported_file.pcss' do
|
|
237
|
+
expect_wrapped_rule :div, 'color: #abcdef'
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
allow_additional_assets!
|
|
241
|
+
end)
|
|
242
|
+
|
|
243
|
+
substitute_at_path('app/assets/stylesheets/import_dir/import_dir_ss_1.scss', 'abcdef', 'fedcba')
|
|
244
|
+
|
|
245
|
+
wait_until_passes do
|
|
246
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
247
|
+
asset 'views/development_mode_rails_spec/changing_prefix_imported_file.rb' do
|
|
248
|
+
expect_wrapped_rule :p, 'color: #fedcba'
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
asset 'views/development_mode_rails_spec/changing_prefix_imported_file.pcss' do
|
|
252
|
+
expect_wrapped_rule :div, 'color: #fedcba'
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
allow_additional_assets!
|
|
256
|
+
end)
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
it "should allow adding a widget, along with an alongside file" do
|
|
261
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
262
|
+
asset_must_not_be_present('views/development_mode_rails_spec/added_widget.rb')
|
|
263
|
+
asset_must_not_be_present('views/development_mode_rails_spec/added_widget.pcss')
|
|
264
|
+
allow_additional_assets!
|
|
265
|
+
end)
|
|
266
|
+
|
|
267
|
+
add_at_path('app/views/development_mode_rails_spec/added_widget.rb', <<-EOS)
|
|
268
|
+
class Views::DevelopmentModeRailsSpec::AddedWidget < Views::Widgets::Base
|
|
269
|
+
css %{
|
|
270
|
+
p { color: blue; }
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
def content
|
|
274
|
+
p "nothing here"
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
EOS
|
|
278
|
+
add_at_path('app/views/development_mode_rails_spec/added_widget.pcss', <<-EOS)
|
|
279
|
+
div { color: purple; }
|
|
280
|
+
EOS
|
|
281
|
+
|
|
282
|
+
wait_until_passes do
|
|
283
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
284
|
+
asset 'views/development_mode_rails_spec/added_widget.rb' do
|
|
285
|
+
expect_wrapped_rule :p, 'color: blue'
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
asset 'views/development_mode_rails_spec/added_widget.pcss' do
|
|
289
|
+
expect_wrapped_rule :div, 'color: purple'
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
allow_additional_assets!
|
|
293
|
+
end)
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
it "should allow removing a widget, along with an alongside file" do
|
|
298
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
299
|
+
asset 'views/development_mode_rails_spec/removing_widget.rb' do
|
|
300
|
+
expect_wrapped_rule :p, 'color: cyan'
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
asset 'views/development_mode_rails_spec/removing_widget.pcss' do
|
|
304
|
+
expect_wrapped_rule :div, 'color: green'
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
allow_additional_assets!
|
|
308
|
+
end)
|
|
309
|
+
|
|
310
|
+
remove_at_path('app/views/development_mode_rails_spec/removing_widget.rb')
|
|
311
|
+
remove_at_path('app/views/development_mode_rails_spec/removing_widget.pcss')
|
|
312
|
+
|
|
313
|
+
wait_until_passes do
|
|
314
|
+
compiled_rails_asset('application.css').should_match(rails_assets do
|
|
315
|
+
asset_must_not_be_present('views/development_mode_rails_spec/removing_widget.rb')
|
|
316
|
+
asset_must_not_be_present('views/development_mode_rails_spec/removing_widget.pcss')
|
|
317
|
+
allow_additional_assets!
|
|
318
|
+
end)
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
describe "Parcels Rails SASS support", :type => :rails do
|
|
2
|
+
uses_rails_with_template :sass_rails_spec
|
|
3
|
+
|
|
4
|
+
it "should use Rails' asset search path for Sass @import in inline CSS and alongside CSS" do
|
|
5
|
+
asset = compiled_rails_asset('application.css')
|
|
6
|
+
|
|
7
|
+
asset.should_match(rails_assets do
|
|
8
|
+
asset 'views/sass_rails_spec/default_sass_import.rb' do
|
|
9
|
+
expect_wrapped_rule :p, 'color: #afedcb'
|
|
10
|
+
expect_wrapped_rule :div, 'color: #0b1c2d'
|
|
11
|
+
expect_wrapped_rule :span, 'color: #9a8b7c'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
asset 'views/sass_rails_spec/default_sass_import.pcss' do
|
|
15
|
+
expect_wrapped_rule :h1, 'color: #11abcd'
|
|
16
|
+
expect_wrapped_rule :h2, 'color: #12abcd'
|
|
17
|
+
expect_wrapped_rule :h3, 'color: #13abcd'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
allow_additional_assets!
|
|
21
|
+
end)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should let you change Rails' asset search path, and use that for Sass @import" do
|
|
25
|
+
asset = compiled_rails_asset('application.css')
|
|
26
|
+
|
|
27
|
+
asset.should_match(rails_assets do
|
|
28
|
+
asset 'views/sass_rails_spec/added_asset_path.rb' do
|
|
29
|
+
expect_wrapped_rule :p, 'color: #a0b1c2'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
asset 'views/sass_rails_spec/added_asset_path.pcss' do
|
|
33
|
+
expect_wrapped_rule :div, 'color: #a0b1c2'
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
allow_additional_assets!
|
|
37
|
+
end)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "should support other features of sass-rails" do
|
|
41
|
+
asset = compiled_rails_asset('application.css')
|
|
42
|
+
|
|
43
|
+
asset.should_match(rails_assets do
|
|
44
|
+
asset 'views/sass_rails_spec/other_features.rb' do
|
|
45
|
+
expect_wrapped_rule :p, 'color: #050709'
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
asset 'views/sass_rails_spec/other_features.pcss' do
|
|
49
|
+
expect_wrapped_rule :div, 'color: #040608'
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
allow_additional_assets!
|
|
53
|
+
end)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "should allow you to import entire directories of files, relative to app/assets/, using 'import \"foo/*\"" do
|
|
57
|
+
asset = compiled_rails_asset('application.css')
|
|
58
|
+
|
|
59
|
+
asset.should_match(rails_assets do
|
|
60
|
+
asset 'views/sass_rails_spec/import_directory.rb' do
|
|
61
|
+
expect_wrapped_rule :p, 'color: #a1a1a1'
|
|
62
|
+
expect_wrapped_rule :div, 'color: #a2a2a2'
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
asset 'views/sass_rails_spec/import_directory.pcss' do
|
|
66
|
+
expect_wrapped_rule :span, 'color: #b1b1b1'
|
|
67
|
+
expect_wrapped_rule :section, 'color: #b2b2b2'
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
allow_additional_assets!
|
|
71
|
+
end)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it "should also allow you to import entire directories of files, relative to the view itself, using 'import \"foo/*\"" do
|
|
75
|
+
asset = compiled_rails_asset('application.css')
|
|
76
|
+
|
|
77
|
+
asset.should_match(rails_assets do
|
|
78
|
+
asset 'views/sass_rails_spec/import_view_relative_directory.rb' do
|
|
79
|
+
expect_wrapped_rule :p, 'color: #1a1a1a'
|
|
80
|
+
expect_wrapped_rule :div, 'color: #2a2a2a'
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
asset 'views/sass_rails_spec/import_view_relative_directory.pcss' do
|
|
84
|
+
expect_wrapped_rule :span, 'color: #1b1b1b'
|
|
85
|
+
expect_wrapped_rule :section, 'color: #2b2b2b'
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
allow_additional_assets!
|
|
89
|
+
end)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
it "should support 'asset-path', 'asset-url', 'image-url', 'asset-data-url', etc." do
|
|
93
|
+
asset = compiled_rails_asset('application.css')
|
|
94
|
+
|
|
95
|
+
asset_prefix = if rails_server.rails_version =~ /^3/ then "/assets" else "" end
|
|
96
|
+
image_prefix = if rails_server.rails_version =~ /^3/ then "/assets" else "/images" end
|
|
97
|
+
|
|
98
|
+
asset.should_match(rails_assets do
|
|
99
|
+
asset 'views/sass_rails_spec/asset_url.rb' do
|
|
100
|
+
expect_wrapped_rule :p, "background: url(\"#{asset_prefix}/foo/bar.jpg\")"
|
|
101
|
+
expect_wrapped_rule :div, "background: url(#{asset_prefix}/bar/baz.png)"
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
asset 'views/sass_rails_spec/asset_url.pcss' do
|
|
105
|
+
expect_wrapped_rule :span, "background: url(#{image_prefix}/baz/quux.jpg)"
|
|
106
|
+
expect_wrapped_rule :section, /^background:\s+url\(data:image\/png;base64,/
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
allow_additional_assets!
|
|
110
|
+
end)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
it "should let you add SASS imports in a sane, shared location, and make them available wherever" do
|
|
114
|
+
asset = compiled_rails_asset('application.css')
|
|
115
|
+
|
|
116
|
+
asset.should_match(rails_assets do
|
|
117
|
+
asset 'views/sass_rails_spec/shared_imports.rb' do
|
|
118
|
+
expect_wrapped_rule :p, 'color: #a1a1a1'
|
|
119
|
+
expect_wrapped_rule :div, 'color: #b2b2b2'
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
allow_additional_assets!
|
|
123
|
+
end)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
describe "Parcels Rails sets support", :type => :rails do
|
|
2
|
+
uses_rails_with_template :sets_rails_spec
|
|
3
|
+
|
|
4
|
+
it "should put all normal assets into normal.css, whether explicitly inherited or via block" do
|
|
5
|
+
normal = compiled_rails_asset('normal.css')
|
|
6
|
+
|
|
7
|
+
normal.should_match(rails_assets do
|
|
8
|
+
asset 'views/sets_rails_spec/normal_one.rb' do
|
|
9
|
+
expect_wrapped_rule :span, 'color: blue'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
asset 'views/sets_rails_spec/normal_one.pcss' do
|
|
13
|
+
expect_wrapped_rule :'span.a', 'color: blue'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
asset 'views/sets_rails_spec/normal_two.rb' do
|
|
17
|
+
expect_wrapped_rule :em, 'color: yellow'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
asset 'views/sets_rails_spec/normal_two.pcss' do
|
|
21
|
+
expect_wrapped_rule :'em.a', 'color: yellow'
|
|
22
|
+
end
|
|
23
|
+
end)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "should put all admin assets into admin.css, whether explicitly inherited or via block" do
|
|
27
|
+
admin = compiled_rails_asset('admin.css')
|
|
28
|
+
|
|
29
|
+
admin.should_match(rails_assets do
|
|
30
|
+
asset 'views/admin/admin_one.rb' do
|
|
31
|
+
expect_wrapped_rule :p, 'color: red'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
asset 'views/admin/admin_one.pcss' do
|
|
35
|
+
expect_wrapped_rule :'p.a', 'color: red'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
asset 'views/admin/admin_two.rb' do
|
|
39
|
+
expect_wrapped_rule :div, 'color: green'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
asset 'views/admin/admin_two.pcss' do
|
|
43
|
+
expect_wrapped_rule :'div.a', 'color: green'
|
|
44
|
+
end
|
|
45
|
+
end)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it "should put everything into all.css, whether explicitly inherited or via block" do
|
|
49
|
+
all = compiled_rails_asset('all.css')
|
|
50
|
+
|
|
51
|
+
all.should_match(rails_assets do
|
|
52
|
+
asset 'views/sets_rails_spec/normal_one.rb' do
|
|
53
|
+
expect_wrapped_rule :span, 'color: blue'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
asset 'views/sets_rails_spec/normal_one.pcss' do
|
|
57
|
+
expect_wrapped_rule :'span.a', 'color: blue'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
asset 'views/sets_rails_spec/normal_two.rb' do
|
|
61
|
+
expect_wrapped_rule :em, 'color: yellow'
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
asset 'views/sets_rails_spec/normal_two.pcss' do
|
|
65
|
+
expect_wrapped_rule :'em.a', 'color: yellow'
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
asset 'views/admin/admin_one.rb' do
|
|
69
|
+
expect_wrapped_rule :p, 'color: red'
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
asset 'views/admin/admin_one.pcss' do
|
|
73
|
+
expect_wrapped_rule :'p.a', 'color: red'
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
asset 'views/admin/admin_two.rb' do
|
|
77
|
+
expect_wrapped_rule :div, 'color: green'
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
asset 'views/admin/admin_two.pcss' do
|
|
81
|
+
expect_wrapped_rule :'div.a', 'color: green'
|
|
82
|
+
end
|
|
83
|
+
end)
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any styles
|
|
10
|
+
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
|
11
|
+
* file per style scope.
|
|
12
|
+
*
|
|
13
|
+
*= require_tree .
|
|
14
|
+
*= require_self
|
|
15
|
+
*= require_parcels
|
|
16
|
+
*/
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
root_dir = File.basename(File.dirname(File.dirname(File.dirname(__FILE__))))
|
|
2
|
+
module_name = root_dir.camelize
|
|
3
|
+
app_outer_module = module_name.constantize
|
|
4
|
+
app_class = app_outer_module.const_get(:Application)
|
|
5
|
+
|
|
6
|
+
app_class.configure do
|
|
7
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
|
8
|
+
|
|
9
|
+
# Code is not reloaded between requests.
|
|
10
|
+
config.cache_classes = true
|
|
11
|
+
|
|
12
|
+
# Eager load code on boot. This eager loads most of Rails and
|
|
13
|
+
# your application in memory, allowing both threaded web servers
|
|
14
|
+
# and those relying on copy on write to perform better.
|
|
15
|
+
# Rake tasks automatically ignore this option for performance.
|
|
16
|
+
config.eager_load = true
|
|
17
|
+
|
|
18
|
+
config.assets.enabled = true
|
|
19
|
+
|
|
20
|
+
# Full error reports are disabled and caching is turned on.
|
|
21
|
+
config.consider_all_requests_local = false
|
|
22
|
+
config.action_controller.perform_caching = true
|
|
23
|
+
|
|
24
|
+
# Enable Rack::Cache to put a simple HTTP cache in front of your application
|
|
25
|
+
# Add `rack-cache` to your Gemfile before enabling this.
|
|
26
|
+
# For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
|
|
27
|
+
# config.action_dispatch.rack_cache = true
|
|
28
|
+
|
|
29
|
+
# Disable Rails's static asset server (Apache or nginx will already do this).
|
|
30
|
+
config.serve_static_assets = true
|
|
31
|
+
|
|
32
|
+
# Compress JavaScripts and CSS.
|
|
33
|
+
config.assets.js_compressor = :uglifier
|
|
34
|
+
# config.assets.css_compressor = :sass
|
|
35
|
+
|
|
36
|
+
require 'null_compressor'
|
|
37
|
+
config.assets.css_compressor = NullCompressor.new
|
|
38
|
+
|
|
39
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
|
40
|
+
config.assets.compile = true
|
|
41
|
+
|
|
42
|
+
# Generate digests for assets URLs.
|
|
43
|
+
config.assets.digest = true
|
|
44
|
+
|
|
45
|
+
# `config.assets.precompile` has moved to config/initializers/assets.rb
|
|
46
|
+
|
|
47
|
+
# Specifies the header that your server uses for sending files.
|
|
48
|
+
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
|
|
49
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
|
|
50
|
+
|
|
51
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
|
52
|
+
# config.force_ssl = true
|
|
53
|
+
|
|
54
|
+
# Set to :debug to see everything in the log.
|
|
55
|
+
config.log_level = :info
|
|
56
|
+
|
|
57
|
+
# Prepend all log lines with the following tags.
|
|
58
|
+
# config.log_tags = [ :subdomain, :uuid ]
|
|
59
|
+
|
|
60
|
+
# Use a different logger for distributed setups.
|
|
61
|
+
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
|
|
62
|
+
|
|
63
|
+
# Use a different cache store in production.
|
|
64
|
+
# config.cache_store = :mem_cache_store
|
|
65
|
+
|
|
66
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
|
67
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
|
68
|
+
|
|
69
|
+
# Precompile additional assets.
|
|
70
|
+
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
|
71
|
+
# config.assets.precompile += %w( search.js )
|
|
72
|
+
|
|
73
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
|
74
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
75
|
+
# config.action_mailer.raise_delivery_errors = false
|
|
76
|
+
|
|
77
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
|
78
|
+
# the I18n.default_locale when a translation cannot be found).
|
|
79
|
+
config.i18n.fallbacks = true
|
|
80
|
+
|
|
81
|
+
# Send deprecation notices to registered listeners.
|
|
82
|
+
config.active_support.deprecation = :notify
|
|
83
|
+
|
|
84
|
+
# Disable automatic flushing of the log to improve performance.
|
|
85
|
+
# config.autoflush_log = false
|
|
86
|
+
|
|
87
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
|
88
|
+
config.log_formatter = ::Logger::Formatter.new
|
|
89
|
+
|
|
90
|
+
# Do not dump schema after migrations.
|
|
91
|
+
# config.active_record.dump_schema_after_migration = false
|
|
92
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class BasicRailsSpecController < ApplicationController
|
|
2
|
+
def simple_css
|
|
3
|
+
# nothing here
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def alongside_and_inline
|
|
7
|
+
# nothing here
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def inline_erb
|
|
11
|
+
# nothing here
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def alongside_erb
|
|
15
|
+
# nothing here
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def multiple_engines
|
|
19
|
+
# nothing here
|
|
20
|
+
end
|
|
21
|
+
end
|
data/spec/rails/templates/basic_rails_spec/app/views/basic_rails_spec/alongside_and_inline.pcss
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
div { color: blue; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
div { color: purple; }
|