Sha256: 35e57bd25a6d6e503b11d27ab627b24d28e9747410f54b7ac1f03155cf1962ed

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

require 'dm-serializer'
module Ixtlan
  module Models
    class Translation
      include DataMapper::Resource

      def self.default_storage_name
        "Translation"
      end

      property :id, Serial

      property :text, String, :required => true, :length => 256

      property :previous_text, String, :required => false, :length => 256

      property :approved_at, DateTime, :required => true, :auto_validation => false

      belongs_to :approved_by, :model => Models::USER

      def self.map_for(args = {})
        map = {}
        I18nText.latest_approved(args.dup).each do |text|
          map[text.code] = Translation.create(:text => text.text, :approved_at => text.approved_at, :approved_by => text.approved_by)
        end
        I18nText.second_latest_approved(args.dup).each do |text|
          translation = map[text.code]
          translation.previous_text = text.text
        end
        map
      end

      alias :to_x :to_xml_document
      def to_xml_document(opts = {}, doc = nil)
        opts.merge!({:exclude => [:id]})
        to_x(opts, doc)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ixtlan-0.4.0.pre5 lib/ixtlan/models/translation.rb
ixtlan-0.4.0.pre4 lib/ixtlan/models/translation.rb
ixtlan-0.4.0.pre3 lib/ixtlan/models/translation.rb
ixtlan-0.4.0.pre2 lib/ixtlan/models/translation.rb
ixtlan-0.4.0.pre lib/ixtlan/models/translation.rb
ixtlan-0.3.0 lib/ixtlan/models/translation.rb