sentences.rb revision 93601837822998e6b847baa46d986f7cfc21d46f
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornbergermodule Ontology::Sentences
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger extend ActiveSupport::Concern
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger included do
3b5cf2ac667519a8140833a003a74991fd20f5b5Eugen Kuksa has_many :sentences, :extend => Methods
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger end
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger
23305f217b86a2ebf90a848af9036908e0070542Eugen Kuksa module Methods
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger def update_or_create_from_hash(hash, timestamp = Time.now)
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger e = find_or_initialize_by_name(hash['name'])
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger e.text = hash['text'].to_s
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger e.range = hash['range']
23305f217b86a2ebf90a848af9036908e0070542Eugen Kuksa e.updated_at = timestamp
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger e.save!
23305f217b86a2ebf90a848af9036908e0070542Eugen Kuksa
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger execute_sql "DELETE FROM axioms_entities WHERE axiom_id=#{e.id}"
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger execute_sql "INSERT INTO axioms_entities (axiom_id, entity_id, ontology_id)
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger SELECT #{e.id}, id, ontology_id FROM entities WHERE
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger ontology_id=#{@association.owner.id} AND text IN (?)",
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger hash['symbols']
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger
23305f217b86a2ebf90a848af9036908e0070542Eugen Kuksa e
7b1dde45a157f50e09c9f12f427e021a5e684d35Julian Kornberger end
5373515c1a145ecf6acc385c74f47594b6a463f4Eugen Kuksa end
5373515c1a145ecf6acc385c74f47594b6a463f4Eugen Kuksaend
5373515c1a145ecf6acc385c74f47594b6a463f4Eugen Kuksa