Sha256: 1bccd7c0a4d5f2389b8ca83ec36b06d6c134e9b23ecaa058f0f4ea484f4ef400

Contents?: true

Size: 973 Bytes

Versions: 2

Compression:

Stored size: 973 Bytes

Contents

# frozen_string_literal: true

require 'sass/css'

module KepplerFrontend
  module LiveEditor
    # CssHandler
    class CssHandler
      def initialize(view_name)
        @view_name = view_name
      end

      def output
        css_url = "#{core_css_app}/views/#{@view_name}.scss"
        begin
          css = convert(css_url).to_css
          lines = css.split("\n").select { |l| l unless l.include?('//') }
          lines.join
        rescue StandardError
          nil
        end
      end

      def save(css)
        file = "#{core_css_app}/views/#{@view_name}.scss"
        File.delete(file) if File.exist?(file)
        out_file = File.open(file, 'w')
        out_file.puts(convert(css).to_scss)
        out_file.close
      end

      private

      def core_css_app
        urls = KepplerFrontend::Urls::Assets.new
        urls.core_assets('stylesheets', 'app')
      end

      def convert(input)
        Css::Convert.new(input)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
keppler-2.1.6 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/live_editor/css_handler.rb
keppler-2.1.5 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/live_editor/css_handler.rb