isomorfeus-installer 1.0.0.delta1

Sign up to get free protection for your applications and to get access to all the features.
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: []