class Searchkit::Generators::InstallGenerator

Public Instance Methods

inject_searchkit() click to toggle source
# File lib/generators/searchkit/install_generator.rb, line 14
def inject_searchkit
  require_searchkit_js  = "//= require searchkit\n"
  require_searchkit_css = "*= require searchkit\n"

  # Inject on js
  if js_manifest.exist?
    manifest_contents = File.read(js_manifest)

    if match = manifest_contents.match(/\/\/=\s+require\s+react\s+\n/)
      inject_into_file js_manifest, require_searchkit_js, { before: match[0] }
    else
      append_file js_manifest, require_searchkit_js
    end
  else
    create_file js_manifest, require_searchkit_js
  end

  # Inject on css
  if css_manifest.exist?
    manifest_contents = File.read(css_manifest)

    if match = manifest_contents.match(/\/\/=\s+require_tree[^\n]*/)
      inject_into_file css_manifest, require_searchkit_css, { after: match[0] }
    else
      append_file css_manifest, require_searchkit_css
    end
  else
    create_file css_manifest, require_searchkit_css
  end
end

Private Instance Methods

css_manifest() click to toggle source
# File lib/generators/searchkit/install_generator.rb, line 51
def css_manifest
  Pathname.new(destination_root).join('app/assets/stylesheets', 'application.css')
end
js_manifest() click to toggle source
# File lib/generators/searchkit/install_generator.rb, line 47
def js_manifest
  Pathname.new(destination_root).join('app/assets/javascripts', 'application.js')
end