five-two-nw-olivander 0.1.2.35 → 0.1.2.36

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: 21de4f9aa55c8f41410166a668b724d89d0f7800adef266b6c6ded9b3d52a665
4
- data.tar.gz: d4de2dfa99389c5df48c39cd8854f9ea3cb0a855f0ea11dfdb1e0cf5f9991e7d
3
+ metadata.gz: 3e55a54429f0d10d6f23e477b5615cb32f1c2cbbccbd6a622b73f2cb07b70131
4
+ data.tar.gz: 04d1f0ee790725256e7a65b93c20baf0c2199fe7c3dbfbc5b7f576f6decf93bb
5
5
  SHA512:
6
- metadata.gz: c9e38f0a1c8fd0802f26b47fa0d889e354f57baa56bfb62cd1b07b29e670112410dd23eb1b55765ecaedfbe15a50a5b1927ee67ca40826c6b57773a7d28bdf3f
7
- data.tar.gz: 90e0d42e5a80bfc5a2dac29ac6f26e8091dc697daa3868646422b343ee5dee495455933960504e77b777e12d20ff298a2fb4cba8c6f7870a16f25b96f752eb08
6
+ metadata.gz: 3a9555b4ebbfdbd0d55df3c3a0ec03b7e48ccd0be00fd1c25700511ae2bc2085451d3d0d023bb340cd6b1a5a0e8131b3c58311dcd33c6befa2c195ead6cbcc34
7
+ data.tar.gz: dfb311cdc4987aaf562859af28e0d81d2beb944fe75fdfad53fede0045f42ffd925e6ebff562e72b0a4e9c57dff8e93068af88349be2923a14c430346cef7448
@@ -23,10 +23,11 @@ module Olivander
23
23
  end
24
24
 
25
25
  class RoutedResource
26
- attr_accessor :model, :actions
26
+ attr_accessor :model, :namespaces, :actions
27
27
 
28
- def initialize(model, crud_actions)
28
+ def initialize(model, namespaces, crud_actions)
29
29
  self.model = model
30
+ self.namespaces = namespaces
30
31
  self.actions = []
31
32
  %i[index new create edit show update destroy].each do |ca|
32
33
  next unless crud_actions.include?(ca)
@@ -90,8 +91,8 @@ module Olivander
90
91
  end
91
92
 
92
93
  class_methods do
93
- def resource(model, only: DEFAULT_CRUD_ACTIONS, except: [], &block)
94
- self.current_resource = RoutedResource.new(model, DEFAULT_CRUD_ACTIONS & (only - except))
94
+ def resource(model, only: DEFAULT_CRUD_ACTIONS, except: [], namespaces: [], &block)
95
+ self.current_resource = RoutedResource.new(model, namespaces, DEFAULT_CRUD_ACTIONS & (only - except))
95
96
  yield if block_given?
96
97
  resources[model] = current_resource
97
98
  self.current_resource = nil
@@ -109,9 +110,7 @@ module Olivander
109
110
  end
110
111
 
111
112
  def build_routes(mapper)
112
- Rails.logger.info "building routes..."
113
- build_resource_routes(mapper)
114
- Rails.logger.info "...routes built"
113
+ build_resources_routes(mapper)
115
114
  end
116
115
 
117
116
  def set_controller_and_helper(a)
@@ -121,10 +120,19 @@ module Olivander
121
120
  self.last_path_helper = a.path_helper
122
121
  end
123
122
 
124
- def build_resource_routes(mapper)
123
+ def build_resources_routes(mapper)
125
124
  resources.keys.each do |k|
126
- before_routes = Rails.application.routes.named_routes.helper_names
127
125
  r = resources[k]
126
+ build_resource_route(mapper, r, r.namespaces)
127
+ end
128
+ end
129
+
130
+ def build_resource_route(mapper, r, namespaces)
131
+ if namespaces.size.positive?
132
+ mapper.namespace namespaces.first do
133
+ build_resource_route(mapper, r, r.namespaces.last(r.namespaces.size - 1))
134
+ end
135
+ else
128
136
  mapper.resources r.model, only: [] do
129
137
  mapper.collection do
130
138
  r.collection_actions.each do |ba|
@@ -160,10 +168,6 @@ module Olivander
160
168
  end
161
169
  end
162
170
  end
163
- after_routes = Rails.application.routes.named_routes.helper_names
164
- net_routes = after_routes - before_routes
165
- # Rails.logger.info "added these route helpers:\n#{net_routes}"
166
- # binding.pry if k == :projects
167
171
  end
168
172
  end
169
173
  end
@@ -45,7 +45,8 @@ module Olivander
45
45
  end
46
46
 
47
47
  def resource_form_action_label(resource, action)
48
- return I18n.t("activerecord.actions.#{resource}.#{action}") if I18n.exists?("activerecord.actions.#{resource}.#{action}")
48
+ key = resource.class.name.underscore
49
+ return I18n.t("activerecord.actions.#{key}.#{action}") if I18n.exists?("activerecord.actions.#{key}.#{action}")
49
50
  return I18n.t("activerecord.actions.#{action}") if I18n.exists?("activerecord.actions.#{action}")
50
51
 
51
52
  action.to_s.titleize
@@ -2,4 +2,5 @@
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
4
  - path = a.path_helper.is_a?(Proc) ? a.path_helper.call(resource) : send(a.path_helper, resource.id)
5
- = dropdown_link_to resource_form_action_label(resource, a.sym), path
5
+ - data = a.turbo_frame.present? ? { turbo: true, turbo_frame: a.turbo_frame } : {}
6
+ = dropdown_link_to resource_form_action_label(resource, a.sym), path, data: data
@@ -1,3 +1,3 @@
1
1
  module Olivander
2
- VERSION = '0.1.2.35'.freeze
2
+ VERSION = '0.1.2.36'.freeze
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.35
4
+ version: 0.1.2.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dennis