factor-connector-web 0.0.5 → 0.1.04
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/lib/factor-connector-web.rb +82 -0
- metadata +15 -57
- data/lib/factor/connector/web.rb +0 -81
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OGM2NjNjYzcyYjBjNGNhZGVhMmRmZmYzZjgwMjcwMGVkZTAzOWQ4Nw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 466f5543d65997208335e3b97ecec76d7c94958d
|
4
|
+
data.tar.gz: 2e59431414e321b94180f2fde642513f8ef86a4b
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YTliNTBiODlkOTRkNGE1NGFkZTA3YjQwYmQyNjQzYmQ0ODRkYzhmNzYxNmM0
|
11
|
-
YmNiNTM0YWEwZTdkYTBmZDQ5YTBlODkxMGFhZTBkMDI0YWNjOTQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ODQzNDg1ZmYzN2UzNTk0N2NhODY5Y2IxMzEyNTc4YmNiZmVkNDQ0NjgyNjYy
|
14
|
-
Mzc5N2Q2MTNlNTRlNDY1NTM2MDU2MDkxZjJlYjFmMTUwMTJlMDc2M2U2MjBi
|
15
|
-
ZWFhYjQ1MzQ2YmMxMTdiMWJjNTI5YTFhZmEyMDk2OWJhODZmMjY=
|
6
|
+
metadata.gz: ba3e573c7a3cfe6c4f0fb68dcd4298d4068f78992987c266e54fd1eff114bbac3ba2bca98879d61b2c1df376aadb41c44ce22b0b5a2c9acdb56b6b28fa90d8fd
|
7
|
+
data.tar.gz: 4d8a7ebc900d8f25060e167826f3220c63c86afd4bab692ae1d02641259de4e86180d3e9fedc588a358159193da814ea40cd1c0a870fe7a8cf561928cd94398b
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'factor/connector/definition'
|
2
|
+
require 'rest-client'
|
3
|
+
|
4
|
+
class Web < Factor::Connector::Definition
|
5
|
+
id :web
|
6
|
+
# listener 'hook' do
|
7
|
+
# start do |data|
|
8
|
+
# info 'starting webhook'
|
9
|
+
# hook_id = data['id'] || 'post'
|
10
|
+
# dynamic_hook_url = web_hook id: hook_id do
|
11
|
+
# start do |_listener_start_params, hook_data, _req, _res|
|
12
|
+
# info 'Got a Web Hook POST call'
|
13
|
+
# post_data = hook_data.dup
|
14
|
+
# post_data.delete('service_id')
|
15
|
+
# post_data.delete('listener_id')
|
16
|
+
# post_data.delete('instance_id')
|
17
|
+
# post_data.delete('hook_id')
|
18
|
+
# post_data.delete('user_id')
|
19
|
+
# start_workflow response: post_data
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
# static_hook_url = "/v0.4/hooks/#{hook_id}"
|
23
|
+
# info "Webhook started at: #{dynamic_hook_url}"
|
24
|
+
# info "Webhook started at: #{static_hook_url}"
|
25
|
+
# end
|
26
|
+
# stop do |_data|
|
27
|
+
# info 'Stopping...'
|
28
|
+
# end
|
29
|
+
# end
|
30
|
+
|
31
|
+
action :post do |params|
|
32
|
+
contents = params[:params] || {}
|
33
|
+
headers = params[:headers] || {}
|
34
|
+
url = params[:url]
|
35
|
+
|
36
|
+
fail 'URL is required' unless url
|
37
|
+
fail 'Headers (headers) must be a Hash' unless headers.is_a?(Hash)
|
38
|
+
|
39
|
+
header_keys_valid = headers.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
40
|
+
header_vals_valid = headers.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
41
|
+
|
42
|
+
fail 'Headers (headers) must be a Hash of keys/values of strings' unless header_vals_valid && header_keys_valid
|
43
|
+
fail 'Params (params) must be a hash' unless params.is_a?(Hash)
|
44
|
+
|
45
|
+
info "Posting to `#{url}`"
|
46
|
+
begin
|
47
|
+
response = RestClient.post(url, contents, headers)
|
48
|
+
respond response
|
49
|
+
rescue
|
50
|
+
fail "Couldn't call '#{url}'"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# action 'get' do |params|
|
55
|
+
# query = params['params'] || {}
|
56
|
+
# headers = params['headers'] || {}
|
57
|
+
# url = params['url']
|
58
|
+
|
59
|
+
# fail 'URL is required' unless url
|
60
|
+
# fail 'Headers (headers) must be a Hash' unless headers.is_a?(Hash)
|
61
|
+
|
62
|
+
# header_keys_valid = headers.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
63
|
+
# header_vals_valid = headers.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
64
|
+
|
65
|
+
# fail 'Headers (headers) must be a Hash of keys/values of strings' unless header_vals_valid && header_keys_valid
|
66
|
+
# fail 'Params (params) must be a hash' unless params.is_a?(Hash)
|
67
|
+
|
68
|
+
# query_keys_valid = query.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
69
|
+
# query_vals_valid = query.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
70
|
+
# fail 'Params (params) must be a Hash of keys/values of strings' unless query_keys_valid && query_vals_valid
|
71
|
+
|
72
|
+
# contents = headers.merge(params:query)
|
73
|
+
|
74
|
+
# info "Posting to `#{url}`"
|
75
|
+
# begin
|
76
|
+
# response = RestClient.get(url, contents)
|
77
|
+
# action_callback response: response
|
78
|
+
# rescue
|
79
|
+
# fail "Couldn't call '#{url}'"
|
80
|
+
# end
|
81
|
+
# end
|
82
|
+
end
|
metadata
CHANGED
@@ -1,85 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: factor-connector-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.04
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Skierkowski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: factor
|
14
|
+
name: factor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.9.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:
|
26
|
+
version: 2.9.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rest-client
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.8.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: codeclimate-test-reporter
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.4.5
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.4.5
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 3.1.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 3.1.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 10.4.2
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 10.4.2
|
40
|
+
version: 1.8.0
|
83
41
|
description:
|
84
42
|
email:
|
85
43
|
- maciej@factor.io
|
@@ -87,7 +45,7 @@ executables: []
|
|
87
45
|
extensions: []
|
88
46
|
extra_rdoc_files: []
|
89
47
|
files:
|
90
|
-
- lib/factor
|
48
|
+
- lib/factor-connector-web.rb
|
91
49
|
homepage: https://factor.io
|
92
50
|
licenses: []
|
93
51
|
metadata: {}
|
@@ -97,17 +55,17 @@ require_paths:
|
|
97
55
|
- lib
|
98
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
99
57
|
requirements:
|
100
|
-
- -
|
58
|
+
- - ">="
|
101
59
|
- !ruby/object:Gem::Version
|
102
60
|
version: '0'
|
103
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
62
|
requirements:
|
105
|
-
- -
|
63
|
+
- - ">="
|
106
64
|
- !ruby/object:Gem::Version
|
107
65
|
version: '0'
|
108
66
|
requirements: []
|
109
67
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.4.
|
68
|
+
rubygems_version: 2.4.6
|
111
69
|
signing_key:
|
112
70
|
specification_version: 4
|
113
71
|
summary: Web Factor.io Connector
|
data/lib/factor/connector/web.rb
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'factor-connector-api'
|
2
|
-
require 'restclient'
|
3
|
-
|
4
|
-
Factor::Connector.service 'web' do
|
5
|
-
listener 'hook' do
|
6
|
-
start do |data|
|
7
|
-
info 'starting webhook'
|
8
|
-
hook_id = data['id'] || 'post'
|
9
|
-
dynamic_hook_url = web_hook id: hook_id do
|
10
|
-
start do |_listener_start_params, hook_data, _req, _res|
|
11
|
-
info 'Got a Web Hook POST call'
|
12
|
-
post_data = hook_data.dup
|
13
|
-
post_data.delete('service_id')
|
14
|
-
post_data.delete('listener_id')
|
15
|
-
post_data.delete('instance_id')
|
16
|
-
post_data.delete('hook_id')
|
17
|
-
post_data.delete('user_id')
|
18
|
-
start_workflow post_data
|
19
|
-
end
|
20
|
-
end
|
21
|
-
static_hook_url = "/v0.4/hooks/#{hook_id}"
|
22
|
-
info "Webhook started at: #{dynamic_hook_url}"
|
23
|
-
info "Webhook started at: #{static_hook_url}"
|
24
|
-
end
|
25
|
-
stop do |_data|
|
26
|
-
info 'Stopping...'
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
action 'post' do |params|
|
31
|
-
contents = params['params'] || {}
|
32
|
-
headers = params['headers'] || {}
|
33
|
-
url = params['url']
|
34
|
-
|
35
|
-
fail 'URL is required' unless url
|
36
|
-
fail 'Headers (headers) must be a Hash' unless headers.is_a?(Hash)
|
37
|
-
|
38
|
-
header_keys_valid = headers.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
39
|
-
header_vals_valid = headers.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
40
|
-
|
41
|
-
fail 'Headers (headers) must be a Hash of keys/values of strings' unless header_vals_valid && header_keys_valid
|
42
|
-
fail 'Params (params) must be a hash' unless params.is_a?(Hash)
|
43
|
-
|
44
|
-
info "Posting to `#{url}`"
|
45
|
-
begin
|
46
|
-
response = RestClient.post(url, contents, headers)
|
47
|
-
action_callback response: response
|
48
|
-
rescue
|
49
|
-
fail "Couldn't call '#{url}'"
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
action 'get' do |params|
|
54
|
-
query = params['params'] || {}
|
55
|
-
headers = params['headers'] || {}
|
56
|
-
url = params['url']
|
57
|
-
|
58
|
-
fail 'URL is required' unless url
|
59
|
-
fail 'Headers (headers) must be a Hash' unless headers.is_a?(Hash)
|
60
|
-
|
61
|
-
header_keys_valid = headers.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
62
|
-
header_vals_valid = headers.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
63
|
-
|
64
|
-
fail 'Headers (headers) must be a Hash of keys/values of strings' unless header_vals_valid && header_keys_valid
|
65
|
-
fail 'Params (params) must be a hash' unless params.is_a?(Hash)
|
66
|
-
|
67
|
-
query_keys_valid = query.keys.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
68
|
-
query_vals_valid = query.values.all?{|k| k.is_a?(String) || k.is_a?(Symbol)}
|
69
|
-
fail 'Params (params) must be a Hash of keys/values of strings' unless query_keys_valid && query_vals_valid
|
70
|
-
|
71
|
-
contents = headers.merge(params:query)
|
72
|
-
|
73
|
-
info "Posting to `#{url}`"
|
74
|
-
begin
|
75
|
-
response = RestClient.get(url, contents)
|
76
|
-
action_callback response: response
|
77
|
-
rescue
|
78
|
-
fail "Couldn't call '#{url}'"
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|