strum-pipeline 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58e5c1358a452cb82d3384322903bfae395d5c0cf569498743b9a654176f4718
4
- data.tar.gz: b6a0451f231ccd5bd0767b20c9b4c6427f8456ea57df2ddb537392e1f97bfdb8
3
+ metadata.gz: '08c02b288609dbe7104951827793f553e9f81854207c0ff6cac3b39f3d71aad5'
4
+ data.tar.gz: 900b840bf7dfa13769abfb7ba24d9dc7b005d446bec85a0105b746739354e0df
5
5
  SHA512:
6
- metadata.gz: ad5fabd5a1ff2931a89436717969b72b7bfc3cce1e0154c8dddc2af516f0f2f36ab65aac3af36a29f4825676dba5c7bfe5f8752902e8abe5ddecc941321a5359
7
- data.tar.gz: f2d54f958c4e5eb66f812d43198dde06633f750fe70b899de928c94a9de4eb01fe1e860aeb0c453fe593f2a9911aee4207a91e0526c28f35511424bff36746c1
6
+ metadata.gz: 95203efc56f92da0cf057ca104832c0b92286faf3758014b5d3901e081e3f758e23fc10d47b88f607af20f40eb68944a35ba4d0ad987e4c0fcb7c76d6ce4902c
7
+ data.tar.gz: a80758e037e0e244fcb46a03f28265c4711d78431026df9ea4b6f19cb9b8e3e8ec5129f85bd53bf56ad7fc06c305e920f243df347c451fd43ab933db1600dad6
data/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+
2
+ # Changelog
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [0.1.1] - 2021-06-02
6
+ ### Fixed
7
+ - custom handlers for resource name with `-` by [@anton.klyzhka].
8
+
9
+ ### Changed
10
+ - `strum-esb` dependency version to `~> 0.1.1` by [@anton.klyzhka].
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strum-pipeline (0.1.0)
4
+ strum-pipeline (0.1.1)
5
5
  bunny (~> 2.15)
6
6
  connection_pool (~> 2.2)
7
7
  dry-configurable (~> 0.11)
@@ -10,15 +10,16 @@ PATH
10
10
  redis-objects (~> 1.5)
11
11
  singleton (~> 0.1)
12
12
  sneakers (~> 2.12)
13
- strum-esb (~> 0.1.0)
13
+ strum-esb (~> 0.1.1)
14
14
 
15
15
  GEM
16
16
  remote: https://rubygems.org/
17
17
  specs:
18
18
  amq-protocol (2.3.2)
19
19
  ast (2.4.2)
20
- bunny (2.17.0)
20
+ bunny (2.18.0)
21
21
  amq-protocol (~> 2.3, >= 2.3.1)
22
+ sorted_set (~> 1, >= 1.0.2)
22
23
  concurrent-ruby (1.1.8)
23
24
  connection_pool (2.2.5)
24
25
  debase (0.2.4.1)
@@ -33,10 +34,11 @@ GEM
33
34
  dry-inflector (0.2.0)
34
35
  json (2.5.1)
35
36
  parallel (1.20.1)
36
- parser (3.0.1.0)
37
+ parser (3.0.1.1)
37
38
  ast (~> 2.4.1)
38
39
  rainbow (3.0.0)
39
40
  rake (12.3.3)
41
+ rbtree (0.4.4)
40
42
  redis (4.2.5)
41
43
  redis-objects (1.5.0)
42
44
  redis (~> 4.0)
@@ -71,6 +73,7 @@ GEM
71
73
  ruby-progressbar (1.11.0)
72
74
  serverengine (2.1.1)
73
75
  sigdump (~> 0.2.2)
76
+ set (1.0.1)
74
77
  sigdump (0.2.4)
75
78
  singleton (0.1.1)
76
79
  sneakers (2.12.0)
@@ -79,9 +82,13 @@ GEM
79
82
  rake (~> 12.3)
80
83
  serverengine (~> 2.1.0)
81
84
  thor
82
- strum-esb (0.1.0)
85
+ sorted_set (1.0.3)
86
+ rbtree
87
+ set (~> 1.0)
88
+ strum-esb (0.1.1)
83
89
  bunny (~> 2.15)
84
90
  connection_pool (~> 2.2.2)
91
+ dry-configurable (~> 0.12)
85
92
  json (~> 2.3)
86
93
  sneakers (~> 2.12)
87
94
  thor (1.1.0)
data/README.md CHANGED
@@ -34,3 +34,48 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
34
34
 
35
35
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/strum-pipeline.
36
36
 
