Sha256: a9cb3cc755f4cf0b1303575bb9de996ff288b3bc94b154cbe63b5029610ac123

Contents?: true

Size: 1.39 KB

Versions: 25

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

# :reek:UtilityFunction

module RubyRabbitmqJanus
  module Models
    # Add method for JanusInstance model
    module JanusInstanceMethods
      extend ActiveSupport::Concern

      # Class methods for JanusInstance model
      module ClassMethods
        # Disable an instance
        def disable(session_id)
          JanusInstance.find_by(session: session_id).set(enable: false)
        end

        # Clean all instance disabled
        def destroys
          JanusInstance.where(enable: false).delete_all
        end

        # Search a record by instance number
        def find_by_instance(instance_search)
          JanusInstance.find_by(instance: instance_search)
        rescue
          false
        end

        # Search a record by session number
        def find_by_session(session_search)
          JanusInstance.find_by(session: session_search)
        rescue
          nil
        end

        # Get all instance active
        def enabled
          JanusInstance.where(enable: true)
        end
      end

      private

      def search_initializer(options)
        if File.basename($PROGRAM_NAME) == 'rake'
          ::RRJ.start_transaction(options) do |transaction|
            yield(transaction)
          end
        else
          ::RRJ.start_transaction(true, options) do |transaction|
            yield(transaction)
          end
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-2.3.1.pre.201 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.1.pre.198 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0.pre.197 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0.pre.196 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0.pre.194 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0.pre.192 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.3.0.pre.170 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.2 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.1 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.1.pre.181 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.1.pre.180 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.179 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.177 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.173 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.170 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.168 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.167 lib/rrj/models/concerns/janus_instance_methods.rb
ruby_rabbitmq_janus-2.2.0.pre.166 lib/rrj/models/concerns/janus_instance_methods.rb