class ReactRailsModal::Generators::InstallGenerator

Public Instance Methods

inject_react_rails_modal() click to toggle source
# File lib/generators/react_rails_modal/install_generator.rb, line 6
def inject_react_rails_modal
  require_react_rails_modal = "//= require react_rails_modal\n"

  if manifest.exist?
    manifest_contents = File.read(manifest)

    if match = manifest_contents.match(/\/\/=\s+require_tree[^\n]*/)
      inject_into_file manifest, require_react_rails_modal, { before: match[0] }
    else
      append_file manifest, require_react_rails_modal
      inject_react_rails
    end
  else
    create_file manifest, require_react_rails_modal
    inject_react_rails
  end
end

Private Instance Methods

inject_react_rails() click to toggle source
# File lib/generators/react_rails_modal/install_generator.rb, line 30
def inject_react_rails
  inject_into_file manifest, "//= require react\n", {before: "//= require react_rails_modal\n"}
  inject_into_file manifest, "//= require components\n", {after: "//= require react\n"}
  inject_into_file manifest, "//= require react_ujs\n", {after: "//= require react\n"}
end
manifest() click to toggle source
# File lib/generators/react_rails_modal/install_generator.rb, line 26
def manifest
  Pathname.new(destination_root).join('app/assets/javascripts', 'application.js')
end