kungfuig 0.5.5 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +61 -0
- data/lib/kungfuig/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: e999acc1963d5ffd0ffdf1674e2ff0deb77bbcc5
|
4
|
+
data.tar.gz: 1a6fb95a6bfa7d8c7b3b6945f18b9a894db8bf41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 943bfe719a7c249e4011a4c6fa6c33f46b76a88c5ac6fcef1b2c7f2d1fb33901af17219bed336e1c7570a15d97a6e0fb4095f88fc56c4b32885e2db041ccde3d
|
7
|
+
data.tar.gz: 7203a220aabfd53cb84067cc9c25092203f21acf93200c1d566d9960905f01331038e9de030c9870a6fb5248937663aeca9e3135992287439893e1fc76752b03
|
data/README.md
CHANGED
@@ -53,6 +53,67 @@ MyApp.new.report
|
|
53
53
|
#⇒ "MyApp#report returned 42"
|
54
54
|
```
|
55
55
|
|
56
|
+
### Bulk aspects assignment
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
it 'accepts YAML for bulk attach' do
|
60
|
+
yaml = <<YAML
|
61
|
+
'Test':
|
62
|
+
after:
|
63
|
+
'*': 'MyLogger#debug_after_method_call'
|
64
|
+
before:
|
65
|
+
'shutdown': 'MyLogger#info_before_shutdown_call'
|
66
|
+
YAML
|
67
|
+
expect(Kungfuig::Aspector.bulk(yaml)).to be_truthy
|
68
|
+
expect(test.yo(42)).to eq ['Answer given']
|
69
|
+
```
|
70
|
+
|
71
|
+
in the example above, `MyLogger#debug_after_method_call` will be called
|
72
|
+
after _all_ methods of `Test` class, and `MyLogger#info_before_shutdown_call`—before
|
73
|
+
`Test#shutdown`.
|
74
|
+
|
75
|
+
### Bulk jobs assignment
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
Kungfuig::Jobber.bulk("#{Rails.root}/config/my_app.yml")
|
79
|
+
```
|
80
|
+
|
81
|
+
**config/my_app.yml**
|
82
|
+
|
83
|
+
```yaml
|
84
|
+
'SessionsController':
|
85
|
+
'login': 'OnLoginJob'
|
86
|
+
'UsersController':
|
87
|
+
'show': 'OnUsersShownJob'
|
88
|
+
```
|
89
|
+
|
90
|
+
in the example above, `OnLoginJob` will be executed after `SessionsController#login`
|
91
|
+
method is called, and `OnUsersShownJob`—after `UsersController#show`.
|
92
|
+
|
93
|
+
### Jobs `perform` format
|
94
|
+
|
95
|
+
The job’s `perform` method will be called with four parameters:
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
job.perform_async(receiver, method, result, *args)
|
99
|
+
```
|
100
|
+
|
101
|
+
* `receiver` — the actual method receiver, serialized to the hash (see below);
|
102
|
+
* `method` — the actual method name;
|
103
|
+
* `result` — the result of call to the method (`nil` for before filters);
|
104
|
+
* `args` — arguments, passed to the method; objects will be lost (cast to `String`
|
105
|
+
instance as by `Sidekiq` convention.)
|
106
|
+
|
107
|
+
```ruby
|
108
|
+
r = case receiver
|
109
|
+
when Hash, Array, String then receiver
|
110
|
+
when respond_to.curry[:to_hash] then receiver.to_hash
|
111
|
+
when respond_to.curry[:to_h] then receiver.to_h
|
112
|
+
else receiver
|
113
|
+
end
|
114
|
+
job.perform_async(r, method, result, *args)
|
115
|
+
```
|
116
|
+
|
56
117
|
## Installation
|
57
118
|
|
58
119
|
Add this line to your application's Gemfile:
|
data/lib/kungfuig/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kungfuig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kantox LTD
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|