Sha256: a9fc3ea791ac2bfe6649f92fbdb55c1eef36ebec57ab0d00813dc0812ad54554

Contents?: true

Size: 1.34 KB

Versions: 3

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

module KepplerFrontend
  module Views
    # CodeHandler
    class JsHandler
      def initialize(view_data)
        @view = view_data
        @file = view_js(@view.name)
      end

      def install
        out_file = File.open(@file, 'w')
        out_file.puts(template)
        out_file.close
        true
      rescue StandardError
        false
      end

      def uninstall
        File.delete(@file) if File.exist?(@file)
        true
      rescue StandardError
        false
      end

      def output
        File.read(@file)
      rescue StandardError
        false
      end

      def update(name)
        File.rename(@file, view_js(name))
        true
      rescue StandardError
        false
      end

      def save(input)
        File.delete(@file) if File.exist?(@file)
        out_file = File.open(@file, 'w')
        out_file.puts(input)
        out_file.close
        true
      rescue StandardError
        false
      end

      private

      def view_js(name)
        assets = KepplerFrontend::Urls::Assets.new
        assets = assets.core_assets('javascripts', 'app')
        "#{assets}/views/#{name}.js"
      end

      def template
        "// Keppler - #{@view.name}.js file\n" \
        "$(document).ready(function(){\n" \
        "  // Use jquery functions here\n" \
        '});'
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
keppler-2.1.18 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/js_handler.rb
keppler-2.1.17 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/js_handler.rb
keppler-2.1.16 installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/js_handler.rb