wobapphelpers 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +4 -3
- data/lib/wobapphelpers/helpers.rb +2 -0
- data/lib/wobapphelpers/helpers/polymorphic_helper.rb +49 -0
- data/lib/wobapphelpers/version.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4ec580d7a01144e453ef30299dd500f825826b2738d8432df36a0ef73809f08
|
4
|
+
data.tar.gz: 88bc7d97b4c93e6fc70866d023a61f48797d3073db6a0a5db4384e8c312dbcbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca45dcc4d286cc05e50e1e46cb7cd59ea3f912bd4fe5205234a62ec382a76ca9bb157d908bbe290c4789d83a11df730e4ddebc51414e5a773d043797c3c8e963
|
7
|
+
data.tar.gz: 4e7f2539d5ad7d7b2b4fe7c0c233328bad1415f3f0d57f1d24ede7c44eea3655eb02a221562125e373fcb28a072ed9e8a4f3a23190dc4796c96dabdd5984bf54
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -15,7 +15,7 @@ Requirements
|
|
15
15
|
|
16
16
|
| branch | rails | ruby | bootstrap | icons |
|
17
17
|
|------------|-------|--------|-----------|-------------|
|
18
|
-
| master | 5.2
|
18
|
+
| master | >=5.2 | >= 2.3 | v4 | fontawesome |
|
19
19
|
| 3-0-stable | 5.1 | >= 2.3 | v4 | fontawesome |
|
20
20
|
| 2-0-stable | 5.0 | >= 2.2 | v3 | glyphicons |
|
21
21
|
| 1-0-stable | 4.2 | >= 2.0 | v3 | glyphicons |
|
@@ -25,9 +25,10 @@ Requirements
|
|
25
25
|
Installation
|
26
26
|
------------
|
27
27
|
|
28
|
+
gem 'wobapphelpers', github: 'swobspace/wobapphelpers', branch: "master"
|
29
|
+
gem 'wobapphelpers', github: 'swobspace/wobapphelpers', branch: "3-0-stable"
|
28
30
|
gem 'wobapphelpers', github: 'swobspace/wobapphelpers', branch: "2-0-stable"
|
29
31
|
gem 'wobapphelpers', github: 'swobspace/wobapphelpers', branch: "1-0-stable"
|
30
|
-
gem 'wobapphelpers', github: 'swobspace/wobapphelpers', branch: "master"
|
31
32
|
|
32
33
|
Generators
|
33
34
|
----------
|
@@ -155,7 +156,7 @@ other variable names you have to use :add_breadcrumbs_for, i.e.
|
|
155
156
|
Licence
|
156
157
|
-------
|
157
158
|
|
158
|
-
Wobapphelpers Copyright (C) 2014-
|
159
|
+
Wobapphelpers Copyright (C) 2014-2020 Wolfgang Barth
|
159
160
|
|
160
161
|
MIT License, see [LICENSE](LICENSE)
|
161
162
|
|
@@ -2,11 +2,13 @@ module Wobapphelpers
|
|
2
2
|
module Helpers
|
3
3
|
autoload :IconHelper, 'wobapphelpers/helpers/icon_helper.rb'
|
4
4
|
autoload :ActionViewHelper, 'wobapphelpers/helpers/action_view_helper.rb'
|
5
|
+
autoload :PolymorphicHelper, 'wobapphelpers/helpers/polymorphic_helper.rb'
|
5
6
|
|
6
7
|
# one module to rule all
|
7
8
|
module All
|
8
9
|
include IconHelper
|
9
10
|
include ActionViewHelper
|
11
|
+
# PolymorphicHelper must be explicit included
|
10
12
|
end
|
11
13
|
end
|
12
14
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Wobapphelpers
|
2
|
+
module Helpers
|
3
|
+
module PolymorphicHelper
|
4
|
+
def polymorphic_selector(form, poly, types, group_method = :all, options = {})
|
5
|
+
msg = ""
|
6
|
+
# -- object available?
|
7
|
+
if form.object.send(poly).present?
|
8
|
+
msg += poly_type_display(form, poly)
|
9
|
+
msg += poly_id_select(form, poly, form.object.send("#{poly}_type"), :all, options)
|
10
|
+
elsif types.size == 1
|
11
|
+
msg += poly_type_display(form, poly, Array(types).first)
|
12
|
+
msg += poly_id_select(form, poly, Array(types).first, :all, options)
|
13
|
+
else
|
14
|
+
msg += poly_type_select(form, poly, types)
|
15
|
+
msg += poly_id_select(form, poly, types, group_method, options)
|
16
|
+
end
|
17
|
+
msg.html_safe
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def poly_type_select(f, poly, types)
|
23
|
+
f.input "#{poly}_type".to_sym, collection: types,
|
24
|
+
label_method: lambda {|x| t('activerecord.models.' + x.underscore)}
|
25
|
+
end
|
26
|
+
|
27
|
+
def poly_type_display(f, poly, type = nil)
|
28
|
+
if type.present?
|
29
|
+
f.input("#{poly}_type".to_sym, collection: Array(type),
|
30
|
+
label_method: lambda {|x| t('activerecord.models.' + x.underscore)},
|
31
|
+
include_blank: false, disabled: true) +
|
32
|
+
f.hidden_field("#{poly}_type".to_sym, value: type, id: "#{poly}_type_hidden")
|
33
|
+
else
|
34
|
+
f.input("#{poly}_type".to_sym, collection: Array(f.object.send("#{poly}_type")),
|
35
|
+
label_method: lambda {|x| t('activerecord.models.' + x.underscore)},
|
36
|
+
disabled: true) +
|
37
|
+
f.hidden_field("#{poly}_type".to_sym, value: f.object.send("#{poly}_type"), id: "#{poly}_type_hidden")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def poly_id_select(f, poly, types, group_method, options = {})
|
42
|
+
collections = Array(types).map {|t| t.constantize}
|
43
|
+
f.input "#{poly}_id".to_sym, collection: collections,
|
44
|
+
as: :grouped_select, group_method: group_method,
|
45
|
+
input_html: options
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wobapphelpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wolfgang Barth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sassc-rails
|
@@ -314,6 +314,7 @@ files:
|
|
314
314
|
- lib/wobapphelpers/helpers.rb
|
315
315
|
- lib/wobapphelpers/helpers/action_view_helper.rb
|
316
316
|
- lib/wobapphelpers/helpers/icon_helper.rb
|
317
|
+
- lib/wobapphelpers/helpers/polymorphic_helper.rb
|
317
318
|
- lib/wobapphelpers/rails.rb
|
318
319
|
- lib/wobapphelpers/responders.rb
|
319
320
|
- lib/wobapphelpers/responders/locales/de.yml
|