excom 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 +4 -4
- data/README.md +3 -0
- data/lib/excom/plugins/context.rb +11 -13
- data/lib/excom/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: f3ce8ddb0d9f3eb163e404bb331a5b188e4b7231
|
4
|
+
data.tar.gz: 7e0b3a4cbb11420002803618328faa4f39e651ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e47af5a9296b59a8bf194c9fb081f592c73df2056c7ba00e79e0e40b4cafd79daf6e00b2ad63160514e881cfceecfb7a37fca3e6c0525d572fdf6c08c1759522
|
7
|
+
data.tar.gz: 7ba40674e28405799fe22b33308190328073b56268db1bd0a5ff6dd7bc570da84cf4c452f03b6626d444fce64083b9fe5c5bcb05a01f42167c78e17847d6a15d
|
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
Flexible and highly extensible Commands (Service Objects) for business logic.
|
4
4
|
|
5
5
|
[![build status](https://secure.travis-ci.org/akuzko/excom.png)](http://travis-ci.org/akuzko/excom)
|
6
|
+
[![github release](https://img.shields.io/github/release/akuzko/excom.svg)](https://github.com/akuzko/excom/releases)
|
6
7
|
|
7
8
|
## Installation
|
8
9
|
|
@@ -129,6 +130,8 @@ Please read about core API and available class and instance methods on [wiki](ht
|
|
129
130
|
|
130
131
|
### Command Extensions (Plugins)
|
131
132
|
|
133
|
+
Read full version on [wiki](https://github.com/akuzko/excom/wiki/Plugins).
|
134
|
+
|
132
135
|
Excom is built with extensions in mind. Even core functionality is organized in plugins that are
|
133
136
|
used in base `Excom::Command` class. Bellow you can see a list of plugins with some description
|
134
137
|
and examples that are shipped with `excom`:
|
@@ -2,28 +2,26 @@ module Excom
|
|
2
2
|
module Plugins::Context
|
3
3
|
Plugins.register :context, self
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
super
|
8
|
-
end
|
9
|
-
|
10
|
-
def initialize_clone(*)
|
11
|
-
@local_context = @local_context.dup
|
12
|
-
super
|
13
|
-
end
|
5
|
+
attr_accessor :local_context
|
6
|
+
protected :local_context, :local_context=
|
14
7
|
|
15
8
|
def context
|
16
9
|
global_context = ::Excom.context
|
10
|
+
return global_context if local_context.nil?
|
11
|
+
|
17
12
|
global_context.respond_to?(:merge) ?
|
18
|
-
global_context.merge(local_context) :
|
13
|
+
(global_context.merge(local_context) rescue local_context) :
|
19
14
|
local_context
|
20
15
|
end
|
21
16
|
|
22
17
|
def with_context(ctx)
|
23
|
-
clone.tap
|
18
|
+
clone.tap do |copy|
|
19
|
+
copy.local_context =
|
20
|
+
copy.local_context.respond_to?(:merge) ? copy.local_context.merge(ctx) : ctx
|
21
|
+
end
|
24
22
|
end
|
25
23
|
|
26
|
-
|
24
|
+
def local_context
|
27
25
|
@local_context
|
28
26
|
end
|
29
27
|
|
@@ -37,7 +35,7 @@ module Excom
|
|
37
35
|
end
|
38
36
|
|
39
37
|
def context
|
40
|
-
Thread.current[:excom_context]
|
38
|
+
Thread.current[:excom_context]
|
41
39
|
end
|
42
40
|
end
|
43
41
|
end
|
data/lib/excom/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: excom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Kuzko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|