class ComponentGenerator

Public Instance Methods

create_component_directory() click to toggle source
# File lib/generators/component/component_generator.rb, line 17
def create_component_directory
        empty_directory("client/app/components/#{name}")
end
create_component_index() click to toggle source
# File lib/generators/component/component_generator.rb, line 21
        def create_component_index
                create_file "client/app/components/#{name}/#{name}.js",
"import React, { Component } from 'react';

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

export default #{name};"
                inject_into_file "client/app/registration.jsx", "  #{name},\n", :before => /^}/
                inject_into_file "client/app/registration.jsx", "import #{name} from './components/#{name}/#{name}';\n", :after => "import ReactOnRails from 'react-on-rails';\n"
        end
create_route() click to toggle source
# File lib/generators/component/component_generator.rb, line 4
def create_route
        route "get '#{name}', to: '#{name}#index'"
end
create_view() click to toggle source
# File lib/generators/component/component_generator.rb, line 12
def create_view
        create_file "app/views/pages/components/#{name}/#{name}.html.erb", "<%= react_component('#{name}', {prerender: false}) %>"
        create_file "app/assets/stylesheets/#{name}.scss"
end
create_view_directory() click to toggle source
# File lib/generators/component/component_generator.rb, line 8
def create_view_directory
        empty_directory("app/views/pages/components/#{name}")
end