Sha256: 01a366c0ef07ead1732b4e40d7a7e869378fb5183851754bd5c327d8c3de8fb1

Contents?: true

Size: 1.21 KB

Versions: 45

Compression:

Stored size: 1.21 KB

Contents

# These arms are part of the adolescent and adult projects
# Between 1 and 8 groups are in each arm and each group
# could have between 1 and 10 or so participants
class Arm < ActiveRecord::Base
  has_many :groups, dependent: :nullify
  has_many :bit_core_tools,
           class_name: "BitCore::Tool",
           foreign_key: :arm_id,
           dependent: :destroy
  has_many :bit_core_slideshows,
           class_name: "BitCore::Slideshow",
           foreign_key: :arm_id,
           dependent: :destroy

  validates :title, presence: true
  validates_with ArmValidator

  def display_name_required_for_membership?(participant, display_name)
    if social? && display_name.empty?
      participant.errors.add(
        :display_name, "is required because the arm of this \
          intervention utilizes social features or the \
          participant is currently enrolled in an arm that \
          requires a display name."
        )
      false
    else
      true
    end
  end

  def social?
    is_social
  end

  def woz?
    has_woz
  end

  def non_home_tools
    tools = Arel::Table.new(:bit_core_tools)
    bit_core_tools
      .where(tools[:type].eq(nil)
        .or(tools[:type].not_eq("Tools::Home"))
      )
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
think_feel_do_engine-3.18.0 app/models/arm.rb
think_feel_do_engine-3.17.2 app/models/arm.rb
think_feel_do_engine-3.17.1 app/models/arm.rb
think_feel_do_engine-3.17.0 app/models/arm.rb
think_feel_do_engine-3.16.3 app/models/arm.rb
think_feel_do_engine-3.16.2 app/models/arm.rb
think_feel_do_engine-3.16.1 app/models/arm.rb
think_feel_do_engine-3.15.7 app/models/arm.rb
think_feel_do_engine-3.16.0 app/models/arm.rb
think_feel_do_engine-3.15.6 app/models/arm.rb
think_feel_do_engine-3.15.5 app/models/arm.rb
think_feel_do_engine-3.15.4 app/models/arm.rb
think_feel_do_engine-3.15.3 app/models/arm.rb
think_feel_do_engine-3.15.2 app/models/arm.rb
think_feel_do_engine-3.15.1 app/models/arm.rb
think_feel_do_engine-3.15.0 app/models/arm.rb
think_feel_do_engine-3.14.9 app/models/arm.rb
think_feel_do_engine-3.14.8 app/models/arm.rb
think_feel_do_engine-3.14.7 app/models/arm.rb
think_feel_do_engine-3.14.6 app/models/arm.rb