module BBLib::Serializer::ClassMethods
Public Instance Methods
_ancestor_dont_serialize_fields()
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 28 def _ancestor_dont_serialize_fields ancestors.reverse.flat_map do |ancestor| next unless ancestor.respond_to?(:_dont_serialize_fields) && ancestor != self ancestor._dont_serialize_fields end.compact.uniq end
_ancestor_serialize_fields()
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 15 def _ancestor_serialize_fields hash = {} ancestors.reverse.map do |ancestor| next unless ancestor.respond_to?(:_serialize_fields) && ancestor != self hash = hash.deep_merge(ancestor._serialize_fields) end hash end
_dont_serialize_fields()
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 24 def _dont_serialize_fields @_dont_serialize_fields ||= _ancestor_dont_serialize_fields end
_serialize_fields()
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 11 def _serialize_fields @_serialize_fields ||= _ancestor_serialize_fields end
dont_serialize_method(method)
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 35 def dont_serialize_method(method) _dont_serialize_fields.push(method) unless _dont_serialize_fields.include?(method) end
serialize_method(name, method = nil, **opts)
click to toggle source
# File lib/bblib/core/mixins/serializer.rb, line 39 def serialize_method(name, method = nil, **opts) return false if method == :serialize || name == :serialize && method.nil? _serialize_fields[name.to_sym] = { method: (method || name).to_sym }.merge(opts) end