coprl 3.0.0.beta.8 → 3.0.0.beta.12

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: 75ce54746d2a84764c59cef17d5a95716ecb0fdf677fba2067443d75c3c16ddd
4
- data.tar.gz: be6092483bcb43bfe4d46ac3834fdaedc1b8ecc69ce2f6c6ad18d7e86d88f69f
3
+ metadata.gz: b184228bec9672d9fd6141f96e837a91bcc2002e3d1657121accc91d8f39a730
4
+ data.tar.gz: '091bb9a097020c8b822a8bfa5c2318f30d34f96bc5784ff5bc73e645197c9325'
5
5
  SHA512:
6
- metadata.gz: 595b2f2af38f2683ba51cf4380d683a995dd007802e1b433f61d8197c8fb7893a03a67e9937d5c0f16a978ab4dfaffd0bc2d93762a993f93691d84269d41524b
7
- data.tar.gz: 12bbdfc968bde0e12e70d40a94574323d72214fbc9bd5d9a20e0c6d5ee91804ba7f07d58070a6ae79cf51c5e14b3116a26809d01ce4722101cda2e8682986136
6
+ metadata.gz: eeb57a9378ee3fc277c2c0fa70dfe0565a02db1e2710d8868d267fe7289ff21affcf0daf4e9ed8a9b8348491aa1bb087d2b00a0637add275ef7237cdc25db512
7
+ data.tar.gz: 5de8475d3fd3055152890add20f51197115e46dc911bed3476c64db2abbf92ad981e9f0a0a5c2e1ae52e207614bf201c0ba8a3a68ec997d1ef6d2b40db8d0bc5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ # [3.0.0-beta.12](https://github.com/rx/presenters/compare/v3.0.0-beta.11...v3.0.0-beta.12) (2021-09-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * defaulted :pom as the rails scaffolding template when the copral gem is included inside Rails ([7179a6f](https://github.com/rx/presenters/commit/7179a6fddd37c1b1d735469c4a79cf0a960c7d92))
7
+ * when generating scaffolding creates proper routes that ignore the pom files ([63d6c49](https://github.com/rx/presenters/commit/63d6c49af151fd409293c4eb46ee200c0c58855b))
8
+
9
+ # [3.0.0-beta.11](https://github.com/rx/presenters/compare/v3.0.0-beta.10...v3.0.0-beta.11) (2021-09-21)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * forced release bump ([6c22e06](https://github.com/rx/presenters/commit/6c22e061acc2e714b5b87be8994b2eb0d488ac2d))
15
+
16
+ # [3.0.0-beta.10](https://github.com/rx/presenters/compare/v3.0.0-beta.9...v3.0.0-beta.10) (2021-09-21)
17
+
18
+ ### Bug Fixes
19
+
20
+ * added POM scaffolding generators ([1323b32](https://github.com/rx/presenters/commit/1323b322f83fd9e9519740d9aa7ace4ef8d63b61))
21
+
22
+ # [3.0.0-beta.9](https://github.com/rx/presenters/compare/v3.0.0-beta.8...v3.0.0-beta.9) (2021-09-21)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * added support for api base base_url ([8f69979](https://github.com/rx/presenters/commit/8f699793de899a450df5cfb8b95015a832200178))
28
+ * fixed bug in context prep for api client ([d0558cf](https://github.com/rx/presenters/commit/d0558cf3966a9bdc91bd9d106dcb0a7ab6f56c34))
29
+
1
30
  # [3.0.0-beta.8](https://github.com/rx/presenters/compare/v3.0.0-beta.7...v3.0.0-beta.8) (2021-09-17)
2
31
 
3
32
 
data/Gemfile.lock CHANGED
@@ -80,7 +80,7 @@ GIT
80
80
  PATH
81
81
  remote: .
82
82
  specs:
83
- coprl (3.0.0.beta.8)
83
+ coprl (3.0.0.beta.12)
84
84
  dry-configurable (> 0.1, <= 7.0)
85
85
  dry-container (~> 0.6)
86
86
  dry-inflector (~> 0.1)
@@ -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
@@ -2,6 +2,11 @@ module Coprl
2
2
  module Presenters
3
3
  module Rails
4
4
  class Railtie < ::Rails::Railtie
5
+ # Use pom as the default scaffolding templating engine
6
+ config.app_generators.generators do |g|
7
+ g.template_engine :pom
8
+ end
9
+
5
10
  BOOT = -> {
6
11
  Coprl::Presenters::App.reset!
7
12
  Coprl::Presenters::Settings.configure do |config|
@@ -1,7 +1,7 @@
1
1
  module Coprl
2
2
  module Presenters
3
3
  module Version
4
- VERSION = '3.0.0.beta.8'
4
+ VERSION = '3.0.0.beta.12'
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,31 @@
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
+ def resource_route
16
+ route "resources :#{file_name.pluralize}, only: [:create, :destroy, :update]", namespace: regular_class_path
17
+ end
18
+
19
+ hook_for :form_builder, as: :scaffold
20
+
21
+ protected
22
+ def available_views
23
+ ['index', 'edit', 'show', 'new', '_form']
24
+ end
25
+
26
+ def handler
27
+ :pom
28
+ end
29
+ end
30
+ end
31
+ 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.8
4
+ version: 3.0.0.beta.12
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-09-17 00:00:00.000000000 Z
11
+ date: 2021-09-22 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