isomorfeus-installer 1.0.0.delta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +0 -0
  3. data/bin/isomorfeus +137 -0
  4. data/isomorfeus-installer.gemspec +19 -0
  5. data/lib/isomorfeus/installer.rb +234 -0
  6. data/lib/isomorfeus/installer/asset_bundlers/opal_webpack_loader.rb +103 -0
  7. data/lib/isomorfeus/installer/databases/arangodb.rb +11 -0
  8. data/lib/isomorfeus/installer/databases/mysql.rb +11 -0
  9. data/lib/isomorfeus/installer/databases/neo4j.rb +11 -0
  10. data/lib/isomorfeus/installer/databases/none.rb +11 -0
  11. data/lib/isomorfeus/installer/databases/postgresql.rb +11 -0
  12. data/lib/isomorfeus/installer/frameworks/cuba.rb +26 -0
  13. data/lib/isomorfeus/installer/frameworks/rails.rb +78 -0
  14. data/lib/isomorfeus/installer/frameworks/roda.rb +26 -0
  15. data/lib/isomorfeus/installer/frameworks/sinatra.rb +26 -0
  16. data/lib/isomorfeus/installer/spectre.rb +0 -0
  17. data/lib/isomorfeus/installer/templates/Gemfile.erb +15 -0
  18. data/lib/isomorfeus/installer/templates/Procfile.erb +2 -0
  19. data/lib/isomorfeus/installer/templates/application.js.erb +29 -0
  20. data/lib/isomorfeus/installer/templates/cuba/config_ru.erb +48 -0
  21. data/lib/isomorfeus/installer/templates/isomorfeus_loader.rb.erb +8 -0
  22. data/lib/isomorfeus/installer/templates/my_app.rb.erb +17 -0
  23. data/lib/isomorfeus/installer/templates/my_component.rb.erb +12 -0
  24. data/lib/isomorfeus/installer/templates/owl/development.js.erb +145 -0
  25. data/lib/isomorfeus/installer/templates/owl/production.js.erb +93 -0
  26. data/lib/isomorfeus/installer/templates/owl/test.js.erb +0 -0
  27. data/lib/isomorfeus/installer/templates/package.json.erb +21 -0
  28. data/lib/isomorfeus/installer/templates/rails/application.html.erb.head +6 -0
  29. data/lib/isomorfeus/installer/templates/rails/application.html.erb.tail +6 -0
  30. data/lib/isomorfeus/installer/templates/rails/application_controller.rb +5 -0
  31. data/lib/isomorfeus/installer/templates/rails/application_helper.rb.erb +3 -0
  32. data/lib/isomorfeus/installer/templates/rails/assets.rb.erb +1 -0
  33. data/lib/isomorfeus/installer/templates/rails/basic-react.rb +453 -0
  34. data/lib/isomorfeus/installer/templates/rails/index.html +1 -0
  35. data/lib/isomorfeus/installer/templates/rails/routes.rb +5 -0
  36. data/lib/isomorfeus/installer/templates/roda/config_ru.erb +39 -0
  37. data/lib/isomorfeus/installer/templates/sinatra/config_ru.erb +38 -0
  38. data/lib/isomorfeus/installer/transport.rb +0 -0
  39. data/lib/isomorfeus/installer/transport_store.rb +0 -0
  40. data/lib/isomorfeus/installer/transports/actioncable.rb +11 -0
  41. data/readme.md +69 -0
  42. metadata +97 -0
