Sha256: 084a083e84a2d3071d6e04f194e13f4275f7dc5b2514564995a82d6056e6cf5c

Contents?: true

Size: 1.2 KB

Versions: 11

Compression:

Stored size: 1.2 KB

Contents

module SurveyParser
  class Question < SurveyParser::Base
    # Context, Content, Reference, Display, Children
    attr_accessor :id, :parser, :survey_section_id, :question_group_id
    attr_accessor :text, :short_text, :help_text, :pick
    attr_accessor :reference_identifier, :data_export_identifier, :common_namespace, :common_identifier
    attr_accessor :display_order, :display_type, :is_mandatory, :display_width, :custom_class, :custom_renderer
    attr_accessor :dependency
    has_children :answers

    def default_options
      { :pick => :none,
        :display_type => :default,
        :is_mandatory => true,
        :display_order => self.id
      }
    end
    def parse_opts(opts)
      (name = opts.delete(:method_name)) =~ /label|image/ ? opts.merge(:display_type => name) : opts
    end
    def parse_args(args)
      text = args[0] || "Question"
      {:text => text, :short_text => text, :data_export_identifier => Surveyor.to_normalized_string(text)}.merge(args[1] || {})
    end
  
    def find_answer_by_reference(ref_id)
      self.answers.detect{|a| a.reference_identifier == ref_id}
    end

    def to_file
      super
      if self.dependency then self.dependency.to_file end
    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
surveyor-0.11.0 script/surveyor/question.rb
surveyor-0.10.0 script/surveyor/question.rb
surveyor-0.9.10 script/surveyor/question.rb
surveyor-0.9.9 script/surveyor/question.rb
surveyor-0.9.8 script/surveyor/question.rb
surveyor-0.9.7 script/surveyor/question.rb
surveyor-0.9.6 script/surveyor/question.rb
surveyor-0.9.5 script/surveyor/question.rb
surveyor-0.9.4 script/surveyor/question.rb
surveyor-0.9.3 script/surveyor/question.rb
surveyor-0.9.2 script/surveyor/question.rb