Sha256: 33f76bf7f8acbe23f09e464d81664c9e8d74b7a328fdebdbcceffe3d324ec5fc

Contents?: true

Size: 723 Bytes

Versions: 2

Compression:

Stored size: 723 Bytes

Contents

class SendGrid::ApiHeader
  attr_reader :data

  def initialize
    @data = Hash.new { |h,k| h[k] = Hash.new(&h.default_proc) }
  end

  def add_recipients(recipients)
    @data[:to] = [] unless @data[:to].instance_of?(Array)
    @data[:to] |= Array.wrap(recipients)
  end

  def substitute(var, val)
    @data[:sub][var] = Array.wrap(val)
  end

  def uniq_args(val)
    @data[:unique_args] = val if val.instance_of?(Hash)
  end

  def category(cat)
    @data[:category] = cat
  end

  def add_filter_setting(fltr, setting, val)
    @data[:filters][fltr][:settings][setting] = val
  end

  def deliver_at(timestamp)
    @data[:send_at] = timestamp
  end

  def to_json
    JSON.generate(@data, :array_nl => ' ')
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sendgrid-rails-3.0.0 lib/send_grid/api_header.rb
sendgrid-rails-2.0.5 lib/send_grid/api_header.rb