Sha256: ca5c7b51747279a30adcba4911e77fc1847e53d0d93a64bfbe9b1397a7a82234

Contents?: true

Size: 751 Bytes

Versions: 1

Compression:

Stored size: 751 Bytes

Contents

module Helena
  class Survey
    include Helena::Concerns::ApplicationModel
    include Mongoid::Orderable
    include Mongoid::Document::Taggable

    orderable

    field :name,        type: String
    field :language,    type: String
    field :description, type: String

    embeds_many :versions, inverse_of: :survey, class_name: 'Helena::Version'
    has_many :sessions, inverse_of: :survey, dependent: :destroy, class_name: 'Helena::Session'

    accepts_nested_attributes_for :versions

    validates :name, presence: true, uniqueness: true
    validates :language, presence: true

    def draft_version
      versions.find_by version: 0
    end

    def newest_version
      versions.find_by version: versions.max(:version)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
helena-0.3.3 app/models/helena/survey.rb