Skip to content

Commit ba38934

Browse files
committed
Define constants in separate module
1 parent d227ae6 commit ba38934

File tree

2 files changed

+30
-23
lines changed

2 files changed

+30
-23
lines changed

lib/dartsass/runner.rb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
module Dartsass
2+
module Runner
3+
EXEC_PATH = "#{Pathname.new(__dir__).to_s}/../../exe/dartsass"
4+
CSS_LOAD_PATH = Rails.root.join("app/assets/stylesheets")
5+
CSS_BUILD_PATH = Rails.root.join("app/assets/builds")
6+
7+
module_function
8+
9+
def dartsass_build_mapping
10+
Rails.application.config.dartsass.builds.map { |input, output|
11+
"#{CSS_LOAD_PATH.join(input)}:#{CSS_BUILD_PATH.join(output)}"
12+
}
13+
end
14+
15+
def dartsass_build_options
16+
Rails.application.config.dartsass.build_options.flat_map(&:split)
17+
end
18+
19+
def dartsass_load_paths
20+
[ CSS_LOAD_PATH ].concat(Rails.application.config.assets.paths).flat_map { |path| ["--load-path", path.to_s] }
21+
end
22+
23+
def dartsass_compile_command
24+
[ RbConfig.ruby, EXEC_PATH ].concat(dartsass_build_options).concat(dartsass_load_paths).concat(dartsass_build_mapping)
25+
end
26+
end
27+
end

lib/tasks/build.rake

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,14 @@
1-
EXEC_PATH = "#{Pathname.new(__dir__).to_s}/../../exe/dartsass"
2-
CSS_LOAD_PATH = Rails.root.join("app/assets/stylesheets")
3-
CSS_BUILD_PATH = Rails.root.join("app/assets/builds")
4-
5-
def dartsass_build_mapping
6-
Rails.application.config.dartsass.builds.map { |input, output|
7-
"#{CSS_LOAD_PATH.join(input)}:#{CSS_BUILD_PATH.join(output)}"
8-
}
9-
end
10-
11-
def dartsass_build_options
12-
Rails.application.config.dartsass.build_options.flat_map(&:split)
13-
end
14-
15-
def dartsass_load_paths
16-
[ CSS_LOAD_PATH ].concat(Rails.application.config.assets.paths).flat_map { |path| ["--load-path", path.to_s] }
17-
end
18-
19-
def dartsass_compile_command
20-
[ RbConfig.ruby, EXEC_PATH ].concat(dartsass_build_options).concat(dartsass_load_paths).concat(dartsass_build_mapping)
21-
end
1+
require "dartsass/runner"
222

233
namespace :dartsass do
244
desc "Build your Dart Sass CSS"
255
task build: :environment do
26-
system(*dartsass_compile_command, exception: true)
6+
system(*Dartsass::Runner.dartsass_compile_command, exception: true)
277
end
288

299
desc "Watch and build your Dart Sass CSS on file changes"
3010
task watch: :environment do
31-
system(*dartsass_compile_command, "--watch", exception: true)
11+
system(*Dartsass::Runner.dartsass_compile_command, "--watch", exception: true)
3212
end
3313
end
3414

0 commit comments

Comments
 (0)