cloudmunda 0.1.0 → 0.1.3

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.
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zeebe/client'
4
+
5
+ module Cloudmunda
6
+ module Zeebe
7
+ class Client
8
+ attr_reader :client
9
+
10
+ def initialize(url: ::Cloudmunda.zeebe_url)
11
+ @client = ::Zeebe::Client::GatewayProtocol::Gateway::Stub.new(url, authentication_headers)
12
+ end
13
+
14
+ def activate_jobs(params = {})
15
+ run(:activate_jobs,
16
+ ::Zeebe::Client::GatewayProtocol::ActivateJobsRequest.new(params))
17
+ end
18
+
19
+ def cancel_workflow_instance(params = {})
20
+ run(:cancel_workflow_instance,
21
+ ::Zeebe::Client::GatewayProtocol::CancelWorkflowInstanceRequest.new(params))
22
+ end
23
+
24
+ def complete_job(params = {})
25
+ run(:complete_job,
26
+ ::Zeebe::Client::GatewayProtocol::CompleteJobRequest.new(params))
27
+ end
28
+
29
+ def create_process_instance(params = {})
30
+ run(:create_process_instance,
31
+ ::Zeebe::Client::GatewayProtocol::CreateProcessInstanceRequest.new(params))
32
+ end
33
+
34
+ def deploy_process(params = {})
35
+ run(:deploy_process,
36
+ ::Zeebe::Client::GatewayProtocol::DeployProcessRequest.new(params))
37
+ end
38
+
39
+ def fail_job(params = {})
40
+ run(:fail_job,
41
+ ::Zeebe::Client::GatewayProtocol::FailJobRequest.new(params))
42
+ end
43
+
44
+ def throw_error(params = {})
45
+ run(:throw_error,
46
+ ::Zeebe::Client::GatewayProtocol::ThrowErrorRequest.new(params))
47
+ end
48
+
49
+ def publish_message(params = {})
50
+ run(:publish_message,
51
+ ::Zeebe::Client::GatewayProtocol::PublishMessageRequest.new(params))
52
+ end
53
+
54
+ def resolve_incident(params = {})
55
+ run(:resolve_incident,
56
+ ::Zeebe::Client::GatewayProtocol::ResolveIncidentRequest.new(params))
57
+ end
58
+
59
+ def set_variables(params = {})
60
+ run(:set_variables,
61
+ ::Zeebe::Client::GatewayProtocol::SetVariablesRequest.new(params))
62
+ end
63
+
64
+ def topology(params = {})
65
+ run(:topology,
66
+ ::Zeebe::Client::GatewayProtocol::TopologyRequest.new(params))
67
+ end
68
+
69
+ def update_job_retries(params = {})
70
+ run(:update_job_retries,
71
+ ::Zeebe::Client::GatewayProtocol::UpdateJobRetriesRequest.new(params))
72
+ end
73
+
74
+ private
75
+
76
+ def run(method, params = {})
77
+ client.public_send(method, params)
78
+ rescue ::GRPC::Unavailable => e
79
+ logger.error e.message
80
+ raise e
81
+ end
82
+
83
+ def logger
84
+ # ::Cloudmunda.logger
85
+ end
86
+
87
+ def authentication_headers
88
+ token = Cloudmunda::API::AccessToken.create
89
+ channel_creds = GRPC::Core::ChannelCredentials.new
90
+ auth_proc = proc { { 'authorization' => "Bearer #{token.access_token}" } }
91
+ call_creds = GRPC::Core::CallCredentials.new(auth_proc)
92
+ channel_creds.compose(call_creds)
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'zeebe/client'
data/lib/cloudmunda.rb CHANGED
@@ -1,8 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "cloudmunda/version"
3
+ require 'concurrent'
4
+
5
+ require_relative 'cloudmunda/version'
6
+ require_relative 'cloudmunda/loggable'
7
+ require_relative 'cloudmunda/cli/worker'
8
+ require_relative 'cloudmunda/configuration'
9
+ require_relative 'cloudmunda/api'
10
+ require_relative 'cloudmunda/zeebe'
11
+ require_relative 'cloudmunda/graphql'
4
12
 
5
13
  module Cloudmunda
6
- class Error < StandardError; end
7
- # Your code goes here...
14
+ extend Configuration
15
+ extend Loggable
16
+
17
+ def self.client
18
+ @client ||= ::Cloudmunda::Zeebe::Client.new
19
+ end
20
+
21
+ def self.register_worker(worker)
22
+ workers << worker
23
+ end
24
+
25
+ def self.workers
26
+ @workers ||= []
27
+ end
8
28
  end
metadata CHANGED
@@ -1,24 +1,68 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudmunda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lien Van Den Steen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-16 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2022-02-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: concurrent-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: zeebe-client
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.16'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.16'
13
55
  description: Ruby wrapper for Camunda Cloud
14
56
  email:
15
57
  - lienvandensteen@gmail.com
16
- executables: []
58
+ executables:
59
+ - cloudmunda
17
60
  extensions: []
18
61
  extra_rdoc_files: []
19
62
  files:
20
63
  - ".rspec"
21
64
  - ".rubocop.yml"
65
+ - ".rubocop_todo.yml"
22
66
  - CHANGELOG.md
23
67
  - CODE_OF_CONDUCT.md
24
68
  - Gemfile
@@ -28,16 +72,31 @@ files:
28
72
  - Rakefile
29
73
  - bin/console
30
74
  - bin/setup
75
+ - diagrams/demo.bpmn
76
+ - exe/cloudmunda
31
77
  - lib/cloudmunda.rb
78
+ - lib/cloudmunda/api.rb
79
+ - lib/cloudmunda/api/access_token.rb
80
+ - lib/cloudmunda/api/client.rb
81
+ - lib/cloudmunda/api/o_auth_resource.rb
82
+ - lib/cloudmunda/cli.rb
83
+ - lib/cloudmunda/cli/launcher.rb
84
+ - lib/cloudmunda/cli/processor.rb
85
+ - lib/cloudmunda/cli/supervisor.rb
86
+ - lib/cloudmunda/cli/worker.rb
87
+ - lib/cloudmunda/configuration.rb
88
+ - lib/cloudmunda/graphql.rb
89
+ - lib/cloudmunda/graphql/client.rb
90
+ - lib/cloudmunda/graphql/user_tasks.rb
91
+ - lib/cloudmunda/loggable.rb
32
92
  - lib/cloudmunda/version.rb
93
+ - lib/cloudmunda/zeebe.rb
94
+ - lib/cloudmunda/zeebe/client.rb
33
95
  homepage: https://github.com/lienvdsteen/cloudmunda
34
96
  licenses:
35
97
  - MIT
36
98
  metadata:
37
- allowed_push_host: https://rubygems.org
38
- homepage_uri: https://github.com/lienvdsteen/cloudmunda
39
- source_code_uri: https://github.com/lienvdsteen/cloudmunda
40
- changelog_uri: https://github.com/lienvdsteen/cloudmunda
99
+ rubygems_mfa_required: 'true'
41
100
  post_install_message:
42
101
  rdoc_options: []
43
102
  require_paths: