custom_fields 2.12.1 → 2.13.0

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +4 -5
  4. data/lib/custom_fields/extensions/active_support.rb +22 -23
  5. data/lib/custom_fields/extensions/carrierwave.rb +9 -40
  6. data/lib/custom_fields/extensions/mongoid/association/referenced/has_many.rb +49 -0
  7. data/lib/custom_fields/extensions/mongoid/association/referenced/has_one.rb +17 -0
  8. data/lib/custom_fields/extensions/mongoid/association/relatable.rb +30 -0
  9. data/lib/custom_fields/extensions/mongoid/criteria/queryable/smash.rb +3 -6
  10. data/lib/custom_fields/extensions/mongoid/document.rb +4 -8
  11. data/lib/custom_fields/extensions/mongoid/factory.rb +7 -9
  12. data/lib/custom_fields/extensions/mongoid/fields/i18n.rb +17 -17
  13. data/lib/custom_fields/extensions/mongoid/fields/localized.rb +21 -21
  14. data/lib/custom_fields/extensions/mongoid/fields.rb +4 -7
  15. data/lib/custom_fields/extensions/mongoid/validatable/collection_size.rb +86 -0
  16. data/lib/custom_fields/extensions/mongoid/{validations → validatable}/macros.rb +3 -2
  17. data/lib/custom_fields/extensions/origin/smash.rb +4 -5
  18. data/lib/custom_fields/field.rb +39 -36
  19. data/lib/custom_fields/source.rb +46 -44
  20. data/lib/custom_fields/target.rb +11 -12
  21. data/lib/custom_fields/target_helpers.rb +21 -23
  22. data/lib/custom_fields/types/belongs_to.rb +6 -20
  23. data/lib/custom_fields/types/boolean.rb +5 -12
  24. data/lib/custom_fields/types/color.rb +4 -12
  25. data/lib/custom_fields/types/date.rb +20 -22
  26. data/lib/custom_fields/types/date_time.rb +16 -18
  27. data/lib/custom_fields/types/default.rb +16 -24
  28. data/lib/custom_fields/types/email.rb +6 -13
  29. data/lib/custom_fields/types/file.rb +26 -35
  30. data/lib/custom_fields/types/float.rb +10 -13
  31. data/lib/custom_fields/types/has_many.rb +12 -16
  32. data/lib/custom_fields/types/integer.rb +10 -13
  33. data/lib/custom_fields/types/json.rb +18 -29
  34. data/lib/custom_fields/types/many_to_many.rb +14 -19
  35. data/lib/custom_fields/types/money.rb +34 -35
  36. data/lib/custom_fields/types/password.rb +19 -23
  37. data/lib/custom_fields/types/relationship_default.rb +4 -16
  38. data/lib/custom_fields/types/select.rb +43 -51
  39. data/lib/custom_fields/types/string.rb +5 -13
  40. data/lib/custom_fields/types/tags.rb +11 -11
  41. data/lib/custom_fields/types/text.rb +4 -16
  42. data/lib/custom_fields/version.rb +4 -2
  43. data/lib/custom_fields.rb +16 -16
  44. metadata +38 -38
  45. data/lib/custom_fields/extensions/mongoid/relations/options.rb +0 -19
  46. data/lib/custom_fields/extensions/mongoid/relations/referenced/in.rb +0 -18
  47. data/lib/custom_fields/extensions/mongoid/relations/referenced/many.rb +0 -30
  48. data/lib/custom_fields/extensions/mongoid/validations/collection_size.rb +0 -43
@@ -1,11 +1,9 @@
1
- module CustomFields
1
+ # frozen_string_literal: true
2
2
 
3
+ module CustomFields
3
4
  module Types
4
-
5
5
  module Select
6
-
7
6
  class Option
8
-
9
7
  include Mongoid::Document
10
8
 
11
9
  field :name, localize: true
@@ -15,68 +13,66 @@ module CustomFields
15
13
 
16
14
  validates_presence_of :name
17
15
 
18
- def as_json(options = nil)
19
- super methods: %w(_id name position)
16
+ def as_json(_options = nil)
17
+ super methods: %w[_id name position]
20
18
  end
21
-
22
19
  end
23
20
 
24
21
  module Field
25
-
26
22
  extend ActiveSupport::Concern
27
23
 
28
24
  included do
