slax 0.1.1 → 0.2.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/lib/slax.rb +4 -2
- data/lib/slax/complex/attachment_builder.rb +45 -0
- data/lib/slax/complex/builder.rb +18 -0
- data/lib/slax/complex_message.rb +9 -0
- data/lib/slax/{builder.rb → simple/builder.rb} +1 -1
- data/lib/slax/simple_message.rb +1 -1
- data/lib/slax/version.rb +1 -1
- data/slax.gemspec +1 -1
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff35d8631cef063fff14fa0d49df09c801fd14c8
|
4
|
+
data.tar.gz: fab01de061bfe3fba2fdffd83503aabc138c9ec9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94a1c090ec5b57a644628a1ccb39288573a2b3ed671458aa9a76cadc8d88cc48cb4278b9b86ea2bc47cb9121a6439d84e4d3b4ebb7a23b9539dd44cc085d741a
|
7
|
+
data.tar.gz: d6b9bff15f9da0abab21320778bd5ce4bff3217082a0bfb0de9415768d4c60c6fb530913be5a31d9187f40fbe783e8a8c06bffb7ed9665c51c61f9c59d21ca24
|
data/lib/slax.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require 'slax/version'
|
2
|
-
require 'slax/builder'
|
2
|
+
require 'slax/simple/builder'
|
3
|
+
require 'slax/complex/builder'
|
3
4
|
require 'slax/payload'
|
4
5
|
require 'slax/exception'
|
5
6
|
|
6
7
|
module Slax
|
7
|
-
autoload :SimpleMessage,
|
8
|
+
autoload :SimpleMessage, 'slax/simple_message'
|
9
|
+
autoload :ComplexMessage, 'slax/complex_message'
|
8
10
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Slax::Complex
|
2
|
+
class AttachmentBuilder < BasicObject
|
3
|
+
VALID_PARAMS = [:fallback, :color, :pretext, :author_name,
|
4
|
+
:author_link, :author_icon, :title, :title_link,
|
5
|
+
:text, :image_url, :thumb_url,
|
6
|
+
:footer, :footer_icon, :ts
|
7
|
+
]
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@payload = { fallback: "" }
|
11
|
+
end
|
12
|
+
|
13
|
+
def method_missing(name, *args, &block)
|
14
|
+
if VALID_PARAMS.include?(name)
|
15
|
+
if args.count > 0
|
16
|
+
@payload[name] = args.join(' ')
|
17
|
+
@payload[name]
|
18
|
+
end
|
19
|
+
else
|
20
|
+
super
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def fields(title, value, short = nil)
|
25
|
+
@payload[:fields] ||= []
|
26
|
+
@sub_payload = { title: title, value: value }
|
27
|
+
|
28
|
+
unless short.nil?
|
29
|
+
@sub_payload[:short] = short
|
30
|
+
end
|
31
|
+
|
32
|
+
@payload[:fields] << @sub_payload
|
33
|
+
end
|
34
|
+
|
35
|
+
def timestamp(time)
|
36
|
+
@payload[:ts] = time.to_i
|
37
|
+
end
|
38
|
+
|
39
|
+
alias_method :ts, :timestamp
|
40
|
+
|
41
|
+
def payload
|
42
|
+
@payload
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Slax::Complex
|
2
|
+
class Builder < BasicObject
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
@payload = { attachments: [] }
|
6
|
+
end
|
7
|
+
|
8
|
+
def add_attachment(&block)
|
9
|
+
builder = ::Slax::Complex::AttachmentBuilder.new
|
10
|
+
builder.instance_eval(&block)
|
11
|
+
@payload[:attachments] << builder.payload
|
12
|
+
end
|
13
|
+
|
14
|
+
def payload
|
15
|
+
@payload
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/slax/simple_message.rb
CHANGED
data/lib/slax/version.rb
CHANGED
data/slax.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.required_ruby_version = '>= 2.0.0'
|
23
|
-
spec.add_dependency 'httparty', '~> 0
|
23
|
+
spec.add_dependency 'httparty', '~> 0'
|
24
24
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.12"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Migara Liyanagamage
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,9 +98,12 @@ files:
|
|
98
98
|
- bin/console
|
99
99
|
- bin/setup
|
100
100
|
- lib/slax.rb
|
101
|
-
- lib/slax/
|
101
|
+
- lib/slax/complex/attachment_builder.rb
|
102
|
+
- lib/slax/complex/builder.rb
|
103
|
+
- lib/slax/complex_message.rb
|
102
104
|
- lib/slax/exception.rb
|
103
105
|
- lib/slax/payload.rb
|
106
|
+
- lib/slax/simple/builder.rb
|
104
107
|
- lib/slax/simple_message.rb
|
105
108
|
- lib/slax/version.rb
|
106
109
|
- slax.gemspec
|