Sha256: ed55247fa30aa738ebc7b5ab8aa9d4dad7addbb53b2aab62d9ca0a6cb2013687

Contents?: true

Size: 619 Bytes

Versions: 1

Compression:

Stored size: 619 Bytes

Contents

require 'yajl/json_gem'

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
      {
        channel: fetch(:slack_channel),
        username: fetch(:slack_username),
        text: text,
        icon_emoji: fetch(:slack_emoji),
        parse: fetch(:slack_parse)
      }.to_json
    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.1.0 lib/slackify.rb