uni_rails 0.1.0 → 0.2.0
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.
- checksums.yaml +4 -4
- data/lib/uni_rails/app/css.rb +20 -0
- data/lib/uni_rails/app/javascript.rb +33 -0
- data/lib/uni_rails/app/views.rb +36 -0
- data/lib/uni_rails/app.rb +30 -0
- data/lib/uni_rails/helpers/css_helper.rb +11 -0
- data/lib/uni_rails/helpers/javascript_helper.rb +17 -0
- data/lib/uni_rails/helpers.rb +4 -0
- data/lib/uni_rails/version.rb +1 -1
- data/lib/uni_rails.rb +31 -1
- metadata +23 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc6bc019cbe167f21dbc6ddceb1b5e2bae4ce66fad6dbe0d299f465e43f16fa9
|
4
|
+
data.tar.gz: 8f0805634149a9bf59a20d88d3b70ab496a60b06a230885bd2c56f4ab8fd635f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e77e7b4f67d25b7247ebd2fcd44ad1e303f031b80c3e3ac024f61404d7fe7892ea110ee989f2469d3f7fe1057c1df560bf586de91d60514f00fd5b742a49035
|
7
|
+
data.tar.gz: d88074f28ebb2868aa97db9ef470e8c271aea089b0a148c864c41c85fa7da000d0705182fbbc15e1fbd579ff4a5ee22a7fcd36b551cde842b7e62346ef8d43f9
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module UniRails
|
2
|
+
class App
|
3
|
+
class CSS
|
4
|
+
include Singleton
|
5
|
+
|
6
|
+
def self.css=(content)
|
7
|
+
instance.css = content
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.css
|
11
|
+
instance.css
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :css
|
15
|
+
def initialize
|
16
|
+
@css = ""
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module UniRails
|
2
|
+
class App
|
3
|
+
class Javascript
|
4
|
+
include Singleton
|
5
|
+
|
6
|
+
def self.imports
|
7
|
+
instance.imports
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.dependencies=(dependencies)
|
11
|
+
instance.dependencies = dependencies
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.javascript
|
15
|
+
instance.javascript
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.javascript=(content)
|
19
|
+
instance.javascript = content
|
20
|
+
end
|
21
|
+
|
22
|
+
attr_accessor :dependencies, :javascript
|
23
|
+
def initialize
|
24
|
+
@dependencies = {}
|
25
|
+
@javascript = ""
|
26
|
+
end
|
27
|
+
|
28
|
+
def imports
|
29
|
+
{ imports: dependencies }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module UniRails
|
2
|
+
class App
|
3
|
+
class Views
|
4
|
+
include Singleton
|
5
|
+
|
6
|
+
DEFAULT_LAYOUT = <<~HTML
|
7
|
+
<!DOCTYPE html>
|
8
|
+
<html>
|
9
|
+
<head>
|
10
|
+
<title>Template</title>
|
11
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
12
|
+
<%= csrf_meta_tags %>
|
13
|
+
<%= csp_meta_tag %>
|
14
|
+
|
15
|
+
<%= mono_rails_css_stylesheet %>
|
16
|
+
<%= mono_rails_import_map_tag %>
|
17
|
+
<%= mono_rails_javascript_script %>
|
18
|
+
</head>
|
19
|
+
|
20
|
+
<body>
|
21
|
+
<%= yield %>
|
22
|
+
</body>
|
23
|
+
</html>
|
24
|
+
HTML
|
25
|
+
|
26
|
+
attr_accessor :views
|
27
|
+
def initialize
|
28
|
+
@views = { 'layouts/application.html.erb' => DEFAULT_LAYOUT }
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.view_paths
|
32
|
+
[ActionView::FixtureResolver.new(instance.views)]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Pick the frameworks you want:
|
2
|
+
|
3
|
+
# require "active_model/railtie"
|
4
|
+
# require "active_job/railtie"
|
5
|
+
require "active_record/railtie"
|
6
|
+
# require "active_storage/engine"
|
7
|
+
require "action_controller/railtie"
|
8
|
+
# require "action_mailer/railtie"
|
9
|
+
# require "action_mailbox/engine"
|
10
|
+
# require "action_text/engine"
|
11
|
+
# require "action_view/railtie"
|
12
|
+
# require "action_cable/engine"
|
13
|
+
# require "rails/test_unit/railtie"
|
14
|
+
require "action_view/testing/resolvers"
|
15
|
+
|
16
|
+
module UniRails
|
17
|
+
class App < Rails::Application
|
18
|
+
config.eager_load = true
|
19
|
+
config.logger = Logger.new(STDOUT)
|
20
|
+
config.log_level = :debug
|
21
|
+
config.secret_key_base = "whatever"
|
22
|
+
|
23
|
+
config.after_initialize do
|
24
|
+
ActionController::Base.view_paths = Views.view_paths
|
25
|
+
ActionController::Base.include App.routes.url_helpers
|
26
|
+
ActionController::Base.helper Helpers::JavascriptHelper
|
27
|
+
ActionController::Base.helper Helpers::CSSHelper
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module UniRails
|
2
|
+
module Helpers
|
3
|
+
module JavascriptHelper
|
4
|
+
def mono_rails_import_map_tag
|
5
|
+
content_tag(:script, type: 'importmap') do
|
6
|
+
raw App::Javascript.imports.to_json
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def mono_rails_javascript_script
|
11
|
+
content_tag(:script, type: 'module') do
|
12
|
+
raw App::Javascript.javascript
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/uni_rails/version.rb
CHANGED
data/lib/uni_rails.rb
CHANGED
@@ -1,8 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "rails"
|
3
4
|
require_relative "uni_rails/version"
|
5
|
+
require_relative "uni_rails/helpers"
|
6
|
+
require_relative "uni_rails/helpers/css_helper"
|
7
|
+
require_relative "uni_rails/helpers/javascript_helper"
|
8
|
+
require_relative "uni_rails/app"
|
9
|
+
require_relative "uni_rails/app/css"
|
10
|
+
require_relative "uni_rails/app/javascript"
|
11
|
+
require_relative "uni_rails/app/views"
|
4
12
|
|
5
13
|
module UniRails
|
6
14
|
class Error < StandardError; end
|
7
|
-
|
15
|
+
|
16
|
+
def self.register_view(action, view)
|
17
|
+
UniRails::App::Views.instance.views[action] = view
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.run(**webrick_options)
|
21
|
+
App.initialize!
|
22
|
+
# Rackup::Handler::WEBrick.run App, **webrick_options
|
23
|
+
# Rackup::Handler::Falcon.run App, **webrick_options
|
24
|
+
Rack::Handler::Puma.run App, **webrick_options
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.import_maps(dependencies)
|
28
|
+
UniRails::App::Javascript.dependencies = dependencies
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.javascript(content)
|
32
|
+
UniRails::App::Javascript.javascript = content
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.css(content)
|
36
|
+
UniRails::App::CSS.css = content
|
37
|
+
end
|
8
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uni_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Barret
|
@@ -9,7 +9,21 @@ autorequire:
|
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2024-03-30 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '7.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '7.1'
|
13
27
|
description:
|
14
28
|
email:
|
15
29
|
- barret.alx@gmail.com
|
@@ -22,6 +36,13 @@ files:
|
|
22
36
|
- README.md
|
23
37
|
- Rakefile
|
24
38
|
- lib/uni_rails.rb
|
39
|
+
- lib/uni_rails/app.rb
|
40
|
+
- lib/uni_rails/app/css.rb
|
41
|
+
- lib/uni_rails/app/javascript.rb
|
42
|
+
- lib/uni_rails/app/views.rb
|
43
|
+
- lib/uni_rails/helpers.rb
|
44
|
+
- lib/uni_rails/helpers/css_helper.rb
|
45
|
+
- lib/uni_rails/helpers/javascript_helper.rb
|
25
46
|
- lib/uni_rails/version.rb
|
26
47
|
- sig/uni_rails.rbs
|
27
48
|
homepage: https://github.com/AlexB52/uni_rails
|