five-two-nw-olivander 0.1.2.13 → 0.1.2.14

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: 3fafc0f233f53a5a60c3be296bc128cbbb3700959f82b05cf41029ac144c6a89
4
- data.tar.gz: d6a987479ebe1d30a5f4671a0ca6ede3912f852e1c9cb2e549053802dc42340e
3
+ metadata.gz: '05099f9c49667c865027fd2291a2c87caa0b4067d1a5a42bf486717f02076980'
4
+ data.tar.gz: 7846c476cf57f4a5016208c8776c8dc77fd676a3ddfa8396560f16273e396602
5
5
  SHA512:
6
- metadata.gz: 2aafa57f69b573299d2857fa04ebe05db1407c0c83c1657c54afbe6eda6e164caf670909e53e30362b2e952d666648126a97b463f50ecd116d9384d7c48c9993
7
- data.tar.gz: 8b3d2b995b2afa004fc2bb2fe313a1aabf448d638ddd45d5ff24fe33bf04674b6be97afe1b67c636fd612a478e6ed75190daddd9b42271fc8e0f64e29d691831
6
+ metadata.gz: 89997456c2a356285ff8d4b5574ca4efe865773a627962620052533be21e7bd086807ae8472c9af2ba5a7e8a4baedfc425d0e55ac9733c7ccdccf516e5251d3b
7
+ data.tar.gz: '028cb6fa2eda1c411230cc227fe6eaa252885ce88bea190095fe6c5cd80b46379d4bf880b1f6e03d6e9122171ea8bfd6697b0a98dc3ec1467fe2a55b4c52efa7'
@@ -6,7 +6,7 @@ module Olivander
6
6
  :no_route, :path_helper
7
7
 
8
8
  def initialize(sym, action: nil, controller: nil, verb: :get, confirm: false, turbo_frame: nil, collection: false, crud_action: false,
9
- show_in_form: true, show_in_datatable: true, no_route: false)
9
+ show_in_form: true, show_in_datatable: true, no_route: false, path_helper: nil)
10
10
  self.sym = sym
11
11
  self.action = action || sym
12
12
  self.controller = controller
@@ -18,6 +18,7 @@ module Olivander
18
18
  self.show_in_form = show_in_form
19
19
  self.show_in_datatable = show_in_datatable
20
20
  self.no_route = no_route
21
+ self.path_helper = path_helper
21
22
  end
22
23
  end
23
24
 
@@ -96,13 +97,14 @@ module Olivander
96
97
  self.current_resource = nil
97
98
  end
98
99
 
99
- def action(sym, verb: :get, confirm: false, turbo_frame: nil, collection: false, show_in_datatable: true, show_in_form: true, no_route: false, controller: nil, action: nil)
100
+ def action(sym, verb: :get, confirm: false, turbo_frame: nil, collection: false, show_in_datatable: true,
101
+ show_in_form: true, no_route: false, controller: nil, action: nil, path_helper: nil)
100
102
  raise 'Must be invoked in a resource block' unless current_resource.present?
101
103
 
102
104
  controller ||= current_resource.model
103
105
  current_resource.actions << ResourceAction.new(
104
106
  sym, action: action, controller: controller, verb: verb, confirm: confirm, turbo_frame: turbo_frame, collection: collection,
105
- show_in_datatable: show_in_datatable, show_in_form: show_in_form, no_route: no_route
107
+ show_in_datatable: show_in_datatable, show_in_form: show_in_form, no_route: no_route, path_helper: path_helper
106
108
  )
107
109
  end
108
110
 
@@ -18,7 +18,8 @@ module Olivander
18
18
  end
19
19
 
20
20
  def authorized_resource_actions(route_builder, resource, for_action: :show)
21
- plural_name = resource.is_a?(Class) ? resource.table_name : resource.class.table_name
21
+ raw_name = resource.is_a?(Class) ? resource.name : resource.class.name
22
+ plural_name = raw_name.demodulize.underscore.pluralize
22
23
  routed_resource = route_builder.resources[plural_name.to_sym]
23
24
  return [] if routed_resource.nil?
24
25
 
@@ -1,4 +1,5 @@
1
1
  - route_builder = @context&.route_builder || datatable.class::ROUTE_BUILDER
2
2
  = dropdown(variation: :dropleft, btn_class: btn_class) do
3
3
  - authorized_resource_actions(route_builder, resource, for_action: action_name).select{ |x| x.show_in_datatable }.each do |a|
4
- = dropdown_link_to a.sym, send(a.path_helper, resource.id)
4
+ - path = a.path_helper.is_a?(Proc) ? a.path_helper.call(resource) : send(a.path_helper, resource.id)
5
+ = dropdown_link_to a.sym, path
@@ -1,3 +1,3 @@
1
1
  module Olivander
2
- VERSION = "0.1.2.13"
2
+ VERSION = "0.1.2.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: five-two-nw-olivander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2.13
4
+ version: 0.1.2.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dennis
@@ -189,7 +189,6 @@ files:
189
189
  - app/controllers/concerns/olivander/resources/route_builder.rb
190
190
  - app/controllers/olivander/application_controller.rb
191
191
  - app/datatables/olivander/datatable.rb
192
- - app/datatables/test_datatable.rb
193
192
  - app/helpers/olivander/application_helper.rb
194
193
  - app/jobs/olivander/application_job.rb
195
194
  - app/mailers/olivander/application_mailer.rb
@@ -1,15 +0,0 @@
1
- class TestDatatable < Effective::Datatable
2
- datatable do
3
- col :id
4
- col :name
5
- col :description
6
- end
7
-
8
- collection do
9
- [
10
- [1, 'doo'],
11
- [2, 'doo'],
12
- [3, 'doo'],
13
- ]
14
- end
15
- end