module Dis::Model::ClassMethods
Public Instance Methods
default_dis_attributes()
click to toggle source
Returns the default attribute names.
# File lib/dis/model/class_methods.rb, line 53 def default_dis_attributes { content_hash: :content_hash, content_length: :content_length, content_type: :content_type, filename: :filename } end
dis_attributes()
click to toggle source
Returns the mapping of attribute names.
# File lib/dis/model/class_methods.rb, line 7 def dis_attributes default_dis_attributes.merge(@dis_attributes ||= {}) end
dis_attributes=(new_attributes)
click to toggle source
Sets the current mapping of attribute names. Use this if you want to override the attributes and database columns that Dis
will use.
class Document < ActiveRecord::Base include Dis::Model self.dis_attributes = { filename: :my_custom_filename } end
# File lib/dis/model/class_methods.rb, line 18 def dis_attributes=(new_attributes) @dis_attributes = new_attributes end
dis_type()
click to toggle source
Returns the storage type name, which Dis
will use for directory scoping. Defaults to the name of the database table.
class Document < ActiveRecord::Base; end Document.dis_type # => "documents"
# File lib/dis/model/class_methods.rb, line 27 def dis_type @dis_type ||= table_name end
dis_type=(new_type)
click to toggle source
Sets the storage type name.
Take care not to set the same name for multiple models, this will cause data loss when a record is destroyed.
# File lib/dis/model/class_methods.rb, line 35 def dis_type=(new_type) @dis_type = new_type end
validates_data_presence()
click to toggle source
Adds a presence validation on the data
attribute.
This is better than using ‘validates :data, presence: true`, since that would cause it to load the data from storage on each save.
class Document < ActiveRecord::Base include Dis::Model validates_data_presence end
# File lib/dis/model/class_methods.rb, line 48 def validates_data_presence validates_with Dis::Validations::DataPresence end