slackdraft 0.7.6c → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Gemfile.lock +8 -1
- data/README.md +69 -1
- data/bin/slackdraft +54 -7
- data/examples/attachment.rb +30 -0
- data/lib/slackdraft/attachment.rb +52 -0
- data/lib/slackdraft/base.rb +37 -0
- data/lib/slackdraft/message.rb +65 -0
- data/lib/slackdraft/version.rb +1 -1
- data/lib/slackdraft.rb +23 -72
- data/slackdraft.gemspec +5 -2
- metadata +52 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dcad482dd1834021d0d51df6e59ca8b0ef8bc69
|
4
|
+
data.tar.gz: 055da9c748a5f1ee1a02fb9a2bf608b4cc400d65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8aa49f4ceba089f62f776f8092c58b9d62d306d3d240a4593ca2f7dda4d8044487bc1ebc1fa940dbcbb1e54e47df06cf62e99f99649a678cfc9540393019a286
|
7
|
+
data.tar.gz: 8b5113394c3e2be2c356173b29e2f5b6152577606c3dcdaee9b68d6678658e128fa1a36c80951697cc74aeb68620f13ea3281fec47262a8979362f46b8cedaa4
|
data/.travis.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
language: ruby
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
slackdraft (0.7.
|
4
|
+
slackdraft (0.7.7)
|
5
|
+
fattr
|
5
6
|
httparty
|
7
|
+
methadone
|
8
|
+
paint
|
6
9
|
|
7
10
|
GEM
|
8
11
|
remote: https://rubygems.org/
|
@@ -11,11 +14,15 @@ GEM
|
|
11
14
|
crack (0.4.2)
|
12
15
|
safe_yaml (~> 1.0.0)
|
13
16
|
diff-lcs (1.2.5)
|
17
|
+
fattr (2.2.2)
|
14
18
|
httparty (0.13.3)
|
15
19
|
json (~> 1.8)
|
16
20
|
multi_xml (>= 0.5.2)
|
17
21
|
json (1.8.2)
|
22
|
+
methadone (1.8.0)
|
23
|
+
bundler
|
18
24
|
multi_xml (0.5.5)
|
25
|
+
paint (0.9.0)
|
19
26
|
rake (10.4.2)
|
20
27
|
rspec (3.2.0)
|
21
28
|
rspec-core (~> 3.2.0)
|
data/README.md
CHANGED
@@ -1,2 +1,70 @@
|
|
1
1
|
# slackdraft
|
2
|
-
Simplest way to
|
2
|
+
Simplest way to send messages to Slack.
|
3
|
+
|
4
|
+

|
5
|
+
|
6
|
+
# Installation
|
7
|
+
|
8
|
+
Like any other gem:
|
9
|
+
|
10
|
+
gem install slackdraft
|
11
|
+
|
12
|
+
|
13
|
+
# Ruby Usage
|
14
|
+
|
15
|
+
Usage is very simple:
|
16
|
+
|
17
|
+
require 'slackdraft'
|
18
|
+
url = "https://slack/webhook/url"
|
19
|
+
slack = Slackdraft::Message.new(url)
|
20
|
+
|
21
|
+
# Url of the icon or emoji
|
22
|
+
# slack.icon_url = "https://..."
|
23
|
+
slack.icon_emoji = ":fire:"
|
24
|
+
|
25
|
+
# Set the bot username
|
26
|
+
slack.username = "SlackDraft"
|
27
|
+
|
28
|
+
# Set the channel
|
29
|
+
slack.channel = "#general"
|
30
|
+
|
31
|
+
# Set text
|
32
|
+
slack.text = "Your message here! _*And can have* formatting_"
|
33
|
+
|
34
|
+
# Or you can pass text in as an array
|
35
|
+
# slack.text = ["Your message here!", ">_*And can have* formatting_"]
|
36
|
+
|
37
|
+
# Send the message
|
38
|
+
slack.send!
|
39
|
+
#-> true/false
|
40
|
+
|
41
|
+
For more examples, see the `examples/` directory.
|
42
|
+
|
43
|
+
# Command-line Usage
|
44
|
+
|
45
|
+
It's dumb simple. Instead of using `curl`, use this:
|
46
|
+
|
47
|
+
slackdraft -u mike \
|
48
|
+
-c "#slackdraft" \
|
49
|
+
-m "This is our *formammted message*" \
|
50
|
+
https://hooks.slack.com/services/xxxxxxx
|
51
|
+
|
52
|
+
> **Note**: The CLI version does not support Slack Attachments
|
53
|
+
|
54
|
+
## Help text
|
55
|
+
|
56
|
+
$ slackdraft -h
|
57
|
+
Usage: slackdraft [options] url
|
58
|
+
|
59
|
+
Slack with less Kurt Russell
|
60
|
+
|
61
|
+
v0.7.7
|
62
|
+
|
63
|
+
Options:
|
64
|
+
-h, --help Show command line help
|
65
|
+
--version Show help/version info
|
66
|
+
-c, --channel CHANNEL Channel to send message to
|
67
|
+
-u, --username USER User to send message as
|
68
|
+
-m, --message MESSAGE Message to send
|
69
|
+
-e, --emoji EMOJI Emoji to prefix message with
|
70
|
+
-i, --icon ICON Icon to prefix message with
|
data/bin/slackdraft
CHANGED
@@ -2,12 +2,59 @@
|
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
require 'slackdraft'
|
5
|
+
require 'methadone'
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
#slack.icon_emoji = ":fire:"
|
9
|
-
slack.channel = "#slackdraft"
|
10
|
-
slack.text = ["Testing *formatting* and", "> this should be"]
|
11
|
-
slack.send!
|
7
|
+
class App
|
8
|
+
include Methadone::Main
|
12
9
|
|
13
|
-
|
10
|
+
leak_exceptions true
|
11
|
+
|
12
|
+
# Set Version
|
13
|
+
version Slackdraft::VERSION
|
14
|
+
description "Slack with less Kurt Russell"
|
15
|
+
|
16
|
+
# This is the main instructions
|
17
|
+
main do |url|
|
18
|
+
|
19
|
+
# Create instance
|
20
|
+
slack = Slackdraft::Message.new(url)
|
21
|
+
slack.icon_url = options[:icon]
|
22
|
+
slack.icon_emoji = options[:emoji]
|
23
|
+
slack.username = options[:username]
|
24
|
+
slack.channel = options[:channel]
|
25
|
+
slack.text = options[:message]
|
26
|
+
|
27
|
+
# Send it, and check response
|
28
|
+
if slack.send!
|
29
|
+
Slackdraft::success("Message successful")
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
# These are the options
|
35
|
+
on('-c', '--channel CHANNEL', "Channel to send message to")
|
36
|
+
on('-u', '--username USER', "User to send message as")
|
37
|
+
on('-m', '--message MESSAGE', "Message to send")
|
38
|
+
on('-e', '--emoji EMOJI', "Emoji to prefix message with")
|
39
|
+
on('-i', '--icon ICON', "Icon to prefix message with")
|
40
|
+
|
41
|
+
# Grab to webhook url
|
42
|
+
arg :url
|
43
|
+
|
44
|
+
begin
|
45
|
+
|
46
|
+
# No Args?
|
47
|
+
if ARGV.empty?
|
48
|
+
Slackdraft::fatal("No options given; see slackdraft --help for options.")
|
49
|
+
end
|
50
|
+
|
51
|
+
go!
|
52
|
+
|
53
|
+
rescue Interrupt
|
54
|
+
print "\b\b\n"; # Remove ^C from screen
|
55
|
+
Slackdraft::fatal("Caught interrupt; exiting.")
|
56
|
+
rescue => e
|
57
|
+
Slackdraft::fatal("An error occurred: #{e.class.name}: #{e.message}")
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require 'slackdraft'
|
5
|
+
|
6
|
+
# Set URL
|
7
|
+
url = "https://hooks.slack.com/services/xxxxxxxxxx"
|
8
|
+
|
9
|
+
# Create instance
|
10
|
+
slack = Slackdraft::Attachment.new(url)
|
11
|
+
slack.fallback = "Fallback text!!!!"
|
12
|
+
slack.color = "#439FE0"
|
13
|
+
slack.pretext ="Hmm where?"
|
14
|
+
|
15
|
+
slack.author_name = "Mike"
|
16
|
+
slack.author_link = "https://github.com/mikemackintosh"
|
17
|
+
slack.author_icon = ":skull:"
|
18
|
+
|
19
|
+
slack.title = "By Mike Mackintosh"
|
20
|
+
slack.title_link = "https://github.com/mikemackintosh"
|
21
|
+
|
22
|
+
slack.text = "This is pretty cool"
|
23
|
+
|
24
|
+
slack.add_field("col 1", "blahblahblah")
|
25
|
+
slack.add_field("col 2", "derpherp")
|
26
|
+
|
27
|
+
# Send it, and check response
|
28
|
+
if slack.send!
|
29
|
+
Slackdraft::success("Message successful")
|
30
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Slackdraft
|
2
|
+
|
3
|
+
class Attachment < Base
|
4
|
+
|
5
|
+
fattr fallback: "This message was sent with Slackdraft"
|
6
|
+
fattr color: "#439FE0"
|
7
|
+
fattr pretext: nil
|
8
|
+
|
9
|
+
fattr author_name: nil
|
10
|
+
fattr author_link: nil
|
11
|
+
fattr author_icon: nil
|
12
|
+
|
13
|
+
fattr title: nil
|
14
|
+
fattr title_link: nil
|
15
|
+
|
16
|
+
fattr text: nil
|
17
|
+
fattr fields: []
|
18
|
+
|
19
|
+
fattr image_url: nil
|
20
|
+
|
21
|
+
# Short defines if it's 1 column or not, default: not
|
22
|
+
def add_field(title, value, short=true)
|
23
|
+
fields.push({:title => title, :value => value, :short => short })
|
24
|
+
end
|
25
|
+
|
26
|
+
# Generate the payload for slack attachments
|
27
|
+
def generate_payload
|
28
|
+
payload = {}
|
29
|
+
payload[:fallback] = self.fallback unless self.fallback.nil?
|
30
|
+
payload[:color] = self.color unless self.color.nil?
|
31
|
+
payload[:pretext] = self.pretext unless self.pretext.nil?
|
32
|
+
payload[:author_name] = self.author_name unless self.author_name.nil?
|
33
|
+
payload[:author_link] = self.author_link unless self.author_link.nil?
|
34
|
+
payload[:author_icon] = self.author_icon unless self.author_icon.nil?
|
35
|
+
payload[:title] = self.title unless self.title.nil?
|
36
|
+
payload[:title_link] = self.title_link unless self.title_link.nil?
|
37
|
+
payload[:text] = self.text unless self.text.nil?
|
38
|
+
|
39
|
+
unless self.fields.nil?
|
40
|
+
payload[:fields] = self.fields if self.fields.length > 0
|
41
|
+
end
|
42
|
+
|
43
|
+
payload[:image_url] = self.image_url unless self.image_url.nil?
|
44
|
+
|
45
|
+
puts payload.inspect
|
46
|
+
|
47
|
+
payload
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Slackdraft
|
2
|
+
class Base
|
3
|
+
|
4
|
+
fattr endpoint: 'https://hooks.slack.com/services/'
|
5
|
+
|
6
|
+
# Init the class
|
7
|
+
def initialize(token, &block)
|
8
|
+
if /^https?/.match(token)
|
9
|
+
@target = token
|
10
|
+
else
|
11
|
+
@target = "#{self.endpoint}#{@token}"
|
12
|
+
end
|
13
|
+
|
14
|
+
instance_eval(&block) if block_given?
|
15
|
+
end
|
16
|
+
|
17
|
+
def target
|
18
|
+
@target
|
19
|
+
end
|
20
|
+
|
21
|
+
# Send the message!
|
22
|
+
def send!
|
23
|
+
|
24
|
+
# Send the request
|
25
|
+
request = HTTParty.post(self.target, :body => {
|
26
|
+
:payload => generate_payload.to_json
|
27
|
+
})
|
28
|
+
|
29
|
+
unless request.code.eql? 200
|
30
|
+
false
|
31
|
+
end
|
32
|
+
|
33
|
+
true
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Slackdraft
|
2
|
+
class Message < Slackdraft::Base
|
3
|
+
|
4
|
+
# Attributes
|
5
|
+
fattr username: 'slackdraft'
|
6
|
+
fattr channel: '#general'
|
7
|
+
fattr icon_emoji: ':fire:'
|
8
|
+
fattr icon_url: ''
|
9
|
+
fattr text: ''
|
10
|
+
|
11
|
+
# Set the api call username
|
12
|
+
def username
|
13
|
+
return 'slackdraft' if @username.nil?
|
14
|
+
@username
|
15
|
+
end
|
16
|
+
|
17
|
+
# Set the destination channel
|
18
|
+
def channel
|
19
|
+
return '#general' if @channel.nil?
|
20
|
+
@channel
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set the icon URL and default to the emoji
|
24
|
+
def icon_url
|
25
|
+
@icon_url || icon_emoji
|
26
|
+
end
|
27
|
+
|
28
|
+
# Set the emoji
|
29
|
+
def icon_emoji
|
30
|
+
return ':fire:' if @icon_emoji.nil?
|
31
|
+
end
|
32
|
+
|
33
|
+
def refchannel(channel)
|
34
|
+
"<#C024BE7LR|#{channel}>"
|
35
|
+
end
|
36
|
+
|
37
|
+
def refuser(user)
|
38
|
+
"<@U024BE7LH|#{user}>"
|
39
|
+
end
|
40
|
+
|
41
|
+
# Set the text of the message
|
42
|
+
def text
|
43
|
+
|
44
|
+
if @text.kind_of?(Array)
|
45
|
+
return @text.join("\n")
|
46
|
+
end
|
47
|
+
|
48
|
+
@text
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# Generate the payload if stuff was provided
|
53
|
+
def generate_payload
|
54
|
+
payload = {}
|
55
|
+
payload[:channel] = self.channel unless self.channel.nil?
|
56
|
+
payload[:username] = self.username unless self.username.nil?
|
57
|
+
payload[:icon_url] = self.icon_url unless self.icon_url.nil?
|
58
|
+
payload[:icon_emoji] = self.icon_emoji unless self.icon_emoji.nil?
|
59
|
+
payload[:text] = self.text unless self.text.nil?
|
60
|
+
|
61
|
+
payload
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
data/lib/slackdraft/version.rb
CHANGED
data/lib/slackdraft.rb
CHANGED
@@ -1,83 +1,34 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
require 'json'
|
3
3
|
require 'cgi'
|
4
|
+
require 'fattr'
|
5
|
+
require 'paint'
|
4
6
|
|
7
|
+
require 'slackdraft/base'
|
8
|
+
require 'slackdraft/message'
|
5
9
|
require 'slackdraft/version'
|
6
|
-
|
7
|
-
#require 'slackdraft/message'
|
10
|
+
require 'slackdraft/attachment'
|
8
11
|
|
9
12
|
module Slackdraft
|
10
|
-
|
11
|
-
|
12
|
-
#
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
# Init the class
|
20
|
-
def initialize(url)
|
21
|
-
@webhookuri = url
|
22
|
-
end
|
23
|
-
|
24
|
-
# Set the api call username
|
25
|
-
def username
|
26
|
-
@username ||= 'slackdraft'
|
27
|
-
end
|
28
|
-
|
29
|
-
# Set the destination channel
|
30
|
-
def channel
|
31
|
-
@channel || '#general'
|
32
|
-
end
|
33
|
-
|
34
|
-
# Set the icon URL and default to the emoji
|
35
|
-
def icon_url
|
36
|
-
@icon_url || icon_emoji
|
37
|
-
end
|
38
|
-
|
39
|
-
# Set the emoji
|
40
|
-
def icon_emoji
|
41
|
-
@icon_emoji || ':fire:'
|
42
|
-
end
|
43
|
-
|
44
|
-
# Set the text of the message
|
45
|
-
def text
|
46
|
-
@text.join("\n")
|
47
|
-
puts @text
|
48
|
-
end
|
49
|
-
|
50
|
-
# Send the message!
|
51
|
-
def send!
|
52
|
-
|
53
|
-
puts @channel
|
54
|
-
puts @username
|
55
|
-
|
56
|
-
request = HTTParty.post(@webhookuri, :body => {
|
57
|
-
:payload => {
|
58
|
-
:channel => @channel,
|
59
|
-
:username => @username,
|
60
|
-
:text => @text,
|
61
|
-
:icon_emoji => @icon_emoji,
|
62
|
-
}.to_json
|
63
|
-
})
|
64
|
-
|
65
|
-
puts request.code
|
66
|
-
puts request.body
|
67
|
-
end
|
68
|
-
|
13
|
+
|
14
|
+
def self.success(message)
|
15
|
+
puts " #{Paint['[✓]', :bright, :green]} #{Paint[message, :bright, :white]}"
|
16
|
+
exit!
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.info(message)
|
20
|
+
puts " #{Paint['[i]', :bright, :blue]} #{Paint[message, :bright, :white]}"
|
21
|
+
exit!
|
69
22
|
end
|
70
23
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
attr_writer :pretext
|
75
|
-
attr_writer :color
|
76
|
-
attr_writer :fields
|
77
|
-
|
78
|
-
def initialize
|
79
|
-
|
80
|
-
end
|
81
|
-
|
24
|
+
def self.warning(message)
|
25
|
+
puts " #{Paint['[!]', :bright, :orange]} #{Paint[message, :bright, :white]}"
|
26
|
+
exit!
|
82
27
|
end
|
28
|
+
|
29
|
+
def self.fatal(message)
|
30
|
+
puts " #{Paint['[x]', :bright, :red]} #{Paint[message, :bright, :white]}"
|
31
|
+
exit!
|
32
|
+
end
|
33
|
+
|
83
34
|
end
|
data/slackdraft.gemspec
CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.name = 'slackdraft'
|
10
10
|
s.version = Slackdraft::VERSION
|
11
11
|
s.date = '2015-02-14'
|
12
|
-
s.summary = "Slack messaging with half the Kurt
|
13
|
-
s.description = "Slack messaging with half the Kurt
|
12
|
+
s.summary = "Slack messaging with half the Kurt Russell"
|
13
|
+
s.description = "Slack messaging with half the Kurt Russell"
|
14
14
|
s.authors = ["Mike Mackintosh"]
|
15
15
|
s.email = 'm@zyp.io'
|
16
16
|
s.homepage =
|
@@ -24,6 +24,9 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
25
25
|
|
26
26
|
s.add_dependency 'httparty'
|
27
|
+
s.add_dependency 'fattr'
|
28
|
+
s.add_dependency 'paint'
|
29
|
+
s.add_dependency 'methadone'
|
27
30
|
|
28
31
|
s.add_development_dependency "bundler"
|
29
32
|
s.add_development_dependency "rake"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slackdraft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Mackintosh
|
@@ -24,6 +24,48 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fattr
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: paint
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: methadone
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
27
69
|
- !ruby/object:Gem::Dependency
|
28
70
|
name: bundler
|
29
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +122,7 @@ dependencies:
|
|
80
122
|
- - '>='
|
81
123
|
- !ruby/object:Gem::Version
|
82
124
|
version: '0'
|
83
|
-
description: Slack messaging with half the Kurt
|
125
|
+
description: Slack messaging with half the Kurt Russell
|
84
126
|
email: m@zyp.io
|
85
127
|
executables:
|
86
128
|
- slackdraft
|
@@ -90,13 +132,18 @@ files:
|
|
90
132
|
- .gitignore
|
91
133
|
- .rock.yml
|
92
134
|
- .rspec
|
135
|
+
- .travis.yml
|
93
136
|
- Gemfile
|
94
137
|
- Gemfile.lock
|
95
138
|
- LICENSE.txt
|
96
139
|
- README.md
|
97
140
|
- Rakefile
|
98
141
|
- bin/slackdraft
|
142
|
+
- examples/attachment.rb
|
99
143
|
- lib/slackdraft.rb
|
144
|
+
- lib/slackdraft/attachment.rb
|
145
|
+
- lib/slackdraft/base.rb
|
146
|
+
- lib/slackdraft/message.rb
|
100
147
|
- lib/slackdraft/version.rb
|
101
148
|
- slackdraft.gemspec
|
102
149
|
homepage: http://github.com/mikemackintosh/slackdraft
|
@@ -114,13 +161,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
161
|
version: '0'
|
115
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
163
|
requirements:
|
117
|
-
- - '
|
164
|
+
- - '>='
|
118
165
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
166
|
+
version: '0'
|
120
167
|
requirements: []
|
121
168
|
rubyforge_project:
|
122
169
|
rubygems_version: 2.0.14
|
123
170
|
signing_key:
|
124
171
|
specification_version: 4
|
125
|
-
summary: Slack messaging with half the Kurt
|
172
|
+
summary: Slack messaging with half the Kurt Russell
|
126
173
|
test_files: []
|