coprl 3.0.0.beta.7 → 3.0.0.beta.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1e42760026c49cf31fd1e7b4828e1f35d425c4bd9210431854e19dd6791b0dc
4
- data.tar.gz: fc418edb85902d702985446356561526ba54f04d36c96eb97871d9479a96cd1f
3
+ metadata.gz: 9e56a764f380a125709b14469cdf05aedccd86c0c0a094694f644947376b9362
4
+ data.tar.gz: 7dc3f5c57f3a17c9f20c8b3e87d05e408b723b2f00cb428979147cf4cbcbfc5b
5
5
  SHA512:
6
- metadata.gz: 2f214706da76cc52329f24f92bdc16c83b54ef6550ca59ccf996f4baf665c00db04fe4b3eae5125ebd2cf7dacfa0fb3853e66d866e8e99981e315441ae99fab8
7
- data.tar.gz: d36d7a083fd7d0d1212db2271a3c6669cb84f398ca02b7d64e7ed349c203456c0a3aecd71c727cd241f666265a527ade93b312c7203eb63f5048bebd49074741
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.2-node-browsers
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.2
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 (1.0.0)
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.12.1)
104
+ dry-configurable (0.13.0)
105
105
  concurrent-ruby (~> 1.0)
106
- dry-core (~> 0.5, >= 0.5.0)
107
- dry-container (0.8.0)
106
+ dry-core (~> 0.6)
107
+ dry-container (0.9.0)
108
108
  concurrent-ruby (~> 1.0)
109
- dry-configurable (~> 0.1, >= 0.1.3)
110
- dry-core (0.6.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.0)
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.4)
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.2p137
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 = host ? coprl_presenters_web_client_app_url(params, host: router.base_url) :
17
- coprl_presenters_web_client_app_path(params)
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}?")
@@ -1,7 +1,7 @@
1
1
  module Coprl
2
2
  module Presenters
3
3
  module Version
4
- VERSION = '3.0.0.beta.7'
4
+ VERSION = '3.0.0.beta.11'
5
5
  end
6
6
  end
7
7
  end
data/lib/coprl.rb CHANGED
@@ -15,6 +15,8 @@ loader = Zeitwerk::Loader.for_gem
15
15
  loader.inflector = MyInflector.new(__FILE__)
16
16
  #loader.logger = Logger.new($stderr)
17
17
  loader.setup
18
+ generators = File.join(__dir__,'generators')
19
+ loader.do_not_eager_load(generators)
18
20
 
19
21
  module Coprl
20
22
  end
@@ -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,2 @@
1
+ h1 <%= class_name %>#<%= @action %>
2
+ p Find me in <%= @path %>
@@ -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.7
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-07-09 00:00:00.000000000 Z
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.4
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