Sha256: c383462c4476e15d2bb9e1ee6d158881ccc47ad914a3b03e33af0d9e16abb4b9
Contents?: true
Size: 1.68 KB
Versions: 1
Compression:
Stored size: 1.68 KB
Contents
module BranchIO class LinkProperties attr_reader :tags attr_reader :channel attr_reader :feature attr_reader :campaign attr_reader :stage attr_reader :alias attr_reader :type attr_reader :data def self.wrap(options) if options.kind_of?(LinkProperties) options else new(options) end end 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.new(options.keys) end end 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 class ErrorInvalidParameters < StandardError attr_reader :parameters def initialize(parameters) @parameters = parameters super("Invalid parameters for BranchIO::LinkProperties: \"#{@parameters.join(", ")}\"") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
branch_io-0.1.0 | lib/branch_io/link_properties.rb |