effective_resources 1.8.31 → 1.8.35
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 +4 -4
- data/app/controllers/concerns/effective/wizard_controller.rb +14 -0
- data/app/helpers/effective_resources_wizard_helper.rb +4 -2
- data/app/models/concerns/acts_as_slugged.rb +1 -1
- data/app/models/effective/resources/init.rb +5 -1
- data/app/models/effective/resources/relation.rb +12 -5
- data/lib/effective_resources/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 889c24801967683844b62d1e659862a39e47bfc99cf184ff77b9ecb9f0dbc16a
|
|
4
|
+
data.tar.gz: a39a146b713bc41482f35df016f3309c8afedef75531c5066479fe8d3ca6100c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac2de13588b807efd3fb9c048c0e180701d9b0dff54bf4ff1c44a86eb211b4ab9fc17da5fbea84725ce4c6cdc17fc9d242e749d257dd778209a7127655cc22bc
|
|
7
|
+
data.tar.gz: a7dd80308162e111383edb92c5964e32c7397116b574df8c20460e9571a705985f3b1d8ef6be28b9d743c08a89500fd34f2a830fa37751452db058fc34918c88
|
|
@@ -62,5 +62,19 @@ module Effective
|
|
|
62
62
|
wizard_path(step, resource_name_id => param)
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def current_step_before?(nav_step)
|
|
68
|
+
index = wizard_steps.index(nav_step) || raise("step #{nav_step} not found in wizard_steps")
|
|
69
|
+
current = wizard_steps.index(step) || raise("current step not found in wizard_steps")
|
|
70
|
+
current < index
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def current_step_after?(nav_step)
|
|
74
|
+
index = wizard_steps.index(nav_step) || raise("step #{nav_step} not found in wizard_steps")
|
|
75
|
+
current = wizard_steps.index(step) || raise("current step not found in wizard_steps")
|
|
76
|
+
current > index
|
|
77
|
+
end
|
|
78
|
+
|
|
65
79
|
end
|
|
66
80
|
end
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module EffectiveResourcesWizardHelper
|
|
4
4
|
|
|
5
|
-
def render_wizard_sidebar(resource, numbers: true, &block)
|
|
6
|
-
|
|
5
|
+
def render_wizard_sidebar(resource, numbers: true, horizontal: false, &block)
|
|
6
|
+
klasses = ['wizard-sidebar', 'list-group', ('list-group-horizontal' if horizontal)].compact.join(' ')
|
|
7
|
+
|
|
8
|
+
sidebar = content_tag(:div, class: klasses) do
|
|
7
9
|
resource.required_steps.map.with_index do |nav_step, index|
|
|
8
10
|
render_wizard_sidebar_item(resource, nav_step, (index + 1 if numbers))
|
|
9
11
|
end.join.html_safe
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# This module automatically generates slugs based on the :to_s field using a before_validation filter
|
|
4
4
|
#
|
|
5
|
-
# Mark your model with '
|
|
5
|
+
# Mark your model with 'acts_as_slugged' make sure you have a string field :slug
|
|
6
6
|
|
|
7
7
|
module ActsAsSlugged
|
|
8
8
|
extend ActiveSupport::Concern
|
|
@@ -56,7 +56,11 @@ module Effective
|
|
|
56
56
|
when ActiveRecord::Relation
|
|
57
57
|
input.klass
|
|
58
58
|
when (ActiveRecord::Reflection::AbstractReflection rescue :nil)
|
|
59
|
-
|
|
59
|
+
if input.options[:polymorphic]
|
|
60
|
+
_klass_by_name(input.class_name)
|
|
61
|
+
else
|
|
62
|
+
(input.klass rescue nil) || _klass_by_name(input.class_name)
|
|
63
|
+
end
|
|
60
64
|
when ActiveRecord::Reflection::MacroReflection
|
|
61
65
|
((input.klass rescue nil).presence || _klass_by_name(input.class_name)) unless input.options[:polymorphic]
|
|
62
66
|
when ActionDispatch::Journey::Route
|
|
@@ -91,9 +91,11 @@ module Effective
|
|
|
91
91
|
|
|
92
92
|
if term == 'nil'
|
|
93
93
|
relation.where(is_null("#{sql_column}_id")).where(is_null("#{sql_column}_type"))
|
|
94
|
-
elsif type.present? && id.present?
|
|
94
|
+
elsif type.present? && id.present? # This was from a polymorphic select
|
|
95
95
|
relation.where("#{sql_column}_id = ?", id).where("#{sql_column}_type = ?", type)
|
|
96
|
-
|
|
96
|
+
elsif name == :user # Polymorphic user
|
|
97
|
+
relation.where(search_by_associated_conditions(association, term, fuzzy: fuzzy))
|
|
98
|
+
else # Maybe from a string field
|
|
97
99
|
id ||= Effective::Attribute.new(:integer).parse(term)
|
|
98
100
|
relation.where("#{sql_column}_id = ? OR #{sql_column}_type = ?", id, (type || term))
|
|
99
101
|
end
|
|
@@ -213,8 +215,10 @@ module Effective
|
|
|
213
215
|
|
|
214
216
|
# key: the id, or associated_id on my table
|
|
215
217
|
# keys: the ids themselves as per the target table
|
|
216
|
-
|
|
217
|
-
|
|
218
|
+
if association.macro == :belongs_to && association.options[:polymorphic]
|
|
219
|
+
key = sql_column(association.foreign_key)
|
|
220
|
+
keys = relation.pluck((relation.klass.primary_key rescue nil))
|
|
221
|
+
elsif association.macro == :belongs_to
|
|
218
222
|
key = sql_column(association.foreign_key)
|
|
219
223
|
keys = relation.pluck(association.klass.primary_key)
|
|
220
224
|
elsif association.macro == :has_and_belongs_to_many
|
|
@@ -289,7 +293,10 @@ module Effective
|
|
|
289
293
|
# key: the id, or associated_id on my table
|
|
290
294
|
# keys: the ids themselves as per the target table
|
|
291
295
|
|
|
292
|
-
if association.macro == :belongs_to
|
|
296
|
+
if association.macro == :belongs_to && association.options[:polymorphic]
|
|
297
|
+
key = sql_column(association.foreign_key)
|
|
298
|
+
keys = relation.pluck((relation.klass.primary_key rescue nil))
|
|
299
|
+
elsif association.macro == :belongs_to
|
|
293
300
|
key = sql_column(association.foreign_key)
|
|
294
301
|
keys = relation.pluck(association.klass.primary_key)
|
|
295
302
|
elsif association.macro == :has_and_belongs_to_many
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: effective_resources
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.35
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Code and Effect
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-10-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|