Module: Legion::Extensions::Synapse::Data::Model
- Defined in:
- lib/legion/extensions/synapse/data/models/synapse.rb,
lib/legion/extensions/synapse/data/models/synapse_signal.rb,
lib/legion/extensions/synapse/data/models/synapse_mutation.rb,
lib/legion/extensions/synapse/data/models/synapse_proposal.rb,
lib/legion/extensions/synapse/data/models/synapse_challenge.rb
Class Method Summary collapse
- .define_synapse_challenge_model ⇒ Object
- .define_synapse_model ⇒ Object
- .define_synapse_mutation_model ⇒ Object
- .define_synapse_proposal_model ⇒ Object
- .define_synapse_signal_model ⇒ Object
Class Method Details
.define_synapse_challenge_model ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/synapse/data/models/synapse_challenge.rb', line 8 def self.define_synapse_challenge_model @define_mutex.synchronize do return if const_defined?(:SynapseChallenge, false) return unless defined?(Legion::Data) && Legion::Settings.dig(:data, :connected) db = Sequel::Model.db return unless db&.table_exists?(:synapse_challenges) klass = Class.new(Sequel::Model(:synapse_challenges)) do many_to_one :proposal, class: 'Legion::Extensions::Synapse::Data::Model::SynapseProposal', key: :proposal_id end klass.set_primary_key :id const_set(:SynapseChallenge, klass) end end |
.define_synapse_model ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/legion/extensions/synapse/data/models/synapse.rb', line 10 def self.define_synapse_model @define_mutex.synchronize do return if const_defined?(:Synapse, false) return unless defined?(Legion::Data) && Legion::Settings.dig(:data, :connected) db = Sequel::Model.db return unless db&.table_exists?(:synapses) klass = Class.new(Sequel::Model(:synapses)) do one_to_many :mutations, class: 'Legion::Extensions::Synapse::Data::Model::SynapseMutation', key: :synapse_id one_to_many :signals, class: 'Legion::Extensions::Synapse::Data::Model::SynapseSignal', key: :synapse_id one_to_many :proposals, class: 'Legion::Extensions::Synapse::Data::Model::SynapseProposal', key: :synapse_id end klass.set_primary_key :id const_set(:Synapse, klass) end end |
.define_synapse_mutation_model ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/synapse/data/models/synapse_mutation.rb', line 8 def self.define_synapse_mutation_model @define_mutex.synchronize do return if const_defined?(:SynapseMutation, false) return unless defined?(Legion::Data) && Legion::Settings.dig(:data, :connected) db = Sequel::Model.db return unless db&.table_exists?(:synapse_mutations) klass = Class.new(Sequel::Model(:synapse_mutations)) do many_to_one :synapse, class: 'Legion::Extensions::Synapse::Data::Model::Synapse', key: :synapse_id end klass.set_primary_key :id const_set(:SynapseMutation, klass) end end |
.define_synapse_proposal_model ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/synapse/data/models/synapse_proposal.rb', line 8 def self.define_synapse_proposal_model @define_mutex.synchronize do return if const_defined?(:SynapseProposal, false) return unless defined?(Legion::Data) && Legion::Settings.dig(:data, :connected) db = Sequel::Model.db return unless db&.table_exists?(:synapse_proposals) klass = Class.new(Sequel::Model(:synapse_proposals)) do many_to_one :synapse, class: 'Legion::Extensions::Synapse::Data::Model::Synapse', key: :synapse_id end klass.set_primary_key :id const_set(:SynapseProposal, klass) end end |
.define_synapse_signal_model ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/synapse/data/models/synapse_signal.rb', line 8 def self.define_synapse_signal_model @define_mutex.synchronize do return if const_defined?(:SynapseSignal, false) return unless defined?(Legion::Data) && Legion::Settings.dig(:data, :connected) db = Sequel::Model.db return unless db&.table_exists?(:synapse_signals) klass = Class.new(Sequel::Model(:synapse_signals)) do many_to_one :synapse, class: 'Legion::Extensions::Synapse::Data::Model::Synapse', key: :synapse_id end klass.set_primary_key :id const_set(:SynapseSignal, klass) end end |