29
-
30
25
  embeds_many :select_options, class_name: 'CustomFields::Types::Select::Option'
31
26
 
32
27
  validates_associated :select_options
33
28
 
34
29
  accepts_nested_attributes_for :select_options, allow_destroy: true
35
-
36
30
  end
37
31
 
38
32
  def ordered_select_options
39
- self.select_options.sort { |a, b| (a.position || 0) <=> (b.position || 0) }.to_a
33
+ select_options.sort { |a, b| (a.position || 0) <=> (b.position || 0) }.to_a
40
34
  end
41
35
 
42
36
  def select_to_recipe
43
37
  {
44
- 'select_options' => self.ordered_select_options.map do |option|
38
+ 'select_options' => ordered_select_options.map do |option|
45
39
  { '_id' => option._id, 'name' => option.name_translations }
46
40
  end
47
41
  }
48
42
  end
49
43
 
50
- def select_as_json(options = {})
51
- { 'select_options' => self.ordered_select_options.map(&:as_json) }
44
+ def select_as_json(_options = {})
45
+ { 'select_options' => ordered_select_options.map(&:as_json) }
52
46
  end
53
-
54
47
  end
55
48
 
56
49
  module Target
57
-
58
50
  extend ActiveSupport::Concern
59
51
 
60
52
  module ClassMethods
61
-
62
53
  # Adds a select field
63
54
  #
64
55
  # @param [ Class ] klass The class to modify
65
56
  # @param [ Hash ] rule It contains the name of the field and if it is required or not
66
57
  #
67
58
  def apply_select_custom_field(klass, rule)
68
- name, base_collection_name = rule['name'], "#{rule['name']}_options".to_sym
59
+ name = rule['name']
60
+ base_collection_name = "#{rule['name']}_options".to_sym
69
61
 
70
- klass.field :"#{name}_id", type: BSON::ObjectId, localize: rule['localized'] || false, default: ->{ _set_select_option(name, rule['default']) }
62
+ klass.field :"#{name}_id", type: BSON::ObjectId, localize: rule['localized'] || false, default: lambda {
63
+ _set_select_option(name, rule['default'])
64
+ }
71
65
 
72
66
  klass.cattr_accessor "_raw_#{base_collection_name}"
73
- klass.send :"_raw_#{base_collection_name}=", rule['select_options'].sort { |a, b| a['position'] <=> b['position'] }
67
+ klass.send :"_raw_#{base_collection_name}=", rule['select_options'].sort { |a, b|
68
+ a['position'] <=> b['position']
69
+ }
74
70
 
75
71
  # other methods
76
72
  klass.send(:define_method, name.to_sym) { _get_select_option(name) }
77
73
  klass.send(:define_method, :"#{name}=") { |value| _set_select_option(name, value) }
78
74
 
79
- klass.class_eval <<-EOV
75
+ klass.class_eval <<-EOV, __FILE__, __LINE__ + 1
80
76
 
81
77
  def self.#{base_collection_name}
82
78
  self._select_options('#{name}')
@@ -84,9 +80,9 @@ module CustomFields
84
80
 
85
81
  EOV
86
82
 
87
- if rule['required']
88
- klass.validates_presence_of name
89
- end
83
+ return unless rule['required']
84
+
85
+ klass.validates_presence_of name
90
86
  end
91
87
 
92
88
  # Build a hash storing the values (id and option name) for
@@ -100,8 +96,8 @@ module CustomFields
100
96
  def select_attribute_get(instance, name)
101
97
  if value = instance.send(name.to_sym)
102
98
  {
103
- name => value,
104
- "#{name}_id" => instance.send(:"#{name}_id")
99
+ name => value,
100
+ "#{name}_id" => instance.send(:"#{name}_id")
105
101
  }
106
102
  else
107
103
  {}
@@ -116,7 +112,7 @@ module CustomFields
116
112
  # @param [ Hash ] attributes The attributes used to fetch the values
117
113
  #
118
114
  def select_attribute_set(instance, name, attributes)
119
- id_or_name = attributes[name] || attributes["#{name}_id"]
115
+ id_or_name = attributes[name] || attributes["#{name}_id"]
120
116
 
121
117
  return if id_or_name.nil?
122
118
 
@@ -134,7 +130,7 @@ module CustomFields
134
130
  #
135
131
  def group_by_select_option(name, order_by = nil)
