Class: ContainerGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/container/container_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_container_filesObject



39
40
41
42
43
# File 'lib/generators/container/container_generator.rb', line 39

def copy_container_files
copy_file "container/constants.js", "client/app/containers/#{name}/constants.js"
copy_file "container/actions.js", "client/app/containers/#{name}/actions.js"
copy_file "container/reducer.js", "client/app/containers/#{name}/reducer.js"
end

#create_contianer_indexObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/container/container_generator.rb', line 21

def create_contianer_index
	create_file "client/app/containers/#{name}/#{name}.js",
"import React, { Component } from 'react';
import * as actions from './actions';

class #{name} extends Component {
 render() {
   return (
     <div>#{name} Container</div>
   );
 }
}

export default #{name};"
	inject_into_file "client/app/registration.jsx", "  #{name},\n", :before => /^}/
	inject_into_file "client/app/registration.jsx", "import #{name} from './containers/#{name}/#{name}';\n", :after => "import ReactOnRails from 'react-on-rails';\n"
end

#create_directoryObject



8
9
10
# File 'lib/generators/container/container_generator.rb', line 8

def create_directory
	empty_directory("app/views/pages/containers/#{name}")
end

#create_routeObject



4
5
6
# File 'lib/generators/container/container_generator.rb', line 4

def create_route
	route "get '#{name}', to: '#{name}#index'"
end

#create_viewObject



12
13
14
15
# File 'lib/generators/container/container_generator.rb', line 12

def create_view
	create_file "app/views/pages/containers/#{name}/#{name}.html.erb", "<%= react_component('#{name}', {prerender: false}) %>"
	create_file "app/assets/stylesheets/#{name}.scss"
end