Sha256: ee22495f6fea7f33e8f58d3ca76876d0768a30edda7c1f0d88cb2ff385a71115

Contents?: true

Size: 1.62 KB

Versions: 12

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

require 'rrj/models/concerns/janus_instance_callbacks'
require 'rrj/models/concerns/janus_instance_methods'
require 'rrj/models/concerns/janus_instance_validations'
if RubyRabbitmqJanus::Tools::Config.instance.orm.eql?('mongoid')
  require 'rrj/models/mongoid'
else
  require 'rrj/models/active_record'
end

# :reek:FeatureEnvy

module RubyRabbitmqJanus
  module Tools
    # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>

    # # Utility for manage option to this gem.
    #
    # This class start all singleton, Log, Config, Request and Keepalive
    # instance. It's also used for testing session/handle used in request.
    class Option
      def initialize
        Config.instance
        Requests.instance
      rescue => exception
        raise Errors::Tools::Option::Initialize, exception
      end

      # Determine session_id used
      #
      # @param [Hash] options Read options used in request
      #
      # @return [Fixnum] Session ID
      #
      # @since 2.0.0
      def use_current_session?(options)
        if options.key?('session_id')
          options['session_id']
        else
          Models::JanusInstance.first.session
        end
      rescue
        raise Errors::Tools::Option::UseCurrentSession, options
      end

      # Determine handle_id used
      #
      # @param [Hash] options Read options used in request
      #
      # @return [Fixnum] Handle ID
      #
      # @since 2.0.0
      def use_current_handle?(options)
        options.key?('handle_id') ? options['handle_id'] : 0
      rescue
        raise Errors::Tools::Option::UseCurrentHandle, options
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-2.7.1 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.7.1.pre.274 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.7.0.pre.272 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.7.0 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.7.0.pre.269 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.7.0.pre.267 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0.pre.263 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0.pre.261 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0.pre.260 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0.pre.259 lib/rrj/tools/gem/option.rb
ruby_rabbitmq_janus-2.6.0.pre.258 lib/rrj/tools/gem/option.rb