136
132
  name_id = "#{name}_id"
137
- groups = self.each.group_by { |x| x.send(name_id) }.map do |(k, v)|
133
+ groups = each.group_by { |x| x.send(name_id) }.map do |(k, v)|
138
134
  { name_id => k, 'group' => v }
139
135
  end
140
136
 
@@ -144,33 +140,32 @@ module CustomFields
144
140
 
145
141
  groups.delete(group) if group
146
142
 
147
- { name: option['name'], entries: self._order_select_entries(list, order_by) }.with_indifferent_access
143
+ { name: option['name'], entries: _order_select_entries(list, order_by) }.with_indifferent_access
148
144
  end.tap do |array|
149
- if not groups.empty? # orphan entries ?
145
+ unless groups.empty? # orphan entries ?
150
146
  empty = { name: nil, entries: [] }.with_indifferent_access
151
147
  groups.each do |group|
152
148
  empty[:entries] += group['group']
153
149
  end
154
- empty[:entries] = self._order_select_entries(empty[:entries], order_by)
150
+ empty[:entries] = _order_select_entries(empty[:entries], order_by)
155
151
  array << empty
156
152
  end
157
153
  end
158
154
  end
159
155
 
160
156
  def _select_options(name)
161
- self.send(:"_raw_#{name}_options").map do |option|
162
-
157
+ send(:"_raw_#{name}_options").map do |option|
163
158
  locale = Mongoid::Fields::I18n.locale.to_s
164
159
 
165
160
  name = if !option['name'].respond_to?(:merge)
166
- option['name']
167
- elsif option['name'].has_key?(locale)
168
- option['name'][locale.to_s]
169
- elsif Mongoid::Fields::I18n.fallbacks?
170
- option['name'][Mongoid::Fields::I18n.fallbacks[locale.to_sym].map(&:to_s).find { |loc| !option['name'][loc].nil? }]
171
- else
172
- nil
173
- end
161
+ option['name']
162
+ elsif option['name'].key?(locale)
163
+ option['name'][locale.to_s]
164
+ elsif Mongoid::Fields::I18n.fallbacks?
165
+ option['name'][Mongoid::Fields::I18n.fallbacks[locale.to_sym].map(&:to_s).find do |loc|
166
+ !option['name'][loc].nil?
167
+ end]
168
+ end
174
169
 
175
170
  { '_id' => option['_id'], 'name' => name }
176
171
  end
@@ -181,17 +176,18 @@ module CustomFields
181
176
 
182
177
  column, direction = order_by.flatten
183
178
 
184
- list = list.sort { |a, b| (a.send(column) && b.send(column)) ? (a.send(column) || 0) <=> (b.send(column) || 0) : 0 }
179
+ list = list.sort do |a, b|
180
+ a.send(column) && b.send(column) ? (a.send(column) || 0) <=> (b.send(column) || 0) : 0
181
+ end
185
182
 
186
183
  direction == 'asc' ? list : list.reverse
187
184
 
188
185
  list
189
186
  end
190
-
191
187
  end
192
188
 
193
189
  def _select_option_id(name)
194
- self.send(:"#{name}_id")
190
+ send(:"#{name}_id")
195
191
  end
196
192
 
197
193
  def _find_select_option(name, id_or_name)
@@ -201,19 +197,15 @@ module CustomFields
201
197
  end
202
198
 
203
199
  def _get_select_option(name)
204
- option = self._find_select_option(name, self._select_option_id(name))
200
+ option = _find_select_option(name, _select_option_id(name))
205
201
  option ? option['name'] : nil
206
202
  end
207
203
 
208
204
  def _set_select_option(name, value)
209
- option = self._find_select_option(name, value)
210
- self.send(:"#{name}_id=", option ? option['_id'] : nil)
205
+ option = _find_select_option(name, value)
206
+ send(:"#{name}_id=", option ? option['_id'] : nil)
211
207
  end
212
-
213
208
  end
214
-
215
209
  end
216
-
217
210
  end
218
-
219
211
  end
@@ -1,17 +1,14 @@
1
- module CustomFields
1
+ # frozen_string_literal: true
2
2
 
3
+ module CustomFields
3
4
  module Types
4
-
5
5
  module String
6
-
7
6
  module Field; end
8
7
 
9
8
  module Target
10
-
11
9
  extend ActiveSupport::Concern
