knowledge 0.1.3 → 0.1.4
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/Dockerfile +17 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +50 -13
- data/Guardfile +13 -0
- data/README.md +30 -0
- data/docker-compose.yml +59 -0
- data/knowledge.gemspec +0 -5
- data/lib/knowledge.rb +8 -7
- data/lib/knowledge/configurable.rb +135 -0
- data/lib/knowledge/learner.rb +2 -2
- data/lib/knowledge/setters.rb +2 -2
- data/lib/knowledge/version.rb +1 -1
- metadata +6 -58
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8ddde96c930ed905c6761e25779cd203b752d33a5cad99df862443afbf5a6873
|
|
4
|
+
data.tar.gz: 6e129b7c1b34c0a927f1595b38d20d3fcc52b85bd0c99618f594e6e40e8b7529
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1a3fddeafb3a21c2ca6b5a0499a99a64a02d8b1547be45760ed1475228d6d43bf0958fb442faf076420abecd667a8625776983031f63f566388202688e87f043
|
|
7
|
+
data.tar.gz: 30ec24f95ab6948c56286f436f286f5e1252a509943a6dab29863f103c8d1486c013cfe7c67f97fa07cfb169c0789d2df1c0d1c9659eeeccc21b612f0771839a
|
data/Dockerfile
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
FROM ruby:2.6.4
|
|
2
|
+
|
|
3
|
+
RUN bundle config --global frozen 1
|
|
4
|
+
|
|
5
|
+
RUN mkdir /app
|
|
6
|
+
RUN mkdir -p /app/lib/knowledge
|
|
7
|
+
WORKDIR /app
|
|
8
|
+
|
|
9
|
+
RUN gem update --system
|
|
10
|
+
RUN gem install bundler -v "~> 2.0" --no-doc
|
|
11
|
+
|
|
12
|
+
COPY lib/knowledge/version.rb ./lib/knowledge
|
|
13
|
+
COPY knowledge.gemspec Gemfile Gemfile.lock ./
|
|
14
|
+
|
|
15
|
+
RUN bundle install
|
|
16
|
+
|
|
17
|
+
COPY . .
|
data/Gemfile
CHANGED
|
@@ -6,3 +6,18 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
|
|
6
6
|
|
|
7
7
|
# Specify your gem's dependencies in knowledge.gemspec
|
|
8
8
|
gemspec
|
|
9
|
+
|
|
10
|
+
# Tests
|
|
11
|
+
gem 'rspec'
|
|
12
|
+
gem 'simplecov'
|
|
13
|
+
|
|
14
|
+
# Linting
|
|
15
|
+
gem 'rubocop', '~> 0.62.0'
|
|
16
|
+
|
|
17
|
+
# Documentation
|
|
18
|
+
gem 'yard'
|
|
19
|
+
|
|
20
|
+
# Watchers
|
|
21
|
+
gem 'guard'
|
|
22
|
+
gem 'guard-process'
|
|
23
|
+
gem 'guard-rspec'
|
data/Gemfile.lock
CHANGED
|
@@ -1,24 +1,48 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
knowledge (0.1.
|
|
5
|
-
dry-configurable (~> 0.7)
|
|
4
|
+
knowledge (0.1.4)
|
|
6
5
|
|
|
7
6
|
GEM
|
|
8
7
|
remote: https://rubygems.org/
|
|
9
8
|
specs:
|
|
10
9
|
ast (2.4.0)
|
|
11
10
|
coderay (1.1.2)
|
|
12
|
-
concurrent-ruby (1.1.4)
|
|
13
11
|
diff-lcs (1.3)
|
|
14
12
|
docile (1.3.1)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
ffi (1.11.1)
|
|
14
|
+
formatador (0.2.5)
|
|
15
|
+
guard (2.15.1)
|
|
16
|
+
formatador (>= 0.2.4)
|
|
17
|
+
listen (>= 2.7, < 4.0)
|
|
18
|
+
lumberjack (>= 1.0.12, < 2.0)
|
|
19
|
+
nenv (~> 0.1)
|
|
20
|
+
notiffany (~> 0.0)
|
|
21
|
+
pry (>= 0.9.12)
|
|
22
|
+
shellany (~> 0.0)
|
|
23
|
+
thor (>= 0.18.1)
|
|
24
|
+
guard-compat (1.2.1)
|
|
25
|
+
guard-process (1.2.1)
|
|
26
|
+
guard-compat (~> 1.2, >= 1.2.1)
|
|
27
|
+
spoon (~> 0.0.1)
|
|
28
|
+
guard-rspec (4.7.3)
|
|
29
|
+
guard (~> 2.1)
|
|
30
|
+
guard-compat (~> 1.1)
|
|
31
|
+
rspec (>= 2.99.0, < 4.0)
|
|
32
|
+
jaro_winkler (1.5.3)
|
|
18
33
|
json (2.1.0)
|
|
34
|
+
listen (3.1.5)
|
|
35
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
36
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
|
37
|
+
ruby_dep (~> 1.2)
|
|
38
|
+
lumberjack (1.0.13)
|
|
19
39
|
method_source (0.9.2)
|
|
20
|
-
|
|
21
|
-
|
|
40
|
+
nenv (0.3.0)
|
|
41
|
+
notiffany (0.1.3)
|
|
42
|
+
nenv (~> 0.1)
|
|
43
|
+
shellany (~> 0.0)
|
|
44
|
+
parallel (1.17.0)
|
|
45
|
+
parser (2.6.4.1)
|
|
22
46
|
ast (~> 2.4.0)
|
|
23
47
|
powerpack (0.1.2)
|
|
24
48
|
pry (0.12.2)
|
|
@@ -26,6 +50,9 @@ GEM
|
|
|
26
50
|
method_source (~> 0.9.0)
|
|
27
51
|
rainbow (3.0.0)
|
|
28
52
|
rake (10.5.0)
|
|
53
|
+
rb-fsevent (0.10.3)
|
|
54
|
+
rb-inotify (0.10.0)
|
|
55
|
+
ffi (~> 1.0)
|
|
29
56
|
rspec (3.8.0)
|
|
30
57
|
rspec-core (~> 3.8.0)
|
|
31
58
|
rspec-expectations (~> 3.8.0)
|
|
@@ -39,7 +66,7 @@ GEM
|
|
|
39
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
40
67
|
rspec-support (~> 3.8.0)
|
|
41
68
|
rspec-support (3.8.0)
|
|
42
|
-
rubocop (0.
|
|
69
|
+
rubocop (0.62.0)
|
|
43
70
|
jaro_winkler (~> 1.5.1)
|
|
44
71
|
parallel (~> 1.10)
|
|
45
72
|
parser (>= 2.5, != 2.5.1.1)
|
|
@@ -47,25 +74,35 @@ GEM
|
|
|
47
74
|
rainbow (>= 2.2.2, < 4.0)
|
|
48
75
|
ruby-progressbar (~> 1.7)
|
|
49
76
|
unicode-display_width (~> 1.4.0)
|
|
50
|
-
ruby-progressbar (1.10.
|
|
77
|
+
ruby-progressbar (1.10.1)
|
|
78
|
+
ruby_dep (1.5.0)
|
|
79
|
+
shellany (0.0.1)
|
|
51
80
|
simplecov (0.16.1)
|
|
52
81
|
docile (~> 1.1)
|
|
53
82
|
json (>= 1.8, < 3)
|
|
54
83
|
simplecov-html (~> 0.10.0)
|
|
55
84
|
simplecov-html (0.10.2)
|
|
56
|
-
|
|
85
|
+
spoon (0.0.6)
|
|
86
|
+
ffi
|
|
87
|
+
thor (0.20.3)
|
|
88
|
+
unicode-display_width (1.4.1)
|
|
89
|
+
yard (0.9.20)
|
|
57
90
|
|
|
58
91
|
PLATFORMS
|
|
59
92
|
ruby
|
|
60
93
|
|
|
61
94
|
DEPENDENCIES
|
|
62
95
|
bundler (~> 1.16)
|
|
96
|
+
guard
|
|
97
|
+
guard-process
|
|
98
|
+
guard-rspec
|
|
63
99
|
knowledge!
|
|
64
100
|
pry (>= 0.12)
|
|
65
101
|
rake (~> 10.0)
|
|
66
|
-
rspec
|
|
67
|
-
rubocop (
|
|
102
|
+
rspec
|
|
103
|
+
rubocop (~> 0.62.0)
|
|
68
104
|
simplecov
|
|
105
|
+
yard
|
|
69
106
|
|
|
70
107
|
BUNDLED WITH
|
|
71
108
|
1.16.6
|
data/Guardfile
ADDED
data/README.md
CHANGED
|
@@ -11,6 +11,12 @@ The full documentation is currently being written. You should be able to find a
|
|
|
11
11
|
|
|
12
12
|
Waiting for the full documentation, you can have a look at the code which is already well-documented or at the [wiki](https://github.com/knowledge-ruby/knowledge/wiki)
|
|
13
13
|
|
|
14
|
+
## Knowledge official ecosystem
|
|
15
|
+
|
|
16
|
+
- [knowledge](https://github.com/knowledge-ruby/knowledge) - Core project
|
|
17
|
+
- [knowledge-rails](https://github.com/knowledge-ruby/knowledge-rails) - Rails utilities
|
|
18
|
+
- [knowledge-ssm](https://github.com/knowledge-ruby/knowledge-ssm) - SSM Adapter
|
|
19
|
+
|
|
14
20
|
## Installation
|
|
15
21
|
|
|
16
22
|
Add this line to your application's Gemfile:
|
|
@@ -128,10 +134,32 @@ Rails.application.config.key # => "value"
|
|
|
128
134
|
|
|
129
135
|
## Development
|
|
130
136
|
|
|
137
|
+
### Without docker
|
|
138
|
+
|
|
131
139
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
132
140
|
|
|
133
141
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
134
142
|
|
|
143
|
+
### With docker
|
|
144
|
+
|
|
145
|
+
First, please ensure you've got docker and docker-compose properly setup on your computer
|
|
146
|
+
|
|
147
|
+
Then run:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
$ docker-compose build
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Once the build has been done, run:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
$ docker-compose up
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
You will be able to see linting and test tasks running each time you change a file.
|
|
160
|
+
|
|
161
|
+
You will also find the yard doc under `http://localhost:5001` and the coverage under `http://localhost:5002`.
|
|
162
|
+
|
|
135
163
|
## Contributing
|
|
136
164
|
|
|
137
165
|
Bug reports and pull requests are welcome on GitHub at https://github.com/knowledge-ruby/knowledge. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
|
@@ -145,3 +173,5 @@ Everyone interacting in the Knowledge project’s codebases, issue trackers, cha
|
|
|
145
173
|
This project is licensed under [GPLv3+](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
|
146
174
|
|
|
147
175
|
You can find it in LICENSE.md file.
|
|
176
|
+
|
|
177
|
+
Note: if you're a company willing to use the gem but you cannot because of the license, I can provide the gem under a different license. Please contact me if you need it.
|
data/docker-compose.yml
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
version: "3.7"
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
test:
|
|
5
|
+
build:
|
|
6
|
+
context: .
|
|
7
|
+
command: |
|
|
8
|
+
bash -c "bundle exec guard --no-interactions -g test"
|
|
9
|
+
volumes:
|
|
10
|
+
- .:/app:cached
|
|
11
|
+
networks:
|
|
12
|
+
knowledge:
|
|
13
|
+
aliases:
|
|
14
|
+
- knowledge.test
|
|
15
|
+
|
|
16
|
+
linter:
|
|
17
|
+
build:
|
|
18
|
+
context: .
|
|
19
|
+
command: |
|
|
20
|
+
bash -c "bundle exec guard --no-interactions -g linter"
|
|
21
|
+
volumes:
|
|
22
|
+
- .:/app:cached
|
|
23
|
+
networks:
|
|
24
|
+
knowledge:
|
|
25
|
+
aliases:
|
|
26
|
+
- knowledge.linter
|
|
27
|
+
|
|
28
|
+
doc:
|
|
29
|
+
build:
|
|
30
|
+
context: .
|
|
31
|
+
command: |
|
|
32
|
+
bash -c "bundle exec yardoc && yard server -B 0.0.0.0 -p 5001 --reload"
|
|
33
|
+
volumes:
|
|
34
|
+
- .:/app:cached
|
|
35
|
+
ports:
|
|
36
|
+
- "5001:5001"
|
|
37
|
+
networks:
|
|
38
|
+
knowledge:
|
|
39
|
+
aliases:
|
|
40
|
+
- knowledge.doc
|
|
41
|
+
|
|
42
|
+
coverage:
|
|
43
|
+
build:
|
|
44
|
+
context: .
|
|
45
|
+
command: |
|
|
46
|
+
bash -c "ruby -run -e httpd -- -p 5002 ./coverage"
|
|
47
|
+
volumes:
|
|
48
|
+
- .:/app:cached
|
|
49
|
+
ports:
|
|
50
|
+
- "5002:5002"
|
|
51
|
+
networks:
|
|
52
|
+
knowledge:
|
|
53
|
+
aliases:
|
|
54
|
+
- knowledge.coverage
|
|
55
|
+
|
|
56
|
+
networks:
|
|
57
|
+
knowledge:
|
|
58
|
+
name: knowledge
|
|
59
|
+
driver: bridge
|
data/knowledge.gemspec
CHANGED
|
@@ -38,12 +38,7 @@ Gem::Specification.new do |spec|
|
|
|
38
38
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
39
39
|
spec.require_paths = ['lib']
|
|
40
40
|
|
|
41
|
-
spec.add_dependency 'dry-configurable', '~> 0.7'
|
|
42
|
-
|
|
43
41
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
|
44
42
|
spec.add_development_dependency 'pry', '>= 0.12'
|
|
45
43
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
46
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
47
|
-
spec.add_development_dependency 'rubocop', '>= 0.60'
|
|
48
|
-
spec.add_development_dependency 'simplecov'
|
|
49
44
|
end
|
data/lib/knowledge.rb
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'dry-configurable'
|
|
4
|
-
|
|
5
3
|
require 'knowledge/version'
|
|
6
4
|
require 'knowledge/exceptions'
|
|
5
|
+
require 'knowledge/configurable'
|
|
7
6
|
require 'knowledge/learner'
|
|
8
7
|
|
|
9
8
|
#
|
|
@@ -19,7 +18,7 @@ require 'knowledge/learner'
|
|
|
19
18
|
#
|
|
20
19
|
# You can configure it one by one or all at once:
|
|
21
20
|
#
|
|
22
|
-
# @example
|
|
21
|
+
# @example
|
|
23
22
|
#
|
|
24
23
|
# Knowledge.config.environment = ENV['RACK_ENV'] || Rails.env || ENV['APP_ENV'] # Or whatever you want
|
|
25
24
|
#
|
|
@@ -29,7 +28,7 @@ require 'knowledge/learner'
|
|
|
29
28
|
#
|
|
30
29
|
# === Usage
|
|
31
30
|
#
|
|
32
|
-
# @example
|
|
31
|
+
# @example
|
|
33
32
|
# Knowledge.configure do |config|
|
|
34
33
|
# config.environment = :production
|
|
35
34
|
# end
|
|
@@ -40,7 +39,9 @@ require 'knowledge/learner'
|
|
|
40
39
|
# learner = Knowledge::Learner.new
|
|
41
40
|
# learner.setter = MyCustomProjectVariableSetter
|
|
42
41
|
# learner.variables = 'path/to/config/file'
|
|
42
|
+
#
|
|
43
43
|
# # or
|
|
44
|
+
#
|
|
44
45
|
# learner.variables = { name: 'value_key' }
|
|
45
46
|
# learner.register_adapter(:custom, MyCustomProjectVariableAdapter, enable: true)
|
|
46
47
|
#
|
|
@@ -48,8 +49,8 @@ require 'knowledge/learner'
|
|
|
48
49
|
#
|
|
49
50
|
module Knowledge
|
|
50
51
|
# == Behaviors =======================================================================================================
|
|
51
|
-
extend
|
|
52
|
+
extend Configurable
|
|
52
53
|
|
|
53
54
|
# == Settings ========================================================================================================
|
|
54
|
-
setting :environment, :development
|
|
55
|
-
end
|
|
55
|
+
setting :environment, default: :development
|
|
56
|
+
end
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Knowledge
|
|
4
|
+
#
|
|
5
|
+
# === Description
|
|
6
|
+
#
|
|
7
|
+
# Internal configuration module providing required DSL to be able to manage internal configuration.
|
|
8
|
+
#
|
|
9
|
+
# === Usage
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# module MyModule
|
|
13
|
+
# extend Configurable
|
|
14
|
+
#
|
|
15
|
+
# setting :variable, default: :default_value
|
|
16
|
+
# end
|
|
17
|
+
#
|
|
18
|
+
# MyModule.variable # :default_value
|
|
19
|
+
#
|
|
20
|
+
# MyModule.configure do |config|
|
|
21
|
+
# config.variable = :foo
|
|
22
|
+
# end
|
|
23
|
+
#
|
|
24
|
+
# MyModule.variable # :foo
|
|
25
|
+
#
|
|
26
|
+
# MyModule.variable = :bar
|
|
27
|
+
#
|
|
28
|
+
# MyModule.variable # :bar
|
|
29
|
+
#
|
|
30
|
+
module Configurable
|
|
31
|
+
def self.extended(base)
|
|
32
|
+
base.singleton_class.extend(Forwardable)
|
|
33
|
+
base.extend(ClassMethods)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
#
|
|
37
|
+
# Class Methods to be injected.
|
|
38
|
+
#
|
|
39
|
+
module ClassMethods
|
|
40
|
+
#
|
|
41
|
+
# Registers a configuration variable with a potential default value
|
|
42
|
+
#
|
|
43
|
+
# === Usage
|
|
44
|
+
#
|
|
45
|
+
# @example
|
|
46
|
+
#
|
|
47
|
+
# setting :my_config
|
|
48
|
+
# setting :environment, default: :development
|
|
49
|
+
#
|
|
50
|
+
# === Parameters
|
|
51
|
+
#
|
|
52
|
+
# @param name [String, Symbol] the variable's name
|
|
53
|
+
# @param default [any] default value for the variable to define
|
|
54
|
+
#
|
|
55
|
+
def setting(name, default: nil)
|
|
56
|
+
configuration.class.send(:attr_accessor, name)
|
|
57
|
+
configuration.public_send("#{name}=", default)
|
|
58
|
+
|
|
59
|
+
singleton_class.class_eval { def_delegators :configuration, name, "#{name}=" }
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
#
|
|
63
|
+
# Exposes the configuration allowing to manage it.
|
|
64
|
+
#
|
|
65
|
+
# === Usage
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
#
|
|
69
|
+
# MyModule.configure do |config|
|
|
70
|
+
# config.my_variable = :foo
|
|
71
|
+
# end
|
|
72
|
+
#
|
|
73
|
+
# === Parameters
|
|
74
|
+
#
|
|
75
|
+
# @yield configuration [Config]
|
|
76
|
+
#
|
|
77
|
+
def configure
|
|
78
|
+
yield configuration
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
#
|
|
82
|
+
# Syntaxic sugar allowing to access a config var.
|
|
83
|
+
#
|
|
84
|
+
# === Usage
|
|
85
|
+
#
|
|
86
|
+
# @example
|
|
87
|
+
#
|
|
88
|
+
# MyModule[:my_variable] # :foo
|
|
89
|
+
#
|
|
90
|
+
# === Parameters
|
|
91
|
+
#
|
|
92
|
+
# @param name [String, Symbol]
|
|
93
|
+
#
|
|
94
|
+
# @return the value of the config var
|
|
95
|
+
#
|
|
96
|
+
def [](name)
|
|
97
|
+
configuration.public_send(name.to_sym)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
#
|
|
101
|
+
# Syntaxic sugar allowing to set a config var.
|
|
102
|
+
#
|
|
103
|
+
# === Usage
|
|
104
|
+
#
|
|
105
|
+
# @example
|
|
106
|
+
#
|
|
107
|
+
# MyModule[:my_variable] = :foo # :foo
|
|
108
|
+
#
|
|
109
|
+
# === Parameters
|
|
110
|
+
#
|
|
111
|
+
# @param name [String, Symbol]
|
|
112
|
+
# @param value [any]
|
|
113
|
+
#
|
|
114
|
+
# @return the value of the config var
|
|
115
|
+
#
|
|
116
|
+
def []=(name, value)
|
|
117
|
+
configuration.public_send("#{name}=", value)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
private
|
|
121
|
+
|
|
122
|
+
#
|
|
123
|
+
# === Description
|
|
124
|
+
#
|
|
125
|
+
# Used for storing the configuration variables in order not to leak it into Class
|
|
126
|
+
#
|
|
127
|
+
class Config; end
|
|
128
|
+
|
|
129
|
+
# @return [Config]
|
|
130
|
+
def configuration
|
|
131
|
+
@configuration ||= Config.new
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
data/lib/knowledge/learner.rb
CHANGED
|
@@ -54,7 +54,7 @@ module Knowledge
|
|
|
54
54
|
@additionnal_params = {}
|
|
55
55
|
@available_adapters = {}
|
|
56
56
|
@enabled_adapters = {}
|
|
57
|
-
@setter = ::Knowledge::Setters.
|
|
57
|
+
@setter = ::Knowledge::Setters.default.new
|
|
58
58
|
@variables = {}
|
|
59
59
|
end
|
|
60
60
|
|
|
@@ -417,7 +417,7 @@ module Knowledge
|
|
|
417
417
|
#
|
|
418
418
|
def fetch_variables_config(path)
|
|
419
419
|
descriptor = yaml_content(path)
|
|
420
|
-
@variables = descriptor[::Knowledge.
|
|
420
|
+
@variables = descriptor[::Knowledge.environment.to_s] || descriptor
|
|
421
421
|
end
|
|
422
422
|
|
|
423
423
|
#
|
data/lib/knowledge/setters.rb
CHANGED
|
@@ -9,7 +9,7 @@ module Knowledge
|
|
|
9
9
|
#
|
|
10
10
|
module Setters
|
|
11
11
|
# == Behaviors =====================================================================================================
|
|
12
|
-
extend
|
|
12
|
+
extend ::Knowledge::Configurable
|
|
13
13
|
|
|
14
14
|
# == Settings ======================================================================================================
|
|
15
15
|
setting :default
|
|
@@ -19,4 +19,4 @@ end
|
|
|
19
19
|
require 'knowledge/setters/base'
|
|
20
20
|
require 'knowledge/setters/knowledge'
|
|
21
21
|
|
|
22
|
-
Knowledge::Setters.
|
|
22
|
+
Knowledge::Setters.default = Knowledge::Setters::Knowledge
|
data/lib/knowledge/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: knowledge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Johann Wilfrid-Calixte
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-09-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: dry-configurable
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.7'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.7'
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: bundler
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,48 +52,6 @@ dependencies:
|
|
|
66
52
|
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
54
|
version: '10.0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rspec
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '3.0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '3.0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rubocop
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0.60'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0.60'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: simplecov
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
55
|
description: Easy knowledge for yout project.
|
|
112
56
|
email:
|
|
113
57
|
- johann.open-source@protonmail.ch
|
|
@@ -122,13 +66,16 @@ files:
|
|
|
122
66
|
- ".travis.yml"
|
|
123
67
|
- CHANGELOG.md
|
|
124
68
|
- CODE_OF_CONDUCT.md
|
|
69
|
+
- Dockerfile
|
|
125
70
|
- Gemfile
|
|
126
71
|
- Gemfile.lock
|
|
72
|
+
- Guardfile
|
|
127
73
|
- LICENSE.md
|
|
128
74
|
- README.md
|
|
129
75
|
- Rakefile
|
|
130
76
|
- bin/console
|
|
131
77
|
- bin/setup
|
|
78
|
+
- docker-compose.yml
|
|
132
79
|
- knowledge.gemspec
|
|
133
80
|
- lib/knowledge.rb
|
|
134
81
|
- lib/knowledge/adapters.rb
|
|
@@ -137,6 +84,7 @@ files:
|
|
|
137
84
|
- lib/knowledge/adapters/file.rb
|
|
138
85
|
- lib/knowledge/adapters/key_value.rb
|
|
139
86
|
- lib/knowledge/backupper.rb
|
|
87
|
+
- lib/knowledge/configurable.rb
|
|
140
88
|
- lib/knowledge/configuration.rb
|
|
141
89
|
- lib/knowledge/exceptions.rb
|
|
142
90
|
- lib/knowledge/initializer.rb
|