dry-web-roda 0.11.0 → 0.12.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/.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
|