Sha256: 51725021414118dbadb55e23fc3904185bf6834e94e94580ba5ad92e2b6e0f3b

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

require 'multi_json'

module Slackify
  class Payload

    attr_reader :text
    protected :text

    def initialize(context, text)
      @context, @text = context, text
    end

    def self.build(context, text)
      new(context, text).build
    end

    def build
      "'payload=#{payload}'"
    end

    def payload
      MultiJson.dump({
        channel: fetch(:slack_channel),
        username: fetch(:slack_username),
        text: text,
        icon_emoji: fetch(:slack_emoji),
        parse: fetch(:slack_parse)
      })
    end

    def fetch(*args, &block)
      @context.fetch(*args, &block)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-slackify-2.2.0 lib/slackify.rb