rule-interface 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +20 -2
- data/lib/rule-interface/configuartion.rb +20 -4
- data/lib/rule-interface/converter.rb +5 -1
- data/lib/rule-interface/{errors.rb → error.rb} +2 -0
- data/lib/rule-interface/version.rb +1 -1
- data/rule-interface.gemspec +0 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 524f8431dd91bd47d798334f77bed731e5525072
|
4
|
+
data.tar.gz: 3c64436cf12b292c4c4da96b13f17f58ecb2a847
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fff9269d46e83c0e95ae22418d2c0370f1ff9bb1563b2d19331236f573450460585f0ff5766e7ea0548d00c97b58e083180342eaa6957c0bb1d7434ee4a8990
|
7
|
+
data.tar.gz: eba32c7218cb1e4a5ed1a3807501a5e5fe0afff65932e58995b0f0ab89c5710d274272d6b08b9c67c3853cbdc3722914d8e5f085cfd85705f9a258c991f6db9d
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -20,10 +20,28 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
$ gem install rule-interface
|
22
22
|
|
23
|
-
##
|
23
|
+
## Configuration
|
24
|
+
|
25
|
+
ENV variable can be used to configure KIE server details
|
26
|
+
|
27
|
+
`KIE_SERVER_USERNAME`, `KIE_SERVER_PASSWORD`, `KIE_SERVER_HOSTNAME`
|
24
28
|
|
29
|
+
You can also configure the KIE server details programmatically
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
RuleInterface::Configuration::kiesever_config = {
|
33
|
+
username: 'blah',
|
34
|
+
password: 'blah',
|
35
|
+
hostname: 'http://url',
|
36
|
+
}
|
25
37
|
```
|
26
|
-
|
38
|
+
|
39
|
+
All the attribute specified in the above configuration is optional. If specified, it will overwrite ENV configuration for that attribute
|
40
|
+
|
41
|
+
## Usage
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
RuleInterface.execute!(
|
27
45
|
data_hash: {
|
28
46
|
product: [
|
29
47
|
{
|
@@ -3,15 +3,31 @@ module RuleInterface
|
|
3
3
|
|
4
4
|
class << self
|
5
5
|
|
6
|
-
#
|
6
|
+
# eg: {
|
7
|
+
# username: 'blah',
|
8
|
+
# password: 'blah',
|
9
|
+
# hostname: 'http://url'
|
10
|
+
#}
|
7
11
|
def kiesever_config=(config)
|
12
|
+
@cached = false
|
8
13
|
@kiesever_config = config
|
9
14
|
end
|
10
15
|
|
11
16
|
def kiesever_config
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
return @kiesever_config if @cached
|
18
|
+
|
19
|
+
@kiesever_config ||= {}
|
20
|
+
|
21
|
+
@kiesever_config[:username] ||= ENV['KIE_SERVER_USERNAME'].presence
|
22
|
+
@kiesever_config[:password] ||= ENV['KIE_SERVER_PASSWORD'].presence
|
23
|
+
@kiesever_config[:hostname] ||= ENV['KIE_SERVER_HOSTNAME'].presence
|
24
|
+
|
25
|
+
raise Error::ConfigError, 'KIE server username missing' if @kiesever_config[:username].blank?
|
26
|
+
raise Error::ConfigError, 'KIE server password missing' if @kiesever_config[:password].blank?
|
27
|
+
raise Error::ConfigError, 'KIE server hostname missing' if @kiesever_config[:hostname].blank?
|
28
|
+
|
29
|
+
@cached = true
|
30
|
+
|
15
31
|
@kiesever_config
|
16
32
|
end
|
17
33
|
|
@@ -43,6 +43,10 @@ module RuleInterface
|
|
43
43
|
private
|
44
44
|
|
45
45
|
def insert_object(data_object:, object_type:, package:, return_object: true)
|
46
|
+
if return_object && data_object[:id].blank?
|
47
|
+
raise Error::CommonError, "Object must have an id attribute: #{data_object.to_json}"
|
48
|
+
end
|
49
|
+
|
46
50
|
data_object = data_object.inject({}) do |m, (k,v)|
|
47
51
|
m[k.to_s.camelize(:lower).to_sym] = v; m
|
48
52
|
end
|
@@ -51,7 +55,7 @@ module RuleInterface
|
|
51
55
|
insert_object = {}
|
52
56
|
insert_object[:insert] = {}
|
53
57
|
insert_object[:insert]['return-object'] = return_object
|
54
|
-
insert_object[:insert]['out-identifier'] = "#{object_type}
|
58
|
+
insert_object[:insert]['out-identifier'] = "#{object_type}##{data_object[:id]}" if return_object
|
55
59
|
|
56
60
|
object = {}
|
57
61
|
object_name = "#{package}.#{object_type}"
|
data/rule-interface.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rule-interface
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ranveer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -132,7 +132,7 @@ files:
|
|
132
132
|
- lib/rule-interface.rb
|
133
133
|
- lib/rule-interface/configuartion.rb
|
134
134
|
- lib/rule-interface/converter.rb
|
135
|
-
- lib/rule-interface/
|
135
|
+
- lib/rule-interface/error.rb
|
136
136
|
- lib/rule-interface/rule_executor.rb
|
137
137
|
- lib/rule-interface/version.rb
|
138
138
|
- rule-interface.gemspec
|