@@ -0,0 +1 @@
1
+ <div></div>
@@ -0,0 +1,5 @@
1
+ Rails.application.routes.draw do
2
+ # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
3
+ root 'application#index'
4
+ get '*path', to: 'application#index'
5
+ end
@@ -0,0 +1,39 @@
1
+ <%= requires %>
2
+
3
+ <%= asset_bundler_config %>
4
+
5
+ class App < Roda
6
+ <%= asset_bundler_includes %>
7
+ route do |r|
8
+ r.root do
9
+ <<~HTML
10
+ <html>
11
+ <head>
12
+ <title>Welcome</title>
13
+ #{<%= script_tag %>}
14
+ </head>
15
+ <body>
16
+ <div></div>
17
+ </body>
18
+ </html>
19
+ HTML
20
+ end
21
+
22
+ r.on /.*/ do
23
+ # wildcard to access any component
24
+ <<~HTML
25
+ <html>
26
+ <head>
27
+ <title>Welcome</title>
28
+ #{<%= script_tag %>}
29
+ </head>
30
+ <body>
31
+ <div></div>
32
+ </body>
33
+ </html>
34
+ HTML
35
+ end
36
+ end
37
+ end
38
+
39
+ run App.freeze.app
@@ -0,0 +1,38 @@
1
+ <%= requires %>
2
+
3
+ <%= asset_bundler_config %>
4
+
5
+ class App < Sinatra::Base
6
+ <%= asset_bundler_includes %>
7
+
8
+ get '/' do
9
+ <<~HTML
10
+ <html>
11
+ <head>
12
+ <title>Welcome</title>
13
+ #{<%= script_tag %>}
14
+ </head>
15
+ <body>
16
+ <div></div>
17
+ </body>
18
+ </html>
19
+ HTML
20
+ end
21
+
22
+ get /.*/ do
23
+ # wildcard to access any component
24
+ <<~HTML
25
+ <html>
26
+ <head>
27
+ <title>Welcome</title>
28
+ #{<%= script_tag %>}
29
+ </head>
30
+ <body>
31
+ <div></div>
32
+ </body>
33
+ </html>
34
+ HTML
35
+ end
36
+ end
37
+
38
+ run App
File without changes
File without changes
@@ -0,0 +1,11 @@
1
+ module Isomorfeus
2
+ module Installer
3
+ module Transports
4
+ module ActionCable
5
+
6
+ end
7
+ end
8
+ end
9
+ end
10
+
11
+ Isomorfeus::Installer.add_transport('actioncable', {})
data/readme.md ADDED
@@ -0,0 +1,69 @@
1
+ # Isomorfeus Framework Installer
2
+
3
+ Create new isomorfeus applications with ease.
4
+
5
+ #### Supported Frameworks
6
+ - Cuba
7
+ - Rails
8
+ - Roda
9
+ - Sinatra
10
+
11
+ #### Supported Isomorfeus modules
12
+ - isomorfeus-react
13
+ - isomorfeus-redux
14
+
15
+ #### Supported asset bundlers
16
+ - webpack with opal-webpack-loader
17
+
18
+ ## Installation
19
+ ```bash
20
+ gem install isomorfeus-installer
21
+ ```
22
+
23
+ ## Creating new applications
24
+ After running the installer execute:
25
+ ```bash
26
+ bundle install
27
+ yarn install
28
+ ```
29
+ to install all gems and npms.
30
+
31
+ ### Options
32
+ ```bash
33
+ isomorfeus -h
34
+ ```
35
+ ```
36
+ Usage: isomorfeus options...
37
+
38
+ Required:
39
+ -n, --new=NAME Create new project with NAME and install isomorfeus.
40
+
41
+ Also required in any case is:
42
+ -f, --framework=FRAMEWORK Select base Framework, one of: cuba, rails, roda, sinatra.
43
+
44
+ Other options:
45
+ -a, --asset-bundler=BUNDLER Select asset bundler, one of: owl. (optional)
46
+
47
+ -h, --help Prints this help
48
+ ```
49
+ ### Examples
50
+ Creating a **Cuba** app with opal-webpack-loader as asset bundler:
51
+ ```bash
52
+ isomorfeus --new=my_app --framework=cuba --asset-bundler=owl
53
+ ```
54
+ Short form:
55
+ ```bash
56
+ isomorfeus -nmy_app -fcuba -aowl
57
+ ```
58
+ Creating a **Rails** app with opal-webpack-loader as asset bundler:
59
+ ```bash
60
+ isomorfeus --new=my_app --framework=rails --asset-bundler=owl
61
+ ```
62
+ Creating a **Roda** app with opal-webpack-loader as asset bundler:
63
+ ```bash
64
+ isomorfeus --new=my_app --framework=roda --asset-bundler=owl
65
+ ```
66
+ Creating a **Sinatra** app with opal-webpack-loader as asset bundler:
67
+ ```bash
68
+ isomorfeus --new=my_app --framework=rsinatra --asset-bundler=owl
69
+ ```
metadata ADDED
@@ -0,0 +1,97 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: isomorfeus-installer
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.delta1
5
+ platform: ruby
6
+ authors:
7
+ - Jan Biedermann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ description: Create new isomorfeus-framework applications with ease.
28
+ email: jan@kursator.de
29
+ executables:
30
+ - isomorfeus
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - Gemfile
35
+ - bin/isomorfeus
36
+ - isomorfeus-installer.gemspec
37
+ - lib/isomorfeus/installer.rb
38
+ - lib/isomorfeus/installer/asset_bundlers/opal_webpack_loader.rb
39
+ - lib/isomorfeus/installer/databases/arangodb.rb
40
+ - lib/isomorfeus/installer/databases/mysql.rb
41
+ - lib/isomorfeus/installer/databases/neo4j.rb
42
+ - lib/isomorfeus/installer/databases/none.rb
43
+ - lib/isomorfeus/installer/databases/postgresql.rb
44
+ - lib/isomorfeus/installer/frameworks/cuba.rb
45
+ - lib/isomorfeus/installer/frameworks/rails.rb
46
+ - lib/isomorfeus/installer/frameworks/roda.rb
47
+ - lib/isomorfeus/installer/frameworks/sinatra.rb
48
+ - lib/isomorfeus/installer/spectre.rb
49
+ - lib/isomorfeus/installer/templates/Gemfile.erb
50
+ - lib/isomorfeus/installer/templates/Procfile.erb
51
+ - lib/isomorfeus/installer/templates/application.js.erb
52
+ - lib/isomorfeus/installer/templates/cuba/config_ru.erb
53
+ - lib/isomorfeus/installer/templates/isomorfeus_loader.rb.erb
54
+ - lib/isomorfeus/installer/templates/my_app.rb.erb
55
+ - lib/isomorfeus/installer/templates/my_component.rb.erb
56
+ - lib/isomorfeus/installer/templates/owl/development.js.erb
57
+ - lib/isomorfeus/installer/templates/owl/production.js.erb
58
+ - lib/isomorfeus/installer/templates/owl/test.js.erb
59
+ - lib/isomorfeus/installer/templates/package.json.erb
60
+ - lib/isomorfeus/installer/templates/rails/application.html.erb.head
61
+ - lib/isomorfeus/installer/templates/rails/application.html.erb.tail
62
+ - lib/isomorfeus/installer/templates/rails/application_controller.rb
63
+ - lib/isomorfeus/installer/templates/rails/application_helper.rb.erb
64
+ - lib/isomorfeus/installer/templates/rails/assets.rb.erb
65
+ - lib/isomorfeus/installer/templates/rails/basic-react.rb
66
+ - lib/isomorfeus/installer/templates/rails/index.html
67
+ - lib/isomorfeus/installer/templates/rails/routes.rb
68
+ - lib/isomorfeus/installer/templates/roda/config_ru.erb
69
+ - lib/isomorfeus/installer/templates/sinatra/config_ru.erb
70
+ - lib/isomorfeus/installer/transport.rb
71
+ - lib/isomorfeus/installer/transport_store.rb
72
+ - lib/isomorfeus/installer/transports/actioncable.rb
73
+ - readme.md
74
+ homepage: http://isomorfeus.com
75
+ licenses: []
76
+ metadata: {}
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">"
89
+ - !ruby/object:Gem::Version
90
+ version: 1.3.1
91
+ requirements: []
92
+ rubyforge_project:
93
+ rubygems_version: 2.7.6
94
+ signing_key:
95
+ specification_version: 4
96
+ summary: Create new isomorfeus-framework applications with ease.
97
+ test_files: []