coprl 3.0.0.beta.7 → 3.0.0.beta.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +28 -0
- data/Gemfile.lock +9 -9
- data/lib/coprl/presenters/api/app.rb +7 -2
- data/lib/coprl/presenters/helpers/rails/routes.rb +1 -1
- data/lib/coprl/presenters/helpers/rails.rb +7 -2
- data/lib/coprl/presenters/version.rb +1 -1
- data/lib/coprl.rb +2 -0
- data/lib/generators/pom/controller/controller_generator.rb +15 -0
- data/lib/generators/pom/controller/templates/view.html.pom +2 -0
- data/lib/generators/pom/scaffold/scaffold_generator.rb +27 -0
- data/lib/generators/pom/scaffold/templates/_form.html.pom +10 -0
- data/lib/generators/pom/scaffold/templates/edit.html.pom +19 -0
- data/lib/generators/pom/scaffold/templates/index.html.pom +33 -0
- data/lib/generators/pom/scaffold/templates/new.html.pom +17 -0
- data/lib/generators/pom/scaffold/templates/show.html.pom +21 -0
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e56a764f380a125709b14469cdf05aedccd86c0c0a094694f644947376b9362
|
4
|
+
data.tar.gz: 7dc3f5c57f3a17c9f20c8b3e87d05e408b723b2f00cb428979147cf4cbcbfc5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07bf9ba427fb166e20b8a00f8a58b010b1ffe82b5f2c955b1e63d7c93d21859be015ca2f936204f1625dd80979ae244c23ab38cf56030b8c6040854aa9116d28
|
7
|
+
data.tar.gz: 907cd33e6a2cd1fcdf651c3d06adc2a1c8084b2eeff3a0255f0b5faf0eaa4689779b324ce7ace21b592401271fd657cb85b912cd2a63347856d8eba33bd83243
|
data/.circleci/config.yml
CHANGED
@@ -7,7 +7,7 @@ jobs:
|
|
7
7
|
build:
|
8
8
|
docker:
|
9
9
|
# specify the version you desire here
|
10
|
-
- image: circleci/ruby:2.7.
|
10
|
+
- image: circleci/ruby:2.7.4-node-browsers
|
11
11
|
|
12
12
|
# Specify service dependencies here if necessary
|
13
13
|
# CircleCI maintains a library of pre-built images
|
@@ -24,6 +24,7 @@ jobs:
|
|
24
24
|
- v1-gem-cache-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
|
25
25
|
- v1-gem-cache-{{ arch }}-{{ .Branch }}-
|
26
26
|
- v1-gem-cache-{{ arch }}-
|
27
|
+
- run: gem install bundler:2.2.20
|
27
28
|
- run: bundle install
|
28
29
|
- run: bundle clean --force
|
29
30
|
- save_cache:
|
data/.ruby-version
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
2.7.
|
1
|
+
2.7.4
|
2
2
|
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
# [3.0.0-beta.11](https://github.com/rx/presenters/compare/v3.0.0-beta.10...v3.0.0-beta.11) (2021-09-21)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* forced release bump ([6c22e06](https://github.com/rx/presenters/commit/6c22e061acc2e714b5b87be8994b2eb0d488ac2d))
|
7
|
+
|
8
|
+
# [3.0.0-beta.10](https://github.com/rx/presenters/compare/v3.0.0-beta.9...v3.0.0-beta.10) (2021-09-21)
|
9
|
+
|
10
|
+
### Bug Fixes
|
11
|
+
|
12
|
+
* added POM scaffolding generators ([1323b32](https://github.com/rx/presenters/commit/1323b322f83fd9e9519740d9aa7ace4ef8d63b61))
|
13
|
+
|
14
|
+
# [3.0.0-beta.9](https://github.com/rx/presenters/compare/v3.0.0-beta.8...v3.0.0-beta.9) (2021-09-21)
|
15
|
+
|
16
|
+
|
17
|
+
### Bug Fixes
|
18
|
+
|
19
|
+
* added support for api base base_url ([8f69979](https://github.com/rx/presenters/commit/8f699793de899a450df5cfb8b95015a832200178))
|
20
|
+
* fixed bug in context prep for api client ([d0558cf](https://github.com/rx/presenters/commit/d0558cf3966a9bdc91bd9d106dcb0a7ab6f56c34))
|
21
|
+
|
22
|
+
# [3.0.0-beta.8](https://github.com/rx/presenters/compare/v3.0.0-beta.7...v3.0.0-beta.8) (2021-09-17)
|
23
|
+
|
24
|
+
|
25
|
+
### Bug Fixes
|
26
|
+
|
27
|
+
* added check for engine coprl_presenters_rails_engine_url ([d2ee7b5](https://github.com/rx/presenters/commit/d2ee7b5900a256c30e6715d1246639dec682ff08))
|
28
|
+
|
1
29
|
# [3.0.0-beta.7](https://github.com/rx/presenters/compare/v3.0.0-beta.6...v3.0.0-beta.7) (2021-07-09)
|
2
30
|
|
3
31
|
|
data/Gemfile.lock
CHANGED
@@ -80,7 +80,7 @@ GIT
|
|
80
80
|
PATH
|
81
81
|
remote: .
|
82
82
|
specs:
|
83
|
-
coprl (
|
83
|
+
coprl (3.0.0.beta.11)
|
84
84
|
dry-configurable (> 0.1, <= 7.0)
|
85
85
|
dry-container (~> 0.6)
|
86
86
|
dry-inflector (~> 0.1)
|
@@ -101,15 +101,15 @@ GEM
|
|
101
101
|
diff-lcs (1.4.4)
|
102
102
|
docile (1.3.1)
|
103
103
|
dotenv (2.7.6)
|
104
|
-
dry-configurable (0.
|
104
|
+
dry-configurable (0.13.0)
|
105
105
|
concurrent-ruby (~> 1.0)
|
106
|
-
dry-core (~> 0.
|
107
|
-
dry-container (0.
|
106
|
+
dry-core (~> 0.6)
|
107
|
+
dry-container (0.9.0)
|
108
108
|
concurrent-ruby (~> 1.0)
|
109
|
-
dry-configurable (~> 0.
|
110
|
-
dry-core (0.
|
109
|
+
dry-configurable (~> 0.13, >= 0.13.0)
|
110
|
+
dry-core (0.7.1)
|
111
111
|
concurrent-ruby (~> 1.0)
|
112
|
-
dry-inflector (0.2.
|
112
|
+
dry-inflector (0.2.1)
|
113
113
|
ice_nine (0.11.2)
|
114
114
|
json (2.3.1)
|
115
115
|
method_source (0.9.0)
|
@@ -159,7 +159,7 @@ GEM
|
|
159
159
|
rspec-support (3.10.2)
|
160
160
|
rspec_junit_formatter (0.4.1)
|
161
161
|
rspec-core (>= 2, < 4, != 2.12.0)
|
162
|
-
ruby2_keywords (0.0.
|
162
|
+
ruby2_keywords (0.0.5)
|
163
163
|
rubyzip (2.3.0)
|
164
164
|
selenium-webdriver (3.142.7)
|
165
165
|
childprocess (>= 0.5, < 4.0)
|
@@ -235,7 +235,7 @@ DEPENDENCIES
|
|
235
235
|
webdrivers (~> 4.1)
|
236
236
|
|
237
237
|
RUBY VERSION
|
238
|
-
ruby 2.7.
|
238
|
+
ruby 2.7.4p191
|
239
239
|
|
240
240
|
BUNDLED WITH
|
241
241
|
2.2.20
|
@@ -66,9 +66,9 @@ module Coprl
|
|
66
66
|
|
67
67
|
def prepare_context(base_params = params)
|
68
68
|
prepare_context = Presenters::Settings.config.presenters.web_client.prepare_context.dup
|
69
|
-
prepare_context.push(method(:scrub_context))
|
69
|
+
prepare_context.push(method(:scrub_context)).push(method(:base_url_context))
|
70
70
|
context = base_params.dup
|
71
|
-
prepare_context.reduce(context) do |params, context_proc|
|
71
|
+
context = prepare_context.reduce(context) do |params, context_proc|
|
72
72
|
context_proc.call(params, session, env)
|
73
73
|
end
|
74
74
|
context
|
@@ -80,6 +80,11 @@ module Coprl
|
|
80
80
|
end
|
81
81
|
params
|
82
82
|
end
|
83
|
+
|
84
|
+
def base_url_context(params, _session, env)
|
85
|
+
params[:base_url] = "#{request.base_url}#{env['SCRIPT_NAME']}"
|
86
|
+
params
|
87
|
+
end
|
83
88
|
end
|
84
89
|
end
|
85
90
|
end
|
@@ -5,7 +5,7 @@ module Coprl
|
|
5
5
|
module Routes
|
6
6
|
include ::Rails.application.routes.url_helpers
|
7
7
|
def default_url_options
|
8
|
-
::Rails.application.config.action_controller.default_url_options || { :host => context[:request].host_with_port }
|
8
|
+
::Rails.application.config.action_controller.default_url_options || { :host => context[:base_url] ? context[:base_url] : context[:request].host_with_port }
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -13,8 +13,13 @@ if defined?(Rails)
|
|
13
13
|
presenter = _expand_namespace_(presenter, namespace)
|
14
14
|
presenter = presenter.gsub(':', '/')
|
15
15
|
|
16
|
-
path =
|
17
|
-
|
16
|
+
path = if defined?(coprl_presenters_rails_engine_url)
|
17
|
+
host ? coprl_presenters_rails_engine_url(params, host: router.base_url) :
|
18
|
+
coprl_presenters_rails_engine_path(params)
|
19
|
+
else
|
20
|
+
host ? coprl_presenters_web_client_app_url(params, host: router.base_url) :
|
21
|
+
coprl_presenters_web_client_app_path(params)
|
22
|
+
end
|
18
23
|
|
19
24
|
if path.include?('?')
|
20
25
|
path = path.sub('?', "#{presenter}?")
|
data/lib/coprl.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rails/generators/erb/controller/controller_generator'
|
2
|
+
|
3
|
+
module Pom
|
4
|
+
module Generators
|
5
|
+
class ControllerGenerator < Erb::Generators::ControllerGenerator
|
6
|
+
source_root File.expand_path(File.join('..', 'templates'), __FILE__)
|
7
|
+
|
8
|
+
protected
|
9
|
+
def handler
|
10
|
+
:pom
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rails/generators/erb/scaffold/scaffold_generator'
|
2
|
+
|
3
|
+
module Pom
|
4
|
+
module Generators
|
5
|
+
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
6
|
+
source_root File.expand_path(File.join('..', 'templates'), __FILE__)
|
7
|
+
|
8
|
+
def copy_view_files
|
9
|
+
available_views.each do |view|
|
10
|
+
filename = filename_with_extensions view
|
11
|
+
template "#{view}.html.pom", File.join('app', 'views', controller_file_path, filename)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
hook_for :form_builder, as: :scaffold
|
16
|
+
|
17
|
+
protected
|
18
|
+
def available_views
|
19
|
+
['index', 'edit', 'show', 'new', '_form']
|
20
|
+
end
|
21
|
+
|
22
|
+
def handler
|
23
|
+
:pom
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
Coprl::Presenters.define("_form", namespace: :<%= plural_table_name %>) do
|
2
|
+
helpers <%= controller_class_name %>Helper
|
3
|
+
|
4
|
+
<% attributes.each do |attribute| -%>
|
5
|
+
text_field name: :<%= attribute.name %> do
|
6
|
+
label :<%= attribute.name %>
|
7
|
+
value <%= singular_table_name %>.<%= attribute.name %> if params[:<%= singular_table_name %>_id]
|
8
|
+
end
|
9
|
+
<% end -%>
|
10
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Coprl::Presenters.define(:edit, namespace: :<%= plural_table_name %>) do
|
2
|
+
helpers <%= controller_class_name %>Helper
|
3
|
+
grid do
|
4
|
+
column 1
|
5
|
+
column 5 do
|
6
|
+
heading 'Editing <%= human_name %>'
|
7
|
+
content do
|
8
|
+
attach '_form'
|
9
|
+
button 'Update' do
|
10
|
+
event :click do
|
11
|
+
updates <%= url_helper_prefix %>_path(<%= singular_table_name %>)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
link 'Show', presenter_path(:show, <%= singular_table_name %>_id: <%= singular_table_name %>.id)
|
16
|
+
link 'Back', presenter_path(:index)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Coprl::Presenters.define(:index, namespace: :<%= plural_table_name %>) do
|
2
|
+
helpers <%= controller_class_name %>Helper
|
3
|
+
snackbar params[:notice] if params[:notice]
|
4
|
+
grid do
|
5
|
+
column 1
|
6
|
+
column 5 do
|
7
|
+
heading '<%= human_name %>'
|
8
|
+
list do
|
9
|
+
<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
10
|
+
line <%= attributes.first ? "#{singular_table_name}.#{attributes.first.name}" : "\"#{human_name}\"" %> do
|
11
|
+
actions do
|
12
|
+
icon :edit do
|
13
|
+
event :click do
|
14
|
+
loads :edit, <%= singular_table_name %>_id: <%= singular_table_name %>.id
|
15
|
+
end
|
16
|
+
end
|
17
|
+
icon :delete do
|
18
|
+
event :click do
|
19
|
+
dialog "are_you_sure#{<%= singular_table_name %>.id}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
event :click do
|
24
|
+
loads :show, <%= singular_table_name %>_id: <%= singular_table_name %>.id
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
link 'New <%= human_name %>', presenter_path(:new)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
confirm_delete_dialog
|
33
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Coprl::Presenters.define(:new, namespace: :<%= plural_table_name %>) do
|
2
|
+
grid do
|
3
|
+
column 1
|
4
|
+
column 5 do
|
5
|
+
heading 'New <%= human_name %>'
|
6
|
+
content do
|
7
|
+
attach '_form'
|
8
|
+
button 'Create' do
|
9
|
+
event :click do
|
10
|
+
creates <%= index_helper %>_path
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
link 'Back', presenter_path(:index)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Coprl::Presenters.define(:show, namespace: :<%= plural_table_name %>) do
|
2
|
+
helpers <%= controller_class_name %>Helper
|
3
|
+
|
4
|
+
snackbar params[:notice] if params[:notice]
|
5
|
+
grid do
|
6
|
+
column 1
|
7
|
+
column 5 do
|
8
|
+
card do
|
9
|
+
<% attributes.each_with_index do |attribute,index| -%>
|
10
|
+
<% if index == 0 -%>
|
11
|
+
heading <%= singular_table_name %>.<%= attribute.name %>
|
12
|
+
<% else -%>
|
13
|
+
body <%= singular_table_name %>.<%= attribute.name %>
|
14
|
+
<% end -%>
|
15
|
+
<% end -%>
|
16
|
+
end
|
17
|
+
link 'Edit', presenter_path(:edit,<%= singular_table_name %>_id: params[:<%= singular_table_name %>_id])
|
18
|
+
link 'Back', presenter_path(:index)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coprl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.beta.
|
4
|
+
version: 3.0.0.beta.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Edens
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ice_nine
|
@@ -642,6 +642,14 @@ files:
|
|
642
642
|
- lib/coprl/serializer.rb
|
643
643
|
- lib/coprl/symbol/to_str.rb
|
644
644
|
- lib/coprl/trace.rb
|
645
|
+
- lib/generators/pom/controller/controller_generator.rb
|
646
|
+
- lib/generators/pom/controller/templates/view.html.pom
|
647
|
+
- lib/generators/pom/scaffold/scaffold_generator.rb
|
648
|
+
- lib/generators/pom/scaffold/templates/_form.html.pom
|
649
|
+
- lib/generators/pom/scaffold/templates/edit.html.pom
|
650
|
+
- lib/generators/pom/scaffold/templates/index.html.pom
|
651
|
+
- lib/generators/pom/scaffold/templates/new.html.pom
|
652
|
+
- lib/generators/pom/scaffold/templates/show.html.pom
|
645
653
|
- lib/hash_ext/traverse.rb
|
646
654
|
- public/bundle.css
|
647
655
|
- public/bundle.js
|
@@ -939,7 +947,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
939
947
|
- !ruby/object:Gem::Version
|
940
948
|
version: 1.3.1
|
941
949
|
requirements: []
|
942
|
-
rubygems_version: 3.1.
|
950
|
+
rubygems_version: 3.1.6
|
943
951
|
signing_key:
|
944
952
|
specification_version: 4
|
945
953
|
summary: COmmon PResenter Language - A Ruby gem for joyfully writing modern user interfaces
|