Sha256: 7f0ade3018d6b5fd3b30273d48285b9a4f431f784d30f23952641942e16e8adc

Contents?: true

Size: 756 Bytes

Versions: 3

Compression:

Stored size: 756 Bytes

Contents

module SipgateIo
  class NewCall
    include ActiveModel::Validations
    include SipgateIo::EventProcessor

    attr_reader :to, :from, :direction, :event, :call_id, :users, :diversion

    validates :to, :from, :direction, :event, :call_id, :users, presence: true
    validates :direction, inclusion: { in: %w(in out) }
    validates :event, inclusion: { in: %w(newCall) }
    validates :to, :from, format: { with: /\A\+?[1-9]\d{1,14}\z|\Aanonymous\z/ }

    def initialize(params)
      @to = params[:to]
      @from = params[:from]
      @direction = params[:direction]
      @event = params[:event]
      @call_id = params[:callId]
      @users = params[:user]
      @diversion = params[:diversion] unless params[:diversion].blank?
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sipgate_io-0.3.4 lib/sipgate_io/new_call.rb
sipgate_io-0.3.3 lib/sipgate_io/new_call.rb
sipgate_io-0.3.1 lib/sipgate_io/new_call.rb