Sha256: a1a6e5183587a372724afffae0ceb05e9974a1c7aecbe3c7edb236ca3c70067d

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module KepplerFrontend
  module LiveEditor
    # CssHandler
    class ComponentsHandler
      def initialize; end

      def output
        list_components = []
        components = Dir["#{core_app}/**/*.html"]
        components.each do |component|
          lines = File.readlines(component)
          list_components << [script(component), content(lines)]
        end
        list_components
      end

      private

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

      def script(component)
        lines = File.readlines(component)
        find = KepplerFrontend::Utils::CodeSearch.new(lines)
        idx = find.search_section('<script>', '</script>')
        lines = lines[idx[0] + 1..idx[1] - 1].join('').delete("\n")
        "[#{lines}]"
      end

      def content(lines)
        find = KepplerFrontend::Utils::CodeSearch.new(lines)
        idx = find.search_section('<keppler-component>', '</keppler-component>')
        lines[idx[0] + 1..idx[1] - 1].join('')
      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/components_handler.rb
keppler-2.1.5 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/live_editor/components_handler.rb