module HasCalculatedFields::HasCalculatedFields
Public Instance Methods
_has_calculated_fields__default_field_value(data)
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 245 def _has_calculated_fields__default_field_value(data) value = data.fetch(:default, nil) case value when :now Time.current when :nil nil else value end end
_has_calculated_fields__field_value(data)
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 236 def _has_calculated_fields__field_value(data) field = data.fetch(:field, nil) if field.present? send(field) || _has_calculated_fields__default_field_value(data) else _has_calculated_fields__default_field_value(data) end end
_has_calculated_fields__on_after_commit()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 197 def _has_calculated_fields__on_after_commit return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_commit) has_calculated_fields_options[:on_after_commit].each do |data| _process_data(data) end true end
_has_calculated_fields__on_after_create()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 164 def _has_calculated_fields__on_after_create return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_create) has_calculated_fields_options[:on_after_create].each do |data| _process_data(data) end true end
_has_calculated_fields__on_after_destroy()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 186 def _has_calculated_fields__on_after_destroy return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_destroy) has_calculated_fields_options[:on_after_destroy].each do |data| _process_data(data) end true end
_has_calculated_fields__on_after_save()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 54 def _has_calculated_fields__on_after_save return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_save) has_calculated_fields_options[:on_after_save].each do |data| _process_data(data) end true end
_has_calculated_fields__on_after_update()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 175 def _has_calculated_fields__on_after_update return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_update) has_calculated_fields_options[:on_after_update].each do |data| _process_data(data) end true end
_has_calculated_fields__on_after_validation()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 76 def _has_calculated_fields__on_after_validation return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_after_validation) has_calculated_fields_options[:on_after_validation].each do |data| _process_data(data) end true end
_has_calculated_fields__on_around_create()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 142 def _has_calculated_fields__on_around_create return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_around_create) has_calculated_fields_options[:on_around_create].each do |data| _process_data(data) end true end
_has_calculated_fields__on_around_destroy()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 153 def _has_calculated_fields__on_around_destroy return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_around_destroy) has_calculated_fields_options[:on_around_destroy].each do |data| _process_data(data) end true end
_has_calculated_fields__on_around_save()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 120 def _has_calculated_fields__on_around_save return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_around_save) has_calculated_fields_options[:on_around_save].each do |data| _process_data(data) end true end
_has_calculated_fields__on_around_update()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 131 def _has_calculated_fields__on_around_update return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_around_update) has_calculated_fields_options[:on_around_update].each do |data| _process_data(data) end true end
_has_calculated_fields__on_before_create()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 98 def _has_calculated_fields__on_before_create return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_before_create) has_calculated_fields_options[:on_before_create].each do |data| _process_data(data) end true end
_has_calculated_fields__on_before_destroy()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 109 def _has_calculated_fields__on_before_destroy return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_before_destroy) has_calculated_fields_options[:on_before_destroy].each do |data| _process_data(data) end true end
_has_calculated_fields__on_before_save()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 43 def _has_calculated_fields__on_before_save return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_before_save) has_calculated_fields_options[:on_before_save].each do |data| _process_data(data) end true end
_has_calculated_fields__on_before_update()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 87 def _has_calculated_fields__on_before_update return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_before_update) has_calculated_fields_options[:on_before_update].each do |data| _process_data(data) end true end
_has_calculated_fields__on_before_validation()
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 65 def _has_calculated_fields__on_before_validation return true unless respond_to?(:has_calculated_fields_options) return true unless has_calculated_fields_options.has_key?(:on_before_validation) has_calculated_fields_options[:on_before_validation].each do |data| _process_data(data) end true end
_process_data(data)
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 208 def _process_data(data) attr_equal = "#{data[:calculated_field]}=" value = case data[:type] when :date _process_date(data) when :method _process_method(data) end send(attr_equal, value) end
_process_date(data)
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 221 def _process_date(data) value = _has_calculated_fields__field_value(data) return "" if value.blank? if data[:format] I18n.l(value, format: data[:format]) else I18n.l(value) end end
_process_method(data)
click to toggle source
# File lib/has_calculated_fields/has_calculated_fields.rb, line 232 def _process_method(data) data[:method].call(self) end