summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb b/vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb
new file mode 100644
index 0000000..4ecd8a7
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/sass-embedded-1.89.2-arm64-darwin/lib/sass/embedded.rb
@@ -0,0 +1,68 @@
+# frozen_string_literal: true
+
+require_relative 'compiler'
+
+# The Sass module.
+#
+# This communicates with Embedded Dart Sass using the Embedded Sass protocol.
+#
+# @example
+# Sass.compile('style.scss')
+#
+# @example
+# Sass.compile_string('h1 { font-size: 40px; }')
+module Sass
+ @compiler = nil
+ @mutex = Mutex.new
+
+ # rubocop:disable Layout/LineLength
+ class << self
+ # Compiles the Sass file at +path+ to CSS.
+ # @overload compile(path, load_paths: [], charset: true, source_map: false, source_map_include_sources: false, style: :expanded, functions: {}, importers: [], alert_ascii: false, alert_color: nil, fatal_deprecations: [], future_deprecations: [], logger: nil, quiet_deps: false, silence_deprecations: [], verbose: false)
+ # @param (see Compiler#compile)
+ # @return (see Compiler#compile)
+ # @raise (see Compiler#compile)
+ # @see Compiler#compile
+ def compile(...)
+ compiler.compile(...)
+ end
+
+ # Compiles a stylesheet whose contents is +source+ to CSS.
+ # @overload compile_string(source, importer: nil, load_paths: [], syntax: :scss, url: nil, charset: true, source_map: false, source_map_include_sources: false, style: :expanded, functions: {}, importers: [], alert_ascii: false, alert_color: nil, fatal_deprecations: [], future_deprecations: [], logger: nil, quiet_deps: false, silence_deprecations: [], verbose: false)
+ # @param (see Compiler#compile_string)
+ # @return (see Compiler#compile_string)
+ # @raise (see Compiler#compile_string)
+ # @see Compiler#compile_string
+ def compile_string(...)
+ compiler.compile_string(...)
+ end
+
+ # @param (see Compiler#info)
+ # @return (see Compiler#info)
+ # @raise (see Compiler#info)
+ # @see Compiler#info
+ def info
+ compiler.info
+ end
+
+ private
+
+ def compiler
+ return @compiler if @compiler
+
+ @mutex.synchronize do
+ return @compiler if @compiler
+
+ compiler = Compiler.allocate
+ compiler.instance_variable_set(:@channel, Compiler.const_get(:Channel).new(idle_timeout: 10))
+
+ at_exit do
+ compiler.close
+ end
+
+ @compiler = compiler
+ end
+ end
+ end
+ # rubocop:enable Layout/LineLength
+end