Class: OpalWebpackLoader::Installer::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/opal-webpack-loader/installer_cli.rb

Instance Method Summary collapse

Instance Method Details

#flat ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/opal-webpack-loader/installer_cli.rb', line 72

def flat
  @asset_output_directory = File.join('public', 'assets')
  @js_entrypoints_directory = File.join('javascripts')
  @conf_rel_prefix = '..'
  @js_rel_prefix = '..'
  @opal_directory = options[:opal_name]
  @styles_directory = 'styles'
  @webpack_config_directory = 'webpack'
  create_directory(@styles_directory)
  create_common_directories
  install_common_things
  create_file_from_template('initializer.rb.erb', 'owl_init.rb', { opal_directory: @opal_directory })
  create_file_from_template('app_loader.rb.erb', 'app_loader.rb', {})
  add_gem
  print_message
  puts "Make sure to require the owl initializer, e.g. `require './owl_init'`, in your projects startup file."
end

#iso ⇒ Object

Showing directories and files relevant to iso owl:

project_root
+- config.ru # rack app starter
+- config # webpack and other config
    +- owl.rb # owl.configuration
+- isomorfeus
    +- components
    +- imports # javascript entrypoints, import other components etc.
         +- application.js
         +- application_common.js
         +- application_debug.js
         +- application_ssr.js
    +- isomorfeus_loader.rb
    +- models
    +- operations
    +- policies
    +- styles
         +- css
+- log
+- node_modules
+- package.json
+- Procfile
+- public
     +- assets # compiled assets and other things
+- spec
+- tmp


35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/opal-webpack-loader/installer_cli.rb', line 35

def iso
  @asset_output_directory = File.join('public', 'assets')
  @js_entrypoints_directory = File.join('isomorfeus', 'imports')
  @conf_rel_prefix = '..'
  @js_rel_prefix = '..'
  @opal_directory = 'isomorfeus'
  @styles_directory = File.join(@opal_directory, 'styles')
  @webpack_config_directory = 'webpack'
  create_common_directories
  create_isomorfeus_directories
  install_webpack_config
  create_file_from_template('initializer.rb.erb', File.join('config', 'owl_init.rb'), {})
  add_gem
  print_message
end

#rails ⇒ Object



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/opal-webpack-loader/installer_cli.rb', line 115

def rails
  @asset_output_directory = File.join('public', 'assets')
  @js_entrypoints_directory = File.join('app', 'assets', 'javascripts')
  @conf_rel_prefix = File.join('..', '..')
  @js_rel_prefix = File.join('..', '..', '..')
  @opal_directory = File.join('app', options[:opal_name])
  @styles_directory = File.join('app', 'assets', 'stylesheets')
  @webpack_config_directory = File.join('config', 'webpack')
  create_directory('app')
  create_directory(@styles_directory)
  create_common_directories
  install_common_things
  create_file_from_template('initializer.rb.erb', File.join('config', 'initializers', 'opal_webpack_loader.rb'),
                            { opal_directory: @opal_directory })
  add_gem
  print_message
end