module NoBrainer::Document::Types

Public Class Methods

load_type_extensions(model) click to toggle source
# File lib/no_brainer/document/types.rb, line 122
def load_type_extensions(model)
  unless loaded_extensions.include?(model)
    begin
      require File.join(File.dirname(__FILE__), 'types', model.name.underscore)
    rescue LoadError
    end
    loaded_extensions << model
  end
end

Public Instance Methods

add_type_errors() click to toggle source
# File lib/no_brainer/document/types.rb, line 9
def add_type_errors
  return unless @pending_type_errors
  @pending_type_errors.each do |name, error|
    errors.add(name, :invalid_type, **error.error)
  end
end
assign_attributes(attrs, options={}) click to toggle source
Calls superclass method
# File lib/no_brainer/document/types.rb, line 16
def assign_attributes(attrs, options={})
  super
  if options[:from_db]
    @_attributes = Hash[@_attributes.map do |k,v|
      [k, self.class.cast_db_to_model_for(k, v)]
    end].with_indifferent_access
  end
end