Sha256: 44901abff0b259937d399b41c75f107ee032c7b391b45452b584f6cf9909094b

Contents?: true

Size: 650 Bytes

Versions: 6

Compression:

Stored size: 650 Bytes

Contents

class Document < ActiveRecord::Base
  DOCUMENT_DYNAMIC_ATTRIBUTE_PREFIX = 'dyn_'
  
  has_dynamic_attributes :dynamic_attribute_prefix => DOCUMENT_DYNAMIC_ATTRIBUTE_PREFIX, :destroy_dynamic_attribute_for_nil => false
  
  has_file_assets

  belongs_to :document_record, :polymorphic => true
  belongs_to :document_type
  
  class << self
    def add_dyn_prefix(field)
      "#{DOCUMENT_DYNAMIC_ATTRIBUTE_PREFIX}#{field}"
    end
    
    def remove_dyn_prefix(field)
      field.gsub(DOCUMENT_DYNAMIC_ATTRIBUTE_PREFIX, '')
    end
  end
  
  def set_dyn_attribute(field, value)
    self.send("#{Document.add_dyn_prefix(field)}=", value)
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
knitkit-2.0.11 app/models/document.rb
knitkit-2.0.10 app/models/document.rb
knitkit-2.0.9 app/models/document.rb
knitkit-2.0.7 app/models/document.rb
knitkit-2.0.6 app/models/document.rb
knitkit-2.0.5 app/models/document.rb