trailblazer 2.1.0 → 2.1.1.beta1
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/CHANGES.md +4 -0
- data/README.md +16 -16
- data/lib/trailblazer/version.rb +1 -1
- data/trailblazer.gemspec +14 -4
- metadata +39 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12e0c9727548ea4f6d790e48fc85bb8f90054454dfe621232cc45ccda3ed9bfd
|
4
|
+
data.tar.gz: bd999a0413ef467e4e9e155999d84806726f37852bcc1a6c36f14cf3dc89e0e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec0aab041462243a6a5c1345ebf4b139f777a122a0b78fea7ead809d7e6934996d65c8473fac669ca97409f02685bd5cd76eacd4f40fb1dd75f9b3f08c0f8c4d
|
7
|
+
data.tar.gz: b79bc3aa91507568a4fe3c3355b15eeae963680bfea7fd60f6453cb2820775c73db09b647e1bb539367dea93501ee4699cf82043242521590a417b3665cadf42
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
# 2.1
|
2
3
|
|
3
4
|
* Macros now always have to provide an `:id`. This was a bit fuzzy in 2.0.
|
@@ -30,6 +31,9 @@ document Task API and define step API
|
|
30
31
|
deprecate step->(options) ?
|
31
32
|
injectable, per-operation step arguments strategy?
|
32
33
|
|
34
|
+
# 2.1.1
|
35
|
+
|
36
|
+
* Use `trailblazer-activity-dsl-linear` >= 1.0.0.
|
33
37
|
|
34
38
|
# 2.1.0
|
35
39
|
|
data/README.md
CHANGED
@@ -2,21 +2,26 @@
|
|
2
2
|
|
3
3
|
_Trailblazer provides new high-level abstractions for Ruby frameworks. It gently enforces encapsulation, an intuitive code structure and approaches the modeling of complex business workflows with a functional mind-set._
|
4
4
|
|
5
|
-
[](https://trailblazer.zulipchat.com)
|
6
6
|
[](http://trailblazer.to/newsletter/)
|
7
7
|
[](http://badge.fury.io/rb/trailblazer)
|
8
8
|
[](https://www.codetriage.com/trailblazer/trailblazer)
|
9
9
|
|
10
10
|
## Documentation
|
11
11
|
|
12
|
-
**
|
12
|
+
* **The current version is Trailblazer 2.1.** We do have [comprehensive API documenation](https://trailblazer.to/2.1/docs/trailblazer.html) ready for you. If you're new to TRB start with our [LEARN page](https://trailblazer.to/2.1/learn.html).
|
13
|
+
* A migration guide from 2.0 can be found [on our website](https://trailblazer.to/2.1/docs/trailblazer.html#trailblazer-2-1-migration).
|
14
|
+
* The [1.x documentation is here](http://trailblazer.to/2.0/gems/operation/1.1/index.html).
|
13
15
|
|
14
|
-
|
16
|
+
Make sure to check out the new beginner's guide to learning Trailblazer. The [brand-new book](https://leanpub.com/buildalib) discusses all aspects in a step-wise approach you need to understand Trailblazer's mechanics and design ideas.
|
15
17
|
|
16
|
-
|
17
|
-
* *BPMN and workflows* shows in-detail how the new 2.1 features in Trailblazer are used.
|
18
|
+
<a href="https://leanpub.com/buildalib"><img src="https://trailblazer.to/images/2.1/buildalib-cover.png"></a>
|
18
19
|
|
19
|
-
|
20
|
+
## Screencasts
|
21
|
+
|
22
|
+
Watch our series of screencasts [**TRAILBLAZER TALES**](https://www.youtube.com/channel/UCi2P0tFMtjMUsWLYAD1Ezsw) if you prefer learning from videos!
|
23
|
+
|
24
|
+
<a href="https://www.youtube.com/embed/9elpobV4HSw"><img src="https://trailblazer.to/images/2.1/01-operation-basics.png"></a>
|
20
25
|
|
21
26
|
## Trailblazer In A Nutshell
|
22
27
|
|
@@ -26,8 +31,6 @@ The [1.x documentation is here](http://trailblazer.to/gems/operation/1.1/).
|
|
26
31
|
5. The presentation layer offers optional [view models](#views) (Cells) and [representers](#representers) for document APIs.
|
27
32
|
6. More complex business flows and life-cycles are modeled using workflows.
|
28
33
|
|
29
|
-
Trailblazer is designed to handle different contexts like user roles by applying [inheritance](#inheritance) between and [composing](#composing) of operations, form objects, policies, representers and callbacks.
|
30
|
-
|
31
34
|
Want code? Jump [right here](#controllers)!
|
32
35
|
|
33
36
|
## Mission
|
@@ -150,9 +153,9 @@ You cannot instantiate them per design. The only way to invoke them is `call`.
|
|
150
153
|
Song::Create.(params: {whatever: "goes", in: "here"})
|
151
154
|
```
|
152
155
|
|
153
|
-
Their high degree of encapsulation makes them a [replacement for test factories](#
|
156
|
+
Their high degree of encapsulation makes them a [replacement for test factories](#tests), too.
|
154
157
|
|
155
|
-
[Learn more.](
|
158
|
+
[Learn more.](https://2019.trailblazer.to/2.1/docs/operation.html#operation-overview)
|
156
159
|
|
157
160
|
## Models
|
158
161
|
|
@@ -182,13 +185,10 @@ describe Song::Update do
|
|
182
185
|
end
|
183
186
|
```
|
184
187
|
|
185
|
-
##
|
186
|
-
|
187
|
-
Operations are a great way to clean up controllers and models. However, Trailblazer goes further and provides an approach to model entire life-cycles of business objects, such as "a song" or "the root user".
|
188
|
-
|
189
|
-
Those workflows dramatically reduce the usage of control flow logic in your code and allow for visually designing and discussing flows.
|
188
|
+
## Workflow
|
189
|
+
Operations are a great way to clean up controllers and models. However, Trailblazer goes further and provides an approach to model entire life-cycles of business objects, such as "a song" or "the root user" using workflow ([`pro feature`](https://2019.trailblazer.to/2.1/docs/pro.html#pro-1)). Also, you don't have to use the DSL but can use the [`editor`](https://2019.trailblazer.to/2.1/docs/pro.html#pro-editor) instead (cool for more complex, long-running flows). Here comes a sample screenshot.
|
190
190
|
|
191
|
-
|
191
|
+
<img src="http://2019.trailblazer.to/2.1/dist/img/flow.png">
|
192
192
|
|
193
193
|
## Installation
|
194
194
|
|
data/lib/trailblazer/version.rb
CHANGED
data/trailblazer.gemspec
CHANGED
@@ -11,20 +11,30 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = %q{A high-level architecture for Ruby and Rails.}
|
12
12
|
spec.homepage = "http://trailblazer.to"
|
13
13
|
spec.license = "LGPL-3.0"
|
14
|
-
|
14
|
+
spec.metadata = {
|
15
|
+
"bug_tracker_uri" => "https://github.com/trailblazer/trailblazer/issues",
|
16
|
+
"changelog_uri" => "https://github.com/trailblazer/trailblazer/blob/master/CHANGES.md",
|
17
|
+
"documentation_uri" => "https://trailblazer.to/docs",
|
18
|
+
"homepage_uri" => "https://trailblazer.to/",
|
19
|
+
"mailing_list_uri" => "https://trailblazer.zulipchat.com/",
|
20
|
+
"source_code_uri" => "https://github.com/trailblazer/trailblazer",
|
21
|
+
"wiki_uri" => "https://github.com/trailblazer/trailblazer/wiki"
|
22
|
+
}
|
23
|
+
|
15
24
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
16
25
|
f.match(%r{^(test|doc)/})
|
17
26
|
end
|
18
27
|
spec.test_files = `git ls-files -z test`.split("\x0")
|
19
28
|
spec.require_paths = ["lib"]
|
20
29
|
|
21
|
-
spec.add_dependency "trailblazer-macro",
|
22
|
-
spec.add_dependency "trailblazer-macro-contract", ">= 2.1.
|
23
|
-
spec.add_dependency "trailblazer-operation"
|
30
|
+
spec.add_dependency "trailblazer-macro", ">= 2.1.10.beta1", "< 2.2.0"
|
31
|
+
spec.add_dependency "trailblazer-macro-contract", ">= 2.1.3.beta1", "< 2.2.0"
|
32
|
+
spec.add_dependency "trailblazer-operation", ">= 0.8.0.beta1", "< 1.0.0"
|
24
33
|
|
25
34
|
spec.add_development_dependency "bundler"
|
26
35
|
spec.add_development_dependency "rake"
|
27
36
|
spec.add_development_dependency "minitest"
|
37
|
+
spec.add_development_dependency "minitest-line"
|
28
38
|
|
29
39
|
spec.required_ruby_version = '>= 2.1.0'
|
30
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-macro
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.1.
|
19
|
+
version: 2.1.10.beta1
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 2.2.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.1.
|
29
|
+
version: 2.1.10.beta1
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.2.0
|
@@ -36,7 +36,7 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.1.
|
39
|
+
version: 2.1.3.beta1
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 2.2.0
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 2.1.
|
49
|
+
version: 2.1.3.beta1
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 2.2.0
|
@@ -56,14 +56,20 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
59
|
+
version: 0.8.0.beta1
|
60
|
+
- - "<"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.0.0
|
60
63
|
type: :runtime
|
61
64
|
prerelease: false
|
62
65
|
version_requirements: !ruby/object:Gem::Requirement
|
63
66
|
requirements:
|
64
67
|
- - ">="
|
65
68
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
69
|
+
version: 0.8.0.beta1
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.0.0
|
67
73
|
- !ruby/object:Gem::Dependency
|
68
74
|
name: bundler
|
69
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,6 +112,20 @@ dependencies:
|
|
106
112
|
- - ">="
|
107
113
|
- !ruby/object:Gem::Version
|
108
114
|
version: '0'
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: minitest-line
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
109
129
|
description: A high-level architecture introducing new abstractions such as operations
|
110
130
|
and control flow, form objects and policies.
|
111
131
|
email:
|
@@ -134,7 +154,14 @@ files:
|
|
134
154
|
homepage: http://trailblazer.to
|
135
155
|
licenses:
|
136
156
|
- LGPL-3.0
|
137
|
-
metadata:
|
157
|
+
metadata:
|
158
|
+
bug_tracker_uri: https://github.com/trailblazer/trailblazer/issues
|
159
|
+
changelog_uri: https://github.com/trailblazer/trailblazer/blob/master/CHANGES.md
|
160
|
+
documentation_uri: https://trailblazer.to/docs
|
161
|
+
homepage_uri: https://trailblazer.to/
|
162
|
+
mailing_list_uri: https://trailblazer.zulipchat.com/
|
163
|
+
source_code_uri: https://github.com/trailblazer/trailblazer
|
164
|
+
wiki_uri: https://github.com/trailblazer/trailblazer/wiki
|
138
165
|
post_install_message:
|
139
166
|
rdoc_options: []
|
140
167
|
require_paths:
|
@@ -146,12 +173,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
173
|
version: 2.1.0
|
147
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
175
|
requirements:
|
149
|
-
- - "
|
176
|
+
- - ">"
|
150
177
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
178
|
+
version: 1.3.1
|
152
179
|
requirements: []
|
153
|
-
|
154
|
-
rubygems_version: 2.7.6
|
180
|
+
rubygems_version: 3.2.3
|
155
181
|
signing_key:
|
156
182
|
specification_version: 4
|
157
183
|
summary: A high-level architecture for Ruby and Rails.
|