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 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