Class: ActiveRecordSurvey::Node::Answer::Rank
- Inherits:
-
ActiveRecordSurvey::Node::Answer
- Object
- ActiveRecord::Base
- ActiveRecordSurvey::Node
- ActiveRecordSurvey::Node::Answer
- ActiveRecordSurvey::Node::Answer::Rank
- Extended by:
- Answer::Chained::ClassMethods
- Includes:
- Answer::Chained::InstanceMethods
- Defined in:
- lib/active_record_survey/node/answer/rank.rb
Overview
Rank in relation to parent/children of ActiveRecordSurvey::Node::Answer::Rank
Instance Method Summary collapse
-
#is_answered_for_instance?(instance) ⇒ Boolean
Rank answers are considered answered if they have a value of greater than “0”.
-
#validate_instance_node(instance_node) ⇒ Object
Accept integer or empty values Must be within range of the number of ranking nodes.
Methods inherited from ActiveRecordSurvey::Node::Answer
#build_link, #move_down, #move_up, #next_question, #question, #remove_link, #sibling_index, #sibling_index=, #validate_node
Methods inherited from ActiveRecordSurvey::Node
#answers, #build_link, #has_instance_node_for_instance?, #instance_node_for_instance, #instance_node_path_to_root?, #validate_parent_instance_node
Instance Method Details
#is_answered_for_instance?(instance) ⇒ Boolean
Rank answers are considered answered if they have a value of greater than “0”
18 19 20 21 22 23 |
# File 'lib/active_record_survey/node/answer/rank.rb', line 18 def is_answered_for_instance?(instance) if instance_node = self.instance_node_for_instance(instance) # Answered if > 0 instance_node.value.to_i > 0 end end |
#validate_instance_node(instance_node) ⇒ Object
Accept integer or empty values Must be within range of the number of ranking nodes
9 10 11 12 13 14 15 |
# File 'lib/active_record_survey/node/answer/rank.rb', line 9 def validate_instance_node(instance_node) # super - all validations on this node pass super && (instance_node.value.to_s.empty? || !instance_node.value.to_s.match(/^\d+$/).nil?) && (instance_node.value.to_s.empty? || instance_node.value.to_i >= 1) && instance_node.value.to_i <= self.max_rank end |