de68e21ab7c82f21db445d619b211c7aaa6f22c9henning muellerclass OopsResponse < ActiveRecord::Base
831f94d76317b81366b7b6917782740c78ffb035henning mueller belongs_to :request, class_name: 'OopsRequest'
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer has_and_belongs_to_many :symbols, class_name: 'OntologyMember::Symbol'
ee5342a8882c2fc7631fcffb5497e6597747887cTim Reddehase
e1d2fd86f76c899ca9cc37b6dc892a1410b53470Tim Reddehase scope :global, ->() do
e1d2fd86f76c899ca9cc37b6dc892a1410b53470Tim Reddehase table = 'oops_responses_symbols'
e86f209c76711f484b10a3bb649b9a64f5399d05Eugen Kuksa joins("LEFT JOIN #{table} ON oops_responses.id = #{table}.oops_response_id").
e1d2fd86f76c899ca9cc37b6dc892a1410b53470Tim Reddehase where("#{table}.symbol_id" => nil)
e1d2fd86f76c899ca9cc37b6dc892a1410b53470Tim Reddehase end
ee5342a8882c2fc7631fcffb5497e6597747887cTim Reddehase
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger attr_accessor :affects
04ec32c7da711ca86c02a1d44e8f395d0ef7b1fahenning mueller
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger attr_accessible :code, :description, :name, :element_type, :affects
ee5342a8882c2fc7631fcffb5497e6597747887cTim Reddehase
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger # create affects if present
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger after_create :create_affects, if: :affects
ee5342a8882c2fc7631fcffb5497e6597747887cTim Reddehase
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger def create_affects
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger request = OopsRequest.find(oops_request_id) # otherwise request is nil :-(
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer self.symbols = request.ontology_version.ontology.symbols.
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer where(iri: affects).all
d6f4200103ff4fdbb3d9bfb1296a27a366808b0dJulian Kornberger end
de68e21ab7c82f21db445d619b211c7aaa6f22c9henning muellerend