Files
old-saburly-confighub/web/app/models/configuration_file.rb
2016-02-21 19:17:04 +01:00

34 lines
858 B
Ruby

class ConfigurationFile < ActiveRecord::Base
belongs_to :server
belongs_to :file_type
has_many :file_versions, -> { order('number DESC') }
def self.create_from_template!(template, server_id)
file = ConfigurationFile.new
file.server_id = server_id
file.file_path = template.file_path
file.file_type = template.file_type
file.namehash = SecureRandom.hex
transaction do
file.save!
file.file_versions.create!(content: template.content)
end
file
end
def update_by_form(content, path)
transaction do
update_attribute(:file_path, path)
file_versions.create!(content: content, number: last_version.number + 1)
end
end
def update_by_api(file)
file_versions.create!(content: file.read, number: last_version.number + 1)
end
def last_version
file_versions.first
end
end