civil 1.0.0 → 1.1.0
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/CHANGELOG.md +18 -2
- data/README.md +20 -0
- data/lib/civil/service.rb +2 -2
- data/lib/civil/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bbae03b7c5bb563b1b6e728fefd604be43ba5fe
|
4
|
+
data.tar.gz: 6d2fe1f7674b416b0d4341dcd06c9e2b1ee96215
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53b669f68cbc9a2fb46d55b30f35e188ffbc9837efa5ce15491bdd527f8b9aa2e06193bf21e8b802fee68e6ea3a10f4b2eb1100d1d04dde60e4a6153d3c0c6dc
|
7
|
+
data.tar.gz: 79ab0143ea4e81584384503ad57024dfd3707b3acc96f720ff682042960928cb69f04021af8946ef50a664d9aef9c190719f711e269bf40ce5d7af1b90ed686f
|
data/CHANGELOG.md
CHANGED
@@ -6,10 +6,26 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
-
## [1.
|
9
|
+
## [1.1.0] - 2016-12-2
|
10
10
|
### Added
|
11
|
-
-
|
11
|
+
- You can now run services by passing in blocks to `call`. The service will
|
12
|
+
only run the methods in the block:
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
MyService.call do
|
16
|
+
step_one
|
17
|
+
# Normally, step two would get run, but let's skip it this time
|
18
|
+
# step_two
|
19
|
+
step_three
|
20
|
+
|
21
|
+
result
|
22
|
+
end
|
23
|
+
```
|
12
24
|
|
25
|
+
If you've already defined steps inside the service class in a `service`
|
26
|
+
block, that's OK, the passed-in block will override.
|
27
|
+
|
28
|
+
## [1.0.0] - 2016-11-30
|
13
29
|
### Changed
|
14
30
|
- Result conditions and meta now store keyed arrays of data instead of key/value pairs
|
15
31
|
|
data/README.md
CHANGED
@@ -109,6 +109,26 @@ result = MetadataExample.call doodad: doodad
|
|
109
109
|
result.meta # { length: 12.5 }
|
110
110
|
```
|
111
111
|
|
112
|
+
### Overriding the service block
|
113
|
+
|
114
|
+
You can override the steps defined within your service class' `service` block
|
115
|
+
by passing a block to `call`:
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
class MyService
|
119
|
+
service do
|
120
|
+
step_one
|
121
|
+
step_two
|
122
|
+
result
|
123
|
+
end
|
124
|
+
|
125
|
+
...
|
126
|
+
end
|
127
|
+
|
128
|
+
# The following will skip step_two
|
129
|
+
result = MyService.call { step_one; result; }
|
130
|
+
```
|
131
|
+
|
112
132
|
## Development
|
113
133
|
|
114
134
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/civil/service.rb
CHANGED
@@ -24,9 +24,9 @@ module Civil
|
|
24
24
|
# else
|
25
25
|
# ...
|
26
26
|
# end
|
27
|
-
def call(params = {})
|
27
|
+
def call(params = {}, &block)
|
28
28
|
service = new(params)
|
29
|
-
data = service._run
|
29
|
+
data = (block ? service.instance_eval(&block) : service._run)
|
30
30
|
|
31
31
|
Civil::Result.new(data, service._conditions, service._meta)
|
32
32
|
end
|
data/lib/civil/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: civil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ersin Akinci
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|