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: ba1a35b8ba0a749348e09d583d71ca7289338b1d
4
- data.tar.gz: 0c82c5566b04597e87ec82659a4fa46fe36cc173
3
+ metadata.gz: 25400fa066980421a9c8baec140f8b59b4eb1068
4
+ data.tar.gz: 83acde8a17a5ecdd4dfb0091a9e79d70d704649e
5
5
  SHA512:
6
- metadata.gz: fb0fdd4f0c2cb97a7155a5753a939d63efe10b4d777a5acb5311caad7eda66630d3873ee1a9b95e239bd316d168b8c099197922ae407d1628aff9b449a9d6880
7
- data.tar.gz: 1ab60451a738ac239bd040b7b9f91752cc46149cbb92637d4a374524d46ed6af5997dd15bfbf097a63a5618b351e1d4ae0ddf607a96ed5bb39fb3349aadbd82c
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 ||= begin
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
@@ -1,3 +1,3 @@
1
1
  module CustomFielder
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.3"
3
3
  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.0
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-01 00:00:00.000000000 Z
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