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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzEyOWUzM2FjMGRmNTIxZDliMjkwMTBiZDY4ODFmMDlhNzZiYzQwMw==
5
- data.tar.gz: !binary |-
6
- OGM2NjNjYzcyYjBjNGNhZGVhMmRmZmYzZjgwMjcwMGVkZTAzOWQ4Nw==
2
+ SHA1:
3
+ metadata.gz: 466f5543d65997208335e3b97ecec76d7c94958d
4
+ data.tar.gz: 2e59431414e321b94180f2fde642513f8ef86a4b
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YmQ1MTZkOGEwZmY5NGU3ZmE0MDAwNGMxOGE3NDEzNTlkMDc1MDE4MGFkNTBk
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.0.5
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-01-27 00:00:00.000000000 Z
11
+ date: 2015-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: factor-connector-api
14
+ name: factor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.14
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: 0.0.14
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.7.2
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.7.2
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/connector/web.rb
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.5
68
+ rubygems_version: 2.4.6
111
69
  signing_key:
112
70
  specification_version: 4
113
71
  summary: Web Factor.io Connector
@@ -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