Sha256: 990799dd2140d80834bb0454fa95c9118f3bcbbaf8b8528ad2b8874c1cf8ee5d

Contents?: true

Size: 939 Bytes

Versions: 3

Compression:

Stored size: 939 Bytes

Contents

require 'rails/generators'

module Openseadragon
  class Install < Rails::Generators::Base
    source_root File.expand_path('../templates', __FILE__)

    def append_javascript
      run "yarn init -y"
      gsub_file "package.json", /\.internal_test_app/, "internal_test_app" # name beginning with a dot is illegal
      run "yarn add openseadragon-rails"

      append_to_file 'app/javascript/application.js' do
        <<~CONTENT

          import "openseadragon-rails"

        CONTENT
      end
    end

    def append_image_paths
      append_to_file 'config/initializers/assets.rb' do
        "\nRails.application.config.assets.paths << Rails.root.join('node_modules/openseadragon/build/openseadragon/images')\n"
      end
    end

    def inject_helper
      inject_into_class 'app/controllers/application_controller.rb', ApplicationController do
        "  helper Openseadragon::OpenseadragonHelper\n"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openseadragon-1.0.13 lib/generators/openseadragon/install_generator.rb
openseadragon-1.0.12 lib/generators/openseadragon/install_generator.rb
openseadragon-1.0.11 lib/generators/openseadragon/install_generator.rb