Sha256: ce21781949df15d3d9eaf9df591b7904675343bf6ab91b552da13168770cebb4
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
module Helena class Version include Helena::Concerns::ApplicationModel include Mongoid::Orderable # Needed, because the embedded objects needs this, see include Mongoid::Tree field :version, type: Integer, default: 0 field :notes, type: String field :session_report, type: String field :active, type: Boolean, default: false field :settings, type: Hash, default: {} belongs_to :survey has_many :question_groups, inverse_of: :version, dependent: :destroy, class_name: 'Helena::QuestionGroup', autosave: true has_many :sessions, inverse_of: :version, dependent: :destroy, class_name: 'Helena::Session' embeds_one :survey_detail, class_name: 'Helena::SurveyDetail' accepts_nested_attributes_for :survey_detail accepts_nested_attributes_for :question_groups scope :active, -> { where active: true } validates :version, presence: true validates :version, uniqueness: { scope: :survey_id } def question_codes question_groups.map(&:question_codes).flatten end def question_code_occurences question_codes.each_with_object(Hash.new(0)) { |word, counts| counts[word] += 1 } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
helena-1.0.0.rc4 | app/models/helena/version.rb |