dry-web-roda 0.11.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -6
- data/CHANGELOG.md +11 -0
- data/Gemfile +4 -4
- data/dry-web-roda.gemspec +1 -1
- data/lib/dry/web/roda/generators/abstract_project.rb +2 -2
- data/lib/dry/web/roda/generators/sub_app.rb +2 -2
- data/lib/dry/web/roda/templates/Gemfile +8 -5
- data/lib/dry/web/roda/templates/container.rb.tt +2 -0
- data/lib/dry/web/roda/templates/flat_project/web.rb.tt +3 -1
- data/lib/dry/web/roda/templates/monitor.rb.tt +1 -0
- data/lib/dry/web/roda/templates/subapp/view.rb.tt +17 -0
- data/lib/dry/web/roda/templates/subapp/view_context.rb.tt +8 -0
- data/lib/dry/web/roda/templates/subapp/web.rb.tt +3 -1
- data/lib/dry/web/roda/templates/subapp/welcome.rb.tt +2 -2
- data/lib/dry/web/roda/templates/view.rb.tt +15 -0
- data/lib/dry/web/roda/templates/view_context.rb.tt +31 -0
- data/lib/dry/web/roda/templates/welcome.rb.tt +2 -2
- data/lib/dry/web/roda/version.rb +1 -1
- data/lib/roda/plugins/dry_view.rb +6 -3
- metadata +9 -10
- data/lib/dry/web/roda/templates/subapp/view__context.rb.tt +0 -10
- data/lib/dry/web/roda/templates/subapp/view__controller.rb.tt +0 -19
- data/lib/dry/web/roda/templates/view__context.rb.tt +0 -41
- data/lib/dry/web/roda/templates/view__controller.rb.tt +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de59ba21d0b5c59a9a8292a73bb94b2101d135bb95d906bd560ef9dd625b613e
|
4
|
+
data.tar.gz: f8f437a3077df4f3b4dc13e69fe47ca0d3338bdad3283b217b883d3fb8e5e96d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f49bcbf08f9b51f870a1919029251eed84309f2b19e2db9868d784f576ed0b4dd151b6956a8b3bd0ee6a8b47e7803497623b3f6e3d5f644b0380415e3e748c2a
|
7
|
+
data.tar.gz: b7a78d5ea09833ef49ffebcf409b0514ef96abee6b56e8548931cc3b2819ac181e5805319036bd26b4d913bf31658375404397ae953a8bbb51334592dc93467b
|
data/.travis.yml
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
language: ruby
|
2
2
|
dist: trusty
|
3
|
-
sudo: false
|
4
3
|
services:
|
5
4
|
- postgresql
|
6
5
|
cache: bundler
|
@@ -12,16 +11,17 @@ before_script:
|
|
12
11
|
script:
|
13
12
|
- ./script/ci
|
14
13
|
rvm:
|
15
|
-
- 2.
|
16
|
-
- 2.
|
17
|
-
- 2.
|
18
|
-
-
|
14
|
+
- 2.6.2
|
15
|
+
- 2.5.5
|
16
|
+
- 2.4.5
|
17
|
+
- 2.3.8
|
18
|
+
- jruby-9.2.6.0
|
19
19
|
env:
|
20
20
|
global:
|
21
21
|
- JRUBY_OPTS='--dev -J-Xmx1024M'
|
22
22
|
matrix:
|
23
23
|
allow_failures:
|
24
|
-
- rvm: jruby-9.
|
24
|
+
- rvm: jruby-9.2.6.0
|
25
25
|
notifications:
|
26
26
|
email: false
|
27
27
|
webhooks:
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# 0.12.0 - 2019-04-16
|
2
|
+
|
3
|
+
### Changed
|
4
|
+
|
5
|
+
- Update generated app to work with latest releases of dry-rb gems, including dry-view 0.7.0 and dry-monitor 0.3.0 (parndt in [#94][pr94])
|
6
|
+
- [BREAKING] `view` roda helper now expects the dry-view context object to be registered in the container as `"view_context"` (instead of previous `"view.context"`) (parndt in [#94][pr94])
|
7
|
+
|
8
|
+
[pr94]: https://github.com/dry-rb/dry-web-roda/pull/94/files
|
9
|
+
|
10
|
+
[Compare v0.11.0...v0.12.0](https://github.com/dry-rb/dry-web-roda/compare/v0.11.0...v0.12.0)
|
11
|
+
|
1
12
|
# 0.11.0 - 2018-02-21
|
2
13
|
|
3
14
|
### Changed
|
data/Gemfile
CHANGED
@@ -15,14 +15,14 @@ gem "pg"
|
|
15
15
|
gem "rom", "~> 4.0"
|
16
16
|
gem "rom-factory", "~> 0.5"
|
17
17
|
gem "rom-sql", "~> 2.1"
|
18
|
-
gem "dry-matcher", "~> 0.
|
19
|
-
gem "dry-monads", "~>
|
18
|
+
gem "dry-matcher", "~> 0.7"
|
19
|
+
gem "dry-monads", "~> 1.2"
|
20
20
|
gem "dry-struct", "~> 0.3"
|
21
21
|
gem "dry-system", "~> 0.9"
|
22
|
-
gem "dry-transaction", "~> 0.
|
22
|
+
gem "dry-transaction", "~> 0.13"
|
23
23
|
gem "dry-types", "~> 0.12"
|
24
24
|
gem "dry-validation", "~> 0.11"
|
25
|
-
gem "dry-view", "~> 0.
|
25
|
+
gem "dry-view", "~> 0.7"
|
26
26
|
gem "dry-web", "~> 0.8"
|
27
27
|
gem "slim"
|
28
28
|
gem "pry-byebug", platform: :mri
|
data/dry-web-roda.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_runtime_dependency "thor", "~> 0.19"
|
28
28
|
|
29
29
|
spec.add_development_dependency "aruba"
|
30
|
-
spec.add_development_dependency "bundler", "
|
30
|
+
spec.add_development_dependency "bundler", ">= 1.7"
|
31
31
|
spec.add_development_dependency "rake", "~> 11.0"
|
32
32
|
spec.add_development_dependency "rspec", "~> 3.4"
|
33
33
|
spec.add_development_dependency "capybara", "~> 2.5"
|
@@ -53,8 +53,8 @@ module Dry
|
|
53
53
|
add_template('repository.rb.tt', "lib/#{underscored_project_name}/repository.rb")
|
54
54
|
add_template('.keep', 'lib/persistence/relations/.keep')
|
55
55
|
add_template('.keep', 'lib/persistence/commands/.keep')
|
56
|
-
add_template('
|
57
|
-
add_template('
|
56
|
+
add_template('view_context.rb.tt', "lib/#{underscored_project_name}/view_context.rb")
|
57
|
+
add_template('view.rb.tt', "lib/#{underscored_project_name}/view.rb")
|
58
58
|
end
|
59
59
|
|
60
60
|
def add_log
|
@@ -34,8 +34,8 @@ module Dry
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def add_lib
|
37
|
-
add_template('subapp/
|
38
|
-
add_template('subapp/
|
37
|
+
add_template('subapp/view_context.rb.tt', "#{lib_path}/view_context.rb")
|
38
|
+
add_template('subapp/view.rb.tt', "#{lib_path}/view.rb")
|
39
39
|
add_template('subapp/welcome.rb.tt', "#{lib_path}/views/welcome.rb")
|
40
40
|
end
|
41
41
|
|
@@ -10,7 +10,6 @@ gem "puma"
|
|
10
10
|
gem "rack_csrf"
|
11
11
|
|
12
12
|
gem "rack", ">= 2.0"
|
13
|
-
gem "rerun"
|
14
13
|
|
15
14
|
# Database persistence
|
16
15
|
gem "pg"
|
@@ -18,19 +17,23 @@ gem "rom", "~> 4.0"
|
|
18
17
|
gem "rom-sql", "~> 2.1"
|
19
18
|
|
20
19
|
# Application dependencies
|
21
|
-
gem "dry-matcher", "~> 0.
|
22
|
-
gem "dry-monads", "~>
|
20
|
+
gem "dry-matcher", "~> 0.7"
|
21
|
+
gem "dry-monads", "~> 1.2"
|
23
22
|
gem "dry-struct", "~> 0.3"
|
24
|
-
gem "dry-transaction", "~> 0.
|
23
|
+
gem "dry-transaction", "~> 0.13"
|
25
24
|
gem "dry-types", "~> 0.12"
|
26
25
|
gem "dry-validation", "~> 0.11"
|
27
|
-
gem "dry-view", "~> 0.
|
26
|
+
gem "dry-view", "~> 0.7"
|
28
27
|
gem "slim"
|
29
28
|
|
30
29
|
group :development, :test do
|
31
30
|
gem "pry-byebug", platform: :mri
|
32
31
|
end
|
33
32
|
|
33
|
+
group :development do
|
34
|
+
gem "rerun"
|
35
|
+
end
|
36
|
+
|
34
37
|
group :test do
|
35
38
|
gem "capybara"
|
36
39
|
gem "capybara-screenshot"
|
@@ -11,19 +11,21 @@ module <%= config[:camel_cased_app_name] %>
|
|
11
11
|
opts[:root] = Pathname(__FILE__).join("../..").realpath.dirname
|
12
12
|
|
13
13
|
use Rack::Session::Cookie, key: "<%= config[:underscored_project_name] %>.session", secret: self["settings"].session_secret
|
14
|
+
use Rack::MethodOverride
|
14
15
|
|
15
16
|
plugin :csrf, raise: true
|
16
17
|
plugin :dry_view
|
17
18
|
plugin :error_handler
|
18
19
|
plugin :flash
|
19
20
|
plugin :multi_route
|
21
|
+
plugin :all_verbs
|
20
22
|
|
21
23
|
route do |r|
|
22
24
|
# Enable this after writing your first web/routes/ file
|
23
25
|
# r.multi_route
|
24
26
|
|
25
27
|
r.root do
|
26
|
-
r.view
|
28
|
+
r.view :welcome
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# auto_register: false
|
2
|
+
|
3
|
+
require "slim"
|
4
|
+
require "dry/view"
|
5
|
+
require "<%= config[:underscored_umbrella_name] %>/<%= config[:underscored_project_name] %>/container"
|
6
|
+
|
7
|
+
module <%= config[:camel_cased_umbrella_name] %>
|
8
|
+
module <%= config[:camel_cased_app_name] %>
|
9
|
+
class View < Dry::View
|
10
|
+
configure do |config|
|
11
|
+
config.paths = [Container.root.join("web/templates")]
|
12
|
+
config.default_context = Container["view_context"]
|
13
|
+
config.layout = "application"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -12,19 +12,21 @@ module <%= config[:camel_cased_umbrella_name] %>
|
|
12
12
|
opts[:root] = Pathname(__FILE__).join("../../..").realpath.dirname
|
13
13
|
|
14
14
|
use Rack::Session::Cookie, key: "<%= config[:underscored_umbrella_name] %>.<%= config[:underscored_project_name] %>.session", secret: self["core.settings"].session_secret
|
15
|
+
use Rack::MethodOverride
|
15
16
|
|
16
17
|
plugin :csrf, raise: true
|
17
18
|
plugin :dry_view
|
18
19
|
plugin :error_handler
|
19
20
|
plugin :flash
|
20
21
|
plugin :multi_route
|
22
|
+
plugin :all_verbs
|
21
23
|
|
22
24
|
route do |r|
|
23
25
|
# Enable this after writing your first web/routes/ file
|
24
26
|
# r.multi_route
|
25
27
|
|
26
28
|
r.root do
|
27
|
-
r.view
|
29
|
+
r.view :welcome
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require "<%= config[:underscored_umbrella_name] %>/<%= config[:underscored_project_name] %>/view
|
1
|
+
require "<%= config[:underscored_umbrella_name] %>/<%= config[:underscored_project_name] %>/view"
|
2
2
|
|
3
3
|
module <%= config[:camel_cased_umbrella_name] %>
|
4
4
|
module <%= config[:camel_cased_app_name] %>
|
5
5
|
module Views
|
6
|
-
class Welcome < View
|
6
|
+
class Welcome < View
|
7
7
|
configure do |config|
|
8
8
|
config.template = "welcome"
|
9
9
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# auto_register: false
|
2
|
+
|
3
|
+
require "slim"
|
4
|
+
require "dry/view"
|
5
|
+
require "<%= config[:underscored_project_name] %>/container"
|
6
|
+
|
7
|
+
module <%= config[:camel_cased_app_name] %>
|
8
|
+
class View < Dry::View
|
9
|
+
configure do |config|
|
10
|
+
config.paths = [Container.root.join("web/templates")]
|
11
|
+
config.default_context = Container["view_context"]
|
12
|
+
config.layout = "application"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require "dry/view/context"
|
2
|
+
|
3
|
+
module <%= config[:camel_cased_app_name] %>
|
4
|
+
class ViewContext < Dry::View::Context
|
5
|
+
def csrf_token
|
6
|
+
self[:csrf_token]
|
7
|
+
end
|
8
|
+
|
9
|
+
def csrf_metatag
|
10
|
+
self[:csrf_metatag]
|
11
|
+
end
|
12
|
+
|
13
|
+
def csrf_tag
|
14
|
+
self[:csrf_tag]
|
15
|
+
end
|
16
|
+
|
17
|
+
def flash
|
18
|
+
self[:flash]
|
19
|
+
end
|
20
|
+
|
21
|
+
def flash?
|
22
|
+
%i[notice alert].any? { |type| flash[type] }
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def [](name)
|
28
|
+
_options.fetch(name)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require "<%= config[:underscored_project_name] %>/view
|
1
|
+
require "<%= config[:underscored_project_name] %>/view"
|
2
2
|
|
3
3
|
module <%= config[:camel_cased_app_name] %>
|
4
4
|
module Views
|
5
|
-
class Welcome < <%= config[:camel_cased_app_name] %>::View
|
5
|
+
class Welcome < <%= config[:camel_cased_app_name] %>::View
|
6
6
|
configure do |config|
|
7
7
|
config.template = "welcome"
|
8
8
|
end
|
data/lib/dry/web/roda/version.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class Roda
|
2
4
|
module RodaPlugins
|
3
5
|
module DryView
|
@@ -7,7 +9,7 @@ class Roda
|
|
7
9
|
|
8
10
|
module InstanceMethods
|
9
11
|
def view_context
|
10
|
-
self.class["
|
12
|
+
self.class["view_context"].with(view_context_options)
|
11
13
|
end
|
12
14
|
|
13
15
|
def view_context_options
|
@@ -21,8 +23,9 @@ class Roda
|
|
21
23
|
|
22
24
|
module RequestMethods
|
23
25
|
def view(name, options = {})
|
24
|
-
|
25
|
-
|
26
|
+
resolve(scope.view_key(name)) do |renderer|
|
27
|
+
renderer.call({ context: scope.view_context }.merge(options)).to_s
|
28
|
+
end
|
26
29
|
end
|
27
30
|
end
|
28
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-web-roda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-configurable
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.7'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.7'
|
111
111
|
- !ruby/object:Gem::Dependency
|
@@ -229,15 +229,15 @@ files:
|
|
229
229
|
- lib/dry/web/roda/templates/subapp/container.rb.tt
|
230
230
|
- lib/dry/web/roda/templates/subapp/example_routes.rb.tt
|
231
231
|
- lib/dry/web/roda/templates/subapp/import.rb.tt
|
232
|
-
- lib/dry/web/roda/templates/subapp/
|
233
|
-
- lib/dry/web/roda/templates/subapp/
|
232
|
+
- lib/dry/web/roda/templates/subapp/view.rb.tt
|
233
|
+
- lib/dry/web/roda/templates/subapp/view_context.rb.tt
|
234
234
|
- lib/dry/web/roda/templates/subapp/web.rb.tt
|
235
235
|
- lib/dry/web/roda/templates/subapp/welcome.rb.tt
|
236
236
|
- lib/dry/web/roda/templates/types.rb
|
237
237
|
- lib/dry/web/roda/templates/umbrella_project/boot.rb.tt
|
238
238
|
- lib/dry/web/roda/templates/umbrella_project/web.rb.tt
|
239
|
-
- lib/dry/web/roda/templates/
|
240
|
-
- lib/dry/web/roda/templates/
|
239
|
+
- lib/dry/web/roda/templates/view.rb.tt
|
240
|
+
- lib/dry/web/roda/templates/view_context.rb.tt
|
241
241
|
- lib/dry/web/roda/templates/welcome.html.slim
|
242
242
|
- lib/dry/web/roda/templates/welcome.rb.tt
|
243
243
|
- lib/dry/web/roda/version.rb
|
@@ -276,8 +276,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
276
|
- !ruby/object:Gem::Version
|
277
277
|
version: '0'
|
278
278
|
requirements: []
|
279
|
-
|
280
|
-
rubygems_version: 2.7.5
|
279
|
+
rubygems_version: 3.0.3
|
281
280
|
signing_key:
|
282
281
|
specification_version: 4
|
283
282
|
summary: Roda integration for dry-web apps
|
@@ -1,10 +0,0 @@
|
|
1
|
-
require "<%= config[:underscored_umbrella_name] %>/view/context"
|
2
|
-
|
3
|
-
module <%= config[:camel_cased_umbrella_name] %>
|
4
|
-
module <%= config[:camel_cased_app_name] %>
|
5
|
-
module View
|
6
|
-
class Context < <%= config[:camel_cased_umbrella_name] %>::View::Context
|
7
|
-
end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# auto_register: false
|
2
|
-
|
3
|
-
require "slim"
|
4
|
-
require "dry/view/controller"
|
5
|
-
require "<%= config[:underscored_umbrella_name] %>/<%= config[:underscored_project_name] %>/container"
|
6
|
-
|
7
|
-
module <%= config[:camel_cased_umbrella_name] %>
|
8
|
-
module <%= config[:camel_cased_app_name] %>
|
9
|
-
module View
|
10
|
-
class Controller < Dry::View::Controller
|
11
|
-
configure do |config|
|
12
|
-
config.paths = [Container.root.join("web/templates")]
|
13
|
-
config.context = Container["view.context"]
|
14
|
-
config.layout = "application"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module <%= config[:camel_cased_app_name] %>
|
2
|
-
module View
|
3
|
-
class Context
|
4
|
-
attr_reader :attrs
|
5
|
-
|
6
|
-
def initialize(attrs = {})
|
7
|
-
@attrs = attrs
|
8
|
-
end
|
9
|
-
|
10
|
-
def csrf_token
|
11
|
-
self[:csrf_token]
|
12
|
-
end
|
13
|
-
|
14
|
-
def csrf_metatag
|
15
|
-
self[:csrf_metatag]
|
16
|
-
end
|
17
|
-
|
18
|
-
def csrf_tag
|
19
|
-
self[:csrf_tag]
|
20
|
-
end
|
21
|
-
|
22
|
-
def flash
|
23
|
-
self[:flash]
|
24
|
-
end
|
25
|
-
|
26
|
-
def flash?
|
27
|
-
%i[notice alert].any? { |type| flash[type] }
|
28
|
-
end
|
29
|
-
|
30
|
-
def with(new_attrs)
|
31
|
-
self.class.new(attrs.merge(new_attrs))
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def [](name)
|
37
|
-
attrs.fetch(name)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# auto_register: false
|
2
|
-
|
3
|
-
require "slim"
|
4
|
-
require "dry/view/controller"
|
5
|
-
require "<%= config[:underscored_project_name] %>/container"
|
6
|
-
|
7
|
-
module <%= config[:camel_cased_app_name] %>
|
8
|
-
module View
|
9
|
-
class Controller < Dry::View::Controller
|
10
|
-
configure do |config|
|
11
|
-
config.paths = [Container.root.join("web/templates")]
|
12
|
-
config.context = Container["view.context"]
|
13
|
-
config.layout = "application"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|