Class: SakaiInfo::QuizAttemptItemAttachment

Inherits:
SakaiObject
  • Object
show all
Includes:
ModProps
Defined in:
lib/sakai-info/quiz.rb

Instance Attribute Summary collapse

Attributes inherited from SakaiObject

#id

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ModProps

included

Methods inherited from SakaiObject

all_serializations, #dbrow_only_serialization, #dbrow_serialization, descendants, #object_type_serialization, #serialize, #shell_serialization, #to_csv, #to_json, #to_yaml

Constructor Details

#initialize(dbrow) ⇒ QuizAttemptItemAttachment

Returns a new instance of QuizAttemptItemAttachment.



999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# File 'lib/sakai-info/quiz.rb', line 999

def initialize(dbrow)
  @dbrow = dbrow

  @id = dbrow[:mediaid]
  @quiz_attempt_item_id = dbrow[:itemgradingid]
  @status = dbrow[:status]
  @filepath = dbrow[:location]
  @filename = dbrow[:filename]
  @filesize = dbrow[:filesize]
  @mimetype = dbrow[:mimetype]
  @description = dbrow[:description]
end

Instance Attribute Details

#dbrowObject (readonly)

Returns the value of attribute dbrow.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def dbrow
  @dbrow
end

#descriptionObject (readonly)

Returns the value of attribute description.



986
987
988
# File 'lib/sakai-info/quiz.rb', line 986

def description
  @description
end

#filenameObject (readonly)

Returns the value of attribute filename.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def filename
  @filename
end

#filepathObject (readonly)

Returns the value of attribute filepath.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def filepath
  @filepath
end

#filesizeObject (readonly)

Returns the value of attribute filesize.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def filesize
  @filesize
end

#mimetypeObject (readonly)

Returns the value of attribute mimetype.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def mimetype
  @mimetype
end

#quiz_attempt_item_idObject (readonly)

Returns the value of attribute quiz_attempt_item_id.



986
987
988
# File 'lib/sakai-info/quiz.rb', line 986

def quiz_attempt_item_id
  @quiz_attempt_item_id
end

#statusObject (readonly)

Returns the value of attribute status.



985
986
987
# File 'lib/sakai-info/quiz.rb', line 985

def status
  @status
end

Class Method Details

.clear_cacheObject



994
995
996
# File 'lib/sakai-info/quiz.rb', line 994

def self.clear_cache
  @@cache = {}
end

.find(id) ⇒ Object



1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
# File 'lib/sakai-info/quiz.rb', line 1021

def self.find(id)
  id = id.to_s
  if @@cache[id].nil?
    row = DB.connect[:sam_media_t].where(:mediaid => id).first
    if row.nil?
      raise ObjectNotFoundException.new(QuizAttemptItemAttachment, id)
    end

    @@cache[id] = QuizAttemptItemAttachment.new(row)
  end
  @@cache[id]
end

.find_by_quiz_attempt_item_id(quiz_attempt_item_id) ⇒ Object



1016
1017
1018
1019
# File 'lib/sakai-info/quiz.rb', line 1016

def self.find_by_quiz_attempt_item_id(quiz_attempt_item_id)
  DB.connect[:sam_media_t].where(:itemgradingid => quiz_attempt_item_id).
    all.collect { |row| QuizAttemptItemAttachment.new(row) }
end

Instance Method Details

#attempt_item_summary_serializationObject



1053
1054
1055
1056
1057
1058
# File 'lib/sakai-info/quiz.rb', line 1053

def attempt_item_summary_serialization
  {
    "id" => self.id,
    "filename" => self.filename
  }
end

#default_serializationObject



1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
# File 'lib/sakai-info/quiz.rb', line 1034

def default_serialization
  {
    "id" => self.id,
    "filename" => self.filename,
    "mimetype" => self.mimetype,
    "filesize" => self.filesize,
    "status" => self.status,
    "quiz_attempt_item" => self.quiz_attempt_item.serialize(:summary)
  }
end

#quiz_attempt_itemObject



1012
1013
1014
# File 'lib/sakai-info/quiz.rb', line 1012

def quiz_attempt_item
  @quiz_attempt_item ||= QuizAttemptItem.find(@quiz_attempt_item_id)
end

#summary_serializationObject



1045
1046
1047
1048
1049
1050
1051
# File 'lib/sakai-info/quiz.rb', line 1045

def summary_serialization
  {
    "id" => self.id,
    "filename" => self.filename,
    "quiz_attempt_item_id" => self.quiz_attempt_item_id
  }
end