Class: React::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/react/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_componentsObject



45
46
47
48
49
# File 'lib/generators/react/install_generator.rb', line 45

def create_components
  components_js = "//= require_tree ./components\n"
  components_file = File.join(*%w(app assets javascripts components.js))
  create_file components_file, components_js
end

#create_directoryObject



14
15
16
17
# File 'lib/generators/react/install_generator.rb', line 14

def create_directory
  empty_directory 'app/assets/javascripts/components'
  create_file 'app/assets/javascripts/components/.gitkeep' unless options[:skip_git]
end

#inject_componentsObject



37
38
39
# File 'lib/generators/react/install_generator.rb', line 37

def inject_components
  inject_into_file manifest, "//= require components\n", {after: "//= require react\n"}
end

#inject_reactObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/react/install_generator.rb', line 19

def inject_react
  require_react = "//= require react\n"

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

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

#inject_react_ujsObject



41
42
43
# File 'lib/generators/react/install_generator.rb', line 41

def inject_react_ujs
  inject_into_file manifest, "//= require react_ujs\n", {after: "//= require react\n"}
end