class Emcee::Generators::InstallGenerator

Public Instance Methods

add_html_import_to_layout() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 20
def add_html_import_to_layout
  case
    when erb?
      insert_html_import("<%= html_import_tag \"application\", \"data-turbolinks-track\" => true %>", before: "<%= csrf_meta_tags %>")
    when haml? || slim?
      insert_html_import("= html_import_tag \"application\", \"data-turbolinks-track\" => true", before: "= csrf_meta_tags")
  end
end
copy_application_manifest() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 10
def copy_application_manifest
  empty_directory "app/assets/components"
  copy_file "application.html", "app/assets/components/application.html"
end
copy_bowerrc() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 29
def copy_bowerrc
  copy_file "template.bowerrc", ".bowerrc"
end
create_vendor_directory() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 15
def create_vendor_directory
  empty_directory "vendor/assets/components"
  create_file "vendor/assets/components/.keep"
end

Private Instance Methods

erb?() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 45
def erb?
  layout_file.extname.match(/\.erb/)
end
haml?() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 49
def haml?
  layout_file.extname.match(/\.haml/)
end
insert_html_import(content, options={}) click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 35
def insert_html_import(content, options={})
  # if this is a slim or haml file we need to match the indentation level
  if options[:before] && (line = layout_file.read.lines.detect {|l| l.include?(options[:before].to_s) })
    indentation = line.match(/^\s+/).to_s
    content = content + "\n#{indentation}"
  end

  insert_into_file(layout_file.to_s, content, options)
end
layout_file() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 57
def layout_file
  file = Pathname(options["layout"] || Dir[Rails.root.join("app","views","layouts","application*")].first)
  file.relative? ? file : file.relative_path_from(Rails.root)
end
slim?() click to toggle source
# File lib/generators/emcee/install/install_generator.rb, line 53
def slim?
  layout_file.extname.match(/\.slim/)
end