12
10
 
13
11
  module ClassMethods
14
-
15
12
  # Add a string field
16
13
  #
17
14
  # @param [ Class ] klass The class to modify
@@ -30,7 +27,7 @@ module CustomFields
30
27
  # @return [ Hash ] field name => raw value
31
28
  #
32
29
  def string_attribute_get(instance, name)
33
- self.default_attribute_get(instance, name)
30
+ default_attribute_get(instance, name)
34
31
  end
35
32
 
36
33
  # Set the value for the instance and the string field specified by
@@ -41,15 +38,10 @@ module CustomFields
41
38
  # @param [ Hash ] attributes The attributes used to fetch the values
42
39
  #
43
40
  def string_attribute_set(instance, name, attributes)
44
- self.default_attribute_set(instance, name, attributes)
41
+ default_attribute_set(instance, name, attributes)
45
42
  end
46
-
47
43
  end
48
-
49
44
  end
50
-
51
45
  end
52
-
53
46
  end
54
-
55
- end
47
+ end
@@ -1,35 +1,35 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module CustomFields
2
4
  module Types
3
5
  module Tags
4
6
  module Field; end
5
-
7
+
6
8
  module Target
7
9
  extend ActiveSupport::Concern
8
-
9
- module ClassMethods
10
10
 
11
+ module ClassMethods
11
12
  def apply_tags_custom_field(klass, rule)
12
13
  klass.field rule['name'], localize: rule['localized'] || false, type: Array
13
-
14
+
14
15
  klass.class_eval do
15
16
  define_method("#{rule['name']}=") do |val|
16
- #FIXME I would use is_a?(), but it doesn't work in my machine!
17
- val = val.split(/ *, */) if val.class.to_s == "String"
17
+ # FIXME: I would use is_a?(), but it doesn't work in my machine!
18
+ val = val.split(/ *, */) if val.class.to_s == 'String'
18
19
  super(val)
19
20
  end
20
21
  end
21
22
  end
22
-
23
+
23
24
  def tags_attribute_get(instance, name)
24
- self.default_attribute_get(instance, name)
25
+ default_attribute_get(instance, name)
25
26
  end
26
27
 
27
28
  def tags_attribute_set(instance, name, attributes)
28
- self.default_attribute_set(instance, name, attributes)
29
+ default_attribute_set(instance, name, attributes)
29
30
  end
30
31
  end
31
32
  end
32
-
33
33
  end
34
34
  end
35
- end
35
+ end
@@ -1,27 +1,20 @@
1
- module CustomFields
1
+ # frozen_string_literal: true
2
2
 
3
+ module CustomFields
3
4
  module Types
4
-
5
5
  module Text
6
-
7
6
  module Field
8
-
9
7
  extend ActiveSupport::Concern
10
8
 
11
9
  included do
12
-
13
10
  field :text_formatting, default: 'html'
14
-
15
11
  end
16
-
17
12
  end
18
13
 
19
14
  module Target
20
-
21
15
  extend ActiveSupport::Concern
22
16
 
23
17
  module ClassMethods
24
-
25
18
  # Adds a text field (simply a string field)
26
19
  #
27
20
  # @param [ Class ] klass The class to modify
@@ -51,15 +44,10 @@ module CustomFields
51
44
  # @param [ Hash ] attributes The attributes used to fetch the values
52
45
  #
53
46
  def text_attribute_set(instance, name, attributes)
54
- self.default_attribute_set(instance, name, attributes)
47
+ default_attribute_set(instance, name, attributes)
55
48
  end
56
-
57
49
  end
58
-
59
50
  end
60
-
61
51
  end
62
-
63
52
  end
64
-
65
- end
53
+ end
@@ -1,5 +1,7 @@
1
- module CustomFields #:nodoc
1
+ # frozen_string_literal: true
2
2
 
3
- VERSION = '2.12.1'
3
+ # :nodoc
4
4
 
5
+ module CustomFields
6
+ VERSION = '2.13.0'
5
7
  end
data/lib/custom_fields.rb CHANGED
@@ -1,4 +1,6 @@
1
- $:.unshift File.expand_path(File.dirname(__FILE__))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift __dir__
2
4
 
3
5
  require 'active_support'
4
6
  require 'carrierwave/mongoid'
@@ -8,10 +10,12 @@ require 'bcrypt'
8
10
  Money.locale_backend = :currency
