class OneSignal::Sounds

Constants

REGEX

Attributes

amazon[R]
android[R]
ios[R]
windows[R]

Public Class Methods

new(ios: nil, android: nil, amazon: nil, windows: nil) click to toggle source
# File lib/onesignal/sounds.rb, line 7
def initialize ios: nil, android: nil, amazon: nil, windows: nil
  validate ios: ios, windows: windows

  @ios = ios
  @android = android
  @amazon = amazon
  @windows = windows
end

Public Instance Methods

as_json(options = nil) click to toggle source
# File lib/onesignal/sounds.rb, line 16
def as_json options = nil
  {
    'ios_sound'     => @ios.as_json(options),
    'android_sound' => @android.as_json(options),
    'adm_sound'     => @amazon.as_json(options),
    'wp_wns_sound'  => @windows.as_json(options)
  }
end

Private Instance Methods

validate(ios: nil, windows: nil) click to toggle source
# File lib/onesignal/sounds.rb, line 29
def validate ios: nil, windows: nil
  ios_valid = !ios.nil? && (REGEX =~ ios).nil?
  windows_valid = !windows.nil? && (REGEX =~ windows).nil?
  raise InvalidError, "provide file extension for iOS: #{ios}" if ios_valid
  raise InvalidError, "provide file extension for windows: #{ios}" if windows_valid
end