Sha256: d76065724d0392c40e6026662f0b3660bc975cb12845f58c809e0a57038fd11e

Contents?: true

Size: 717 Bytes

Versions: 3

Compression:

Stored size: 717 Bytes

Contents

module SipgateIo
  class NewCall
    include ActiveModel::Validations

    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.0 lib/sipgate_io/new_call.rb
sipgate_io-0.2.0 lib/sipgate_io/new_call.rb
sipgate_io-0.1.6 lib/sipgate_io/new_call.rb