9
11
 
10
12
  module CustomFields
13
+ # Regexp to check if a Ruby class has been built by the CustomFields gem
14
+ KLASS_REGEXP = /(.*)([0-9a-fA-F]{24})$/o
11
15
 
12
16
  @@options = {
13
- reserved_names: Mongoid.destructive_fields + %w(id _id send class destroy system),
14
- default_currency: 'EUR'
17
+ reserved_names: Mongoid.destructive_fields + %w[id _id send class destroy system],
18
+ default_currency: 'EUR'
15
19
  }
16
20
 
17
21
  def self.options=(options)
@@ -21,23 +25,22 @@ module CustomFields
21
25
  def self.options
22
26
  @@options
23
27
  end
24
-
25
28
  end
26
29
 
27
- %w( version
30
+ %w[ version
28
31
  extensions/active_support
29
32
  extensions/carrierwave
30
33
  extensions/mongoid/document
31
34
  extensions/mongoid/factory
32
35
  extensions/mongoid/criteria/queryable/smash
33
- extensions/mongoid/relations/options
34
- extensions/mongoid/relations/referenced/many
35
- extensions/mongoid/relations/referenced/in
36
+ extensions/mongoid/association/relatable
37
+ extensions/mongoid/association/referenced/has_many
38
+ extensions/mongoid/association/referenced/has_one
36
39
  extensions/mongoid/fields.rb
37
40
  extensions/mongoid/fields/i18n.rb
38
41
  extensions/mongoid/fields/localized.rb
39
- extensions/mongoid/validations/collection_size.rb
40
- extensions/mongoid/validations/macros.rb
42
+ extensions/mongoid/validatable/collection_size.rb
43
+ extensions/mongoid/validatable/macros.rb
41
44
  extensions/origin/smash.rb
42
45
  types/default
43
46
  types/string
@@ -62,21 +65,18 @@ end
62
65
  field
63
66
  source
64
67
  target_helpers
65
- target
66
- ).each do |lib|
67
- require_relative "./custom_fields/#{lib}"
68
- end
68
+ target].each do |lib|
69
+ require_relative "./custom_fields/#{lib}"
70
+ end
69
71
 
70
72
  # Load all the translation files
71
73
  I18n.load_path += Dir[File.join(File.dirname(__FILE__), '..', 'config', 'locales', '*.yml')]
72
74
 
73
75
  module MyBenchmark
74
-
75
76
  def self.measure(caption, &block)
76
77
  t1 = Time.now
77
78
  returned_value = block.call
78
79
  puts "[MyBenchmark] #{caption} took #{((Time.now - t1) * 1000).to_i} ms"
79
80
  returned_value
80
81
  end
81
-
82
82
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.1
4
+ version: 2.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Didier Lafforgue
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-04 00:00:00.000000000 Z
11
+ date: 2023-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mongoid
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6.2'
19
+ version: '5'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '7.0'
22
+ version: '8.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '6.2'
29
+ version: '5'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7.0'
32
+ version: '8.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: carrierwave-mongoid
34
+ name: bcrypt
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 1.3.0
39
+ version: 3.1.18
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 1.3.0
46
+ version: 3.1.18
47
47
  - !ruby/object:Gem::Dependency
48
- name: activesupport
48
+ name: carrierwave-mongoid
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '5.1'
54
- - - "<"
51
+ - - "~>"
55
52
  - !ruby/object:Gem::Version
56
- version: '6.0'
53
+ version: 1.4.0
57
54
  type: :runtime
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: '5.1'
64
- - - "<"
58
+ - - "~>"
65
59
  - !ruby/object:Gem::Version
66
- version: '6.0'
60
+ version: 1.4.0
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: monetize
69
63
  requirement: !ruby/object:Gem::Requirement
70
64
  requirements:
71
65
  - - "~>"
72
66
  - !ruby/object:Gem::Version
73
- version: 1.9.0
67
+ version: 1.12.0
74
68
  type: :runtime
75
69
  prerelease: false
76
70
  version_requirements: !ruby/object:Gem::Requirement
77
71
  requirements:
78
72
  - - "~>"
79
73
  - !ruby/object:Gem::Version
80
- version: 1.9.0
74
+ version: 1.12.0
81
75
  - !ruby/object:Gem::Dependency
