class BranchIO::LinkProperties

Attributes

alias[R]
campaign[R]
channel[R]
data[R]
feature[R]
stage[R]
tags[R]
type[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/branch_io/link_properties.rb, line 20
def initialize(options = {})
  @tags     = options.delete(:tags) || options.delete("tags")
  @channel  = options.delete(:channel)  || options.delete("channel")
  @feature  = options.delete(:feature)  || options.delete("feature")
  @campaign = options.delete(:campaign) || options.delete("campaign")
  @stage    = options.delete(:stage)    || options.delete("stage")
  @alias    = options.delete(:alias)    || options.delete("alias")
  @type     = options.delete(:type)     || options.delete("type")
  @data     = options.delete(:data)     || options.delete("data")

  unless options.empty?
    raise ErrorInvalidParameters, options.keys
  end
end
wrap(options) click to toggle source
# File lib/branch_io/link_properties.rb, line 12
def self.wrap(options)
  if options.kind_of?(LinkProperties)
    options
  else
    new(options)
  end
end

Public Instance Methods

as_json() click to toggle source
# File lib/branch_io/link_properties.rb, line 35
def as_json
  json = {}
  json[:tags]     = tags if tags
  json[:channel]  = channel if channel
  json[:feature]  = feature if feature
  json[:campaign] = campaign if campaign
  json[:stage]    = stage if stage
  json[:alias]    = self.alias if self.alias
  json[:type]     = type if type
  json[:data]     = data if data
  json
end