37
+ ## Example
38
+
39
+ ```ruby
40
+ # frozen_string_literal: true
41
+
42
+ require "sneakers/runner"
43
+ require "strum/esb"
44
+ require "strum/pipeline"
45
+
46
+ # demo class
47
+ class DemoPipeline
48
+ include Strum::Pipeline
49
+
50
+ ttl 60
51
+ init :event, "identity/create"
52
+ init :event, "identity/update"
53
+ step :action, "get/user", :demo_custom_handler
54
+ step :action, "get/company"
55
+ step :info, "user"
56
+
57
+ def event_identity_create(_payload)
58
+ storage[:counter1] = 1
59
+ storage[:counter] = 1
60
+ Strum::Esb::Action.call({}, :get, :user)
61
+ # Strum::Esb::Action.({}, :get, :company)
62
+ end
63
+
64
+ def demo_custom_handler(_payload)
65
+ Strum::Esb::Info.call({}, :user)
66
+ storage[:counter2] = 2
67
+ Strum::Pipeline::Storage[:counter] = 2
68
+ Strum::Pipeline::Storage.list << 2
69
+ end
70
+
71
+ def info_user(payload)
72
+ logger.debug payload
73
+ storage[:counter3] = 3
74
+ storage[:counter] = 3
75
+ end
76
+ end
77
+
78
+ r = Sneakers::Runner.new([DemoPipeline])
79
+ r.run
80
+ ```
81
+
@@ -57,7 +57,8 @@ module Strum
57
57
  from_queue pipeline_name, bindings: bindings
58
58
  _, *msg = Strum::Esb::Functions.public_send("#{message_type}_explain", message_binding)
59
59
  @handlers ||= {}
60
- handler_key = ([message_type] + msg).join("-")
60
+ params = msg.map{ |param| param&.to_s.gsub(/[^a-zA-Z0-9]/, "_")&.downcase }
61
+ handler_key = ([message_type] + params).join("-")
61
62
  @handlers[handler_key] = handler.to_s if handler
62
63
  end
63
64
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Strum
4
4
  module Pipeline
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
@@ -10,15 +10,15 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary = "Defining data processing Pipeline"
12
12
  # spec.description = "Defining data processing Pipeline"
13
- spec.homepage = "https://code.qpard.com/strum/strum-pipeline"
13
+ spec.homepage = "https://gitlab.com/strum/strum-pipeline"
14
14
  spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
15
15
 
16
16
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
17
17
 
18
18
  spec.metadata["homepage_uri"] = spec.homepage
19
- spec.metadata["source_code_uri"] = "https://code.qpard.com/strum/strum-pipeline"
20
- spec.metadata["readme_uri"] = "https://code.qpard.com/strum/strum-pipeline/README.md"
21
- spec.metadata["changelog_uri"] = "https://code.qpard.com/strum/strum-pipeline/CHANGELOG.md"
19
+ spec.metadata["source_code_uri"] = "https://gitlab.com/strum/strum-pipeline"
20
+ spec.metadata["readme_uri"] = "https://gitlab.com/strum/strum-pipeline/README.md"
21
+ spec.metadata["changelog_uri"] = "https://gitlab.com/strum/strum-pipeline/CHANGELOG.md"
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -38,5 +38,5 @@ Gem::Specification.new do |spec|
38
38
  spec.add_dependency "singleton", "~> 0.1"
39
39
  spec.add_dependency "sneakers", "~> 2.12"
40
40
 
41
- spec.add_dependency "strum-esb", "~> 0.1.0"
41
+ spec.add_dependency "strum-esb", "~> 0.1.1"
42
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strum-pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serhiy Nazarov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-28 00:00:00.000000000 Z
11
+ date: 2021-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.1.0
131
+ version: 0.1.1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.1.0
138
+ version: 0.1.1
139
139
  description:
140
140
  email:
141
141
  - sn@nazarov.com.ua
@@ -149,6 +149,7 @@ files:
149
149
  - ".rubocop.yml"
150
150
  - ".ruby-version"
151
151
  - ".travis.yml"
152
+ - CHANGELOG.md
152
153
  - Gemfile
153
154
  - Gemfile.lock
154
155
  - README.md
@@ -159,14 +160,14 @@ files:
159
160
  - lib/strum/pipeline/storage.rb
160
161
  - lib/strum/pipeline/version.rb
161
162
  - strum-pipeline.gemspec
162
- homepage: https://code.qpard.com/strum/strum-pipeline
163
+ homepage: https://gitlab.com/strum/strum-pipeline
163
164
  licenses: []
164
165
  metadata:
165
166
  allowed_push_host: https://rubygems.org
166
- homepage_uri: https://code.qpard.com/strum/strum-pipeline
167
- source_code_uri: https://code.qpard.com/strum/strum-pipeline
168
- readme_uri: https://code.qpard.com/strum/strum-pipeline/README.md
169
- changelog_uri: https://code.qpard.com/strum/strum-pipeline/CHANGELOG.md
167
+ homepage_uri: https://gitlab.com/strum/strum-pipeline
168
+ source_code_uri: https://gitlab.com/strum/strum-pipeline
169
+ readme_uri: https://gitlab.com/strum/strum-pipeline/README.md
170
+ changelog_uri: https://gitlab.com/strum/strum-pipeline/CHANGELOG.md
170
171
  post_install_message:
171
172
  rdoc_options: []
172
173
  require_paths: