custom_fielder 0.6.0 → 0.6.3
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25400fa066980421a9c8baec140f8b59b4eb1068
|
4
|
+
data.tar.gz: 83acde8a17a5ecdd4dfb0091a9e79d70d704649e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 070d4897d2cb4ee6f26b89cee76ff0ad7386d17a7fc2aad531625151ffb14af8fab80dff58eb7ff8547d0dfbd0f1cb17aed43f894290fb750744602cc3f56c3b
|
7
|
+
data.tar.gz: 4a8bf34693dd7cbaa8c15730a1362168ccd85ba79bbec0b49c971c022c0750ca6d5da5c5fd3a4f3964fb5e268fe1959190f80e3015db125a22e499cc17fa2654
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module CustomFielder
|
2
2
|
class Field < ActiveRecord::Base
|
3
|
+
include DeserializationHelper
|
4
|
+
|
3
5
|
has_many :values
|
4
6
|
|
5
7
|
validates :name, presence: true
|
@@ -7,5 +9,15 @@ module CustomFielder
|
|
7
9
|
inclusion: { in: %w[Array Integer Float Date DateTime Boolean String] }
|
8
10
|
validates :fieldable_type, presence: true
|
9
11
|
validates :allow_blank, inclusion: { in: [true, false] }
|
12
|
+
|
13
|
+
##
|
14
|
+
# Returns the deserialized version of allowed_values
|
15
|
+
#
|
16
|
+
# @return [Array]
|
17
|
+
#
|
18
|
+
def options
|
19
|
+
allowed_values.nil? ? nil : deserialize('Array', allowed_values)
|
20
|
+
end
|
21
|
+
|
10
22
|
end
|
11
23
|
end
|
@@ -90,13 +90,7 @@ module CustomFielder
|
|
90
90
|
# @return [Array]
|
91
91
|
#
|
92
92
|
def allowed_values
|
93
|
-
@allowed_values ||=
|
94
|
-
unless field.allowed_values.nil?
|
95
|
-
deserialize('Array', field.allowed_values)
|
96
|
-
else
|
97
|
-
nil
|
98
|
-
end
|
99
|
-
end
|
93
|
+
@allowed_values ||= field.options
|
100
94
|
end
|
101
95
|
|
102
96
|
##
|
@@ -2,7 +2,7 @@ class CreateCustomFielderValues < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :custom_fielder_values do |t|
|
4
4
|
t.references :fieldable, polymorphic: true, null: false, index: { name: 'index_values_on_fieldable_type_and_fieldable_id' }
|
5
|
-
t.integer :field_id, null: false
|
5
|
+
t.integer :field_id, null: false, index: true
|
6
6
|
t.boolean :active, null: false, default: true
|
7
7
|
t.string :value
|
8
8
|
t.text :note
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module CustomFielder
|
2
|
+
class ActionView::Helpers::FormBuilder
|
3
|
+
include ActionView::Helpers::TagHelper
|
4
|
+
include ActionView::Helpers::FormTagHelper
|
5
|
+
include ActionView::Helpers::FormOptionsHelper
|
6
|
+
include ActionView::Helpers::CaptureHelper
|
7
|
+
include ActionView::Helpers::AssetTagHelper
|
8
|
+
|
9
|
+
##
|
10
|
+
# form_for method for generating all fields and labels for a users
|
11
|
+
# custom fields to be edited
|
12
|
+
#
|
13
|
+
# @return [String] HTML
|
14
|
+
#
|
15
|
+
def custom_fields
|
16
|
+
fields_for :custom_fielder_values do |f|
|
17
|
+
cf = f.object
|
18
|
+
|
19
|
+
field = [f.label(:value, cf.field.name)]
|
20
|
+
field << begin
|
21
|
+
unless cf.field.options.nil?
|
22
|
+
f.select :value, cf.field.options.inject(Hash.new) { |h, v| h[v] = v; h }
|
23
|
+
else
|
24
|
+
case cf.field.field_type
|
25
|
+
when 'String', 'Integer', 'Float'
|
26
|
+
f.text_field :value
|
27
|
+
when 'Date'
|
28
|
+
f.date_field :value
|
29
|
+
when 'DateTime'
|
30
|
+
f.datetime_field :value
|
31
|
+
when 'Boolean'
|
32
|
+
f.select :value, { 'True' => true, 'False' => false }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
field << (f.check_box(:active) + ' Active')
|
38
|
+
|
39
|
+
safe_join(field)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
delegate :safe_join, :content_tag, to: :@template
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: custom_fielder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Hurst
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- lib/custom_fielder.rb
|
77
77
|
- lib/custom_fielder/custom_fieldable.rb
|
78
78
|
- lib/custom_fielder/engine.rb
|
79
|
+
- lib/custom_fielder/form_for_helpers.rb
|
79
80
|
- lib/custom_fielder/version.rb
|
80
81
|
- lib/tasks/custom_fielder_tasks.rake
|
81
82
|
homepage: http://www.github.com/no_homepage_yet
|