82
- name: bcrypt
76
+ name: mongoid
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
- - - "~>"
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '7'
82
+ - - "<"
86
83
  - !ruby/object:Gem::Version
87
- version: 3.1.11
84
+ version: '8.0'
88
85
  type: :runtime
89
86
  prerelease: false
90
87
  version_requirements: !ruby/object:Gem::Requirement
91
88
  requirements:
92
- - - "~>"
89
+ - - ">="
93
90
  - !ruby/object:Gem::Version
94
- version: 3.1.11
91
+ version: '7'
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '8.0'
95
95
  description: Manage custom fields to a Mongoid document or a collection. This module
96
96
  is one of the core features we implemented in our custom CMS, named LocomotiveCMS.
97
97
  email: didier@nocoffee.fr
@@ -111,17 +111,17 @@ files:
111
111
  - lib/custom_fields.rb
112
112
  - lib/custom_fields/extensions/active_support.rb
113
113
  - lib/custom_fields/extensions/carrierwave.rb
114
+ - lib/custom_fields/extensions/mongoid/association/referenced/has_many.rb
115
+ - lib/custom_fields/extensions/mongoid/association/referenced/has_one.rb
116
+ - lib/custom_fields/extensions/mongoid/association/relatable.rb
114
117
  - lib/custom_fields/extensions/mongoid/criteria/queryable/smash.rb
115
118
  - lib/custom_fields/extensions/mongoid/document.rb
116
119
  - lib/custom_fields/extensions/mongoid/factory.rb
117
120
  - lib/custom_fields/extensions/mongoid/fields.rb
118
121
  - lib/custom_fields/extensions/mongoid/fields/i18n.rb
119
122
  - lib/custom_fields/extensions/mongoid/fields/localized.rb
120
- - lib/custom_fields/extensions/mongoid/relations/options.rb
121
- - lib/custom_fields/extensions/mongoid/relations/referenced/in.rb
122
- - lib/custom_fields/extensions/mongoid/relations/referenced/many.rb
123
- - lib/custom_fields/extensions/mongoid/validations/collection_size.rb
124
- - lib/custom_fields/extensions/mongoid/validations/macros.rb
123
+ - lib/custom_fields/extensions/mongoid/validatable/collection_size.rb
124
+ - lib/custom_fields/extensions/mongoid/validatable/macros.rb
125
125
  - lib/custom_fields/extensions/origin/smash.rb
126
126
  - lib/custom_fields/field.rb
127
127
  - lib/custom_fields/source.rb
@@ -152,15 +152,15 @@ homepage: https://github.com/locomotivecms/custom_fields
152
152
  licenses:
153
153
  - MIT
154
154
  metadata: {}
155
- post_install_message:
155
+ post_install_message:
156
156
  rdoc_options: []
157
157
  require_paths:
158
158
  - lib
159
159
  required_ruby_version: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - "~>"
161
+ - - ">="
162
162
  - !ruby/object:Gem::Version
163
- version: '2.6'
163
+ version: '2.7'
164
164
  required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - ">="
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubygems_version: 3.2.32
171
- signing_key:
171
+ signing_key:
172
172
  specification_version: 4
173
173
  summary: Custom fields extension for Mongoid.
174
174
  test_files: []
@@ -1,19 +0,0 @@
1
- # encoding: utf-8
2
- module Mongoid
3
- module Relations
4
-
5
- module Options
6
-
7
- def validate_with_custom_fields!(options)
8
- _options = options.dup
9
- _options.delete(:custom_fields_parent_klass)
10
- validate_without_custom_fields!(_options)
11
- end
12
-
13
- alias_method :validate_without_custom_fields!, :validate!
14
- alias_method :validate!, :validate_with_custom_fields!
15
-
16
- end
17
-
18
- end
19
- end
@@ -1,18 +0,0 @@
1
- module Mongoid # :nodoc:
2
- module Relations #:nodoc:
3
- module Referenced #:nodoc:
4
-
5
- class In < Relations::One
6
- class << self
7
- def valid_options_with_parent_class
8
- valid_options_without_parent_class.push :custom_fields_parent_klass
9
- end
10
-
11
- alias_method :valid_options_without_parent_class, :valid_options
12
- alias_method :valid_options, :valid_options_with_parent_class
13
-
14
- end
15
- end
16
- end
17
- end
18
- end