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



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

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



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

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
36
# 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 manifest_contents.include? 'require turbolinks'
      inject_into_file manifest, require_react, {after: "//= require turbolinks\n"}
    elsif manifest_contents.include? 'require_tree'
      require_tree = manifest_contents.match(/\/\/= require_tree[^\n]*/)[0]
      inject_into_file manifest, require_react, {before: require_tree}
    else
      append_file manifest, require_react
    end
  else
    create_file manifest, require_react
  end
end

#inject_react_ujsObject



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

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