Class: ReactWebpackRails::Install::ReduxGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
MergeHelpers
Defined in:
lib/generators/react_webpack_rails/install/redux_generator.rb

Constant Summary collapse

REACT_INDEX_FILE =
'app/react/index.js'

Instance Method Summary collapse

Instance Method Details

#add_importObject



22
23
24
25
26
27
28
29
# File 'lib/generators/react_webpack_rails/install/redux_generator.rb', line 22

def add_import
  inject_into_file REACT_INDEX_FILE, after: "import RWR from 'react-webpack-rails';\n" do
    "      import RWRRedux from 'rwr-redux';\n\n    JS\n  end\nend\n".strip_heredoc

#add_integration_managersObject



37
38
39
40
41
42
43
44
45
# File 'lib/generators/react_webpack_rails/install/redux_generator.rb', line 37

def add_integration_managers
  inject_into_file REACT_INDEX_FILE, after: "RWR.run();\n" do
    "\n      integrationsManager.register('redux-store', RWRRedux.storeIntegrationWrapper);\n      integrationsManager.register('redux-container', RWRRedux.containerIntegrationWrapper);\n    JS\n  end\nend\n".strip_heredoc

#add_rwr_reduxObject



47
48
49
50
51
52
53
# File 'lib/generators/react_webpack_rails/install/redux_generator.rb', line 47

def add_rwr_redux
  append_file 'Gemfile' do
    "      gem 'rwr-redux'\n    RB\n  end\nend\n".strip_heredoc

#gsub_rwr_importObject



31
32
33
34
35
# File 'lib/generators/react_webpack_rails/install/redux_generator.rb', line 31

def gsub_rwr_import
  old_line = "import RWR from 'react-webpack-rails';"
  new_line = "import RWR, { integrationsManager } from 'react-webpack-rails';"
  gsub_file REACT_INDEX_FILE, old_line, new_line
end

#packageObject



17
18
19
20
# File 'lib/generators/react_webpack_rails/install/redux_generator.rb', line 17

def package
  merge_options = options.tmp_package ? { package_file: 'tmp/package.json', force: true } : {}
  merge_into_package 'packages/redux.json', merge_options
end