mysticonfig 0.1.0 → 0.1.1
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/Gemfile +3 -3
- data/LICENSE +21 -21
- data/README.md +58 -58
- data/lib/mysticonfig/utils.rb +91 -91
- data/lib/mysticonfig/version.rb +4 -4
- data/lib/mysticonfig.rb +75 -75
- data/mysticonfig.gemspec +30 -30
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c413c8ed3554a42ad4ec25365550ffdee5aeb0ad33d9227c2fa8f455388aca3f
|
4
|
+
data.tar.gz: 2ee636a8d20690ec535f2255b700e29896fbdceba13e8a4e42e46b57945040af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f741e13986190f46ecee3519cdf21cbcabec6e88ab5fa70d15dc52464ecdce72f780d4c153cacb338b5c91ff27d98e4813d18bedb9a90f287c9bbe820348ce6
|
7
|
+
data.tar.gz: c65ea5327c013d60965691435ad13e5a4548e310a654c3c5b09e8792d3fbb90087eff4db9ff07ca3ca085834c4749047f3608dceec5e437c888a2886c066a55f
|
data/Gemfile
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
data/LICENSE
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2018 Saran Tanpituckpong
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2018 Saran Tanpituckpong
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
CHANGED
@@ -1,58 +1,58 @@
|
|
1
|
-
# mysticonfig
|
2
|
-
[](./LICENSE)
|
3
|
-
[](https://rubygems.org/gems/mysticonfig)
|
4
|
-
[](https://rubygems.org/gems/mysticonfig)
|
5
|
-
[](https://gemnasium.com/github.com/gluons/mysticonfig)
|
6
|
-
[](https://travis-ci.org/gluons/mysticonfig)
|
7
|
-
<br><br>
|
8
|
-
<p align="center">
|
9
|
-
<strong>🔮 The configuration loader for wizard.</strong>
|
10
|
-
</p>
|
11
|
-
<br>
|
12
|
-
|
13
|
-
A library to load `.appnamerc`, `.appnamerc.json` or `.appnamerc.yaml` config file easily.
|
14
|
-
|
15
|
-
`mysticonfig` will lookup for your config file.
|
16
|
-
It keeps traversing up until it **finds the config file** or **reaches your home directory**.
|
17
|
-
|
18
|
-
> Gem's name inspired by [cosmiconfig](https://github.com/davidtheclark/cosmiconfig)
|
19
|
-
|
20
|
-
## Installation
|
21
|
-
|
22
|
-
```bash
|
23
|
-
gem install mysticonfig
|
24
|
-
```
|
25
|
-
|
26
|
-
## Usage
|
27
|
-
|
28
|
-
### Normal
|
29
|
-
|
30
|
-
```ruby
|
31
|
-
require 'mysticonfig'
|
32
|
-
|
33
|
-
loader = Mysticonfig::Loader.new 'appname'
|
34
|
-
config = loader.load # Automatically detect and load config
|
35
|
-
json_config = loader.load_json # Only load config from JSON file
|
36
|
-
yaml_config = loader.load_yaml # Only load config from YAML file (.yaml or .yml)
|
37
|
-
```
|
38
|
-
|
39
|
-
### With default config fallback
|
40
|
-
|
41
|
-
```ruby
|
42
|
-
require 'mysticonfig'
|
43
|
-
|
44
|
-
DEFAULT_CONFIG = {
|
45
|
-
'a' => 'A',
|
46
|
-
'b' => 'B',
|
47
|
-
'c' => 'C'
|
48
|
-
}
|
49
|
-
|
50
|
-
loader = Mysticonfig::Loader.new('appname', DEFAULT_CONFIG)
|
51
|
-
config = loader.load # Automatically detect and load config
|
52
|
-
json_config = loader.load_json # Only load config from JSON file
|
53
|
-
yaml_config = loader.load_yaml # Only load config from YAML file (.yaml or .yml)
|
54
|
-
```
|
55
|
-
|
56
|
-
## Documentation
|
57
|
-
|
58
|
-
See https://gluons.github.io/mysticonfig/
|
1
|
+
# mysticonfig
|
2
|
+
[](./LICENSE)
|
3
|
+
[](https://rubygems.org/gems/mysticonfig)
|
4
|
+
[](https://rubygems.org/gems/mysticonfig)
|
5
|
+
[](https://gemnasium.com/github.com/gluons/mysticonfig)
|
6
|
+
[](https://travis-ci.org/gluons/mysticonfig)
|
7
|
+
<br><br>
|
8
|
+
<p align="center">
|
9
|
+
<strong>🔮 The configuration loader for wizard.</strong>
|
10
|
+
</p>
|
11
|
+
<br>
|
12
|
+
|
13
|
+
A library to load `.appnamerc`, `.appnamerc.json` or `.appnamerc.yaml` config file easily.
|
14
|
+
|
15
|
+
`mysticonfig` will lookup for your config file.
|
16
|
+
It keeps traversing up until it **finds the config file** or **reaches your home directory**.
|
17
|
+
|
18
|
+
> Gem's name inspired by [cosmiconfig](https://github.com/davidtheclark/cosmiconfig)
|
19
|
+
|
20
|
+
## Installation
|
21
|
+
|
22
|
+
```bash
|
23
|
+
gem install mysticonfig
|
24
|
+
```
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
|
28
|
+
### Normal
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
require 'mysticonfig'
|
32
|
+
|
33
|
+
loader = Mysticonfig::Loader.new 'appname'
|
34
|
+
config = loader.load # Automatically detect and load config
|
35
|
+
json_config = loader.load_json # Only load config from JSON file
|
36
|
+
yaml_config = loader.load_yaml # Only load config from YAML file (.yaml or .yml)
|
37
|
+
```
|
38
|
+
|
39
|
+
### With default config fallback
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
require 'mysticonfig'
|
43
|
+
|
44
|
+
DEFAULT_CONFIG = {
|
45
|
+
'a' => 'A',
|
46
|
+
'b' => 'B',
|
47
|
+
'c' => 'C'
|
48
|
+
}
|
49
|
+
|
50
|
+
loader = Mysticonfig::Loader.new('appname', DEFAULT_CONFIG)
|
51
|
+
config = loader.load # Automatically detect and load config
|
52
|
+
json_config = loader.load_json # Only load config from JSON file
|
53
|
+
yaml_config = loader.load_yaml # Only load config from YAML file (.yaml or .yml)
|
54
|
+
```
|
55
|
+
|
56
|
+
## Documentation
|
57
|
+
|
58
|
+
See https://gluons.github.io/mysticonfig/
|
data/lib/mysticonfig/utils.rb
CHANGED
@@ -1,91 +1,91 @@
|
|
1
|
-
require 'json'
|
2
|
-
require 'yaml'
|
3
|
-
|
4
|
-
##
|
5
|
-
# Mystic Config
|
6
|
-
module Mysticonfig
|
7
|
-
##
|
8
|
-
# Utilities
|
9
|
-
module Utils
|
10
|
-
##
|
11
|
-
# Determine whether the given file is valid JSON file.
|
12
|
-
def self.json_file?(file)
|
13
|
-
return false if file.nil?
|
14
|
-
|
15
|
-
JSON.parse(File.read(file))
|
16
|
-
true
|
17
|
-
rescue
|
18
|
-
false
|
19
|
-
end
|
20
|
-
|
21
|
-
##
|
22
|
-
# Determine whether the given file is valid YAML file.
|
23
|
-
def self.yaml_file?(file)
|
24
|
-
return false if file.nil? || json_file?(file)
|
25
|
-
|
26
|
-
result = YAML.safe_load(File.read(file))
|
27
|
-
result.is_a?(Hash)
|
28
|
-
rescue
|
29
|
-
false
|
30
|
-
end
|
31
|
-
|
32
|
-
##
|
33
|
-
# Generate config filenames from given app name.
|
34
|
-
def self.generate_config_filenames(appname)
|
35
|
-
return nil if appname.nil?
|
36
|
-
|
37
|
-
{
|
38
|
-
plain: ".#{appname}rc",
|
39
|
-
json: ".#{appname}rc.json",
|
40
|
-
yaml: [".#{appname}rc.yaml", ".#{appname}rc.yml"]
|
41
|
-
}
|
42
|
-
end
|
43
|
-
|
44
|
-
##
|
45
|
-
# Load JSON config file.
|
46
|
-
def self.load_json(config_file)
|
47
|
-
return {} if config_file.nil? || !File.exist?(config_file)
|
48
|
-
|
49
|
-
JSON.parse(File.read(config_file))
|
50
|
-
end
|
51
|
-
|
52
|
-
##
|
53
|
-
# Load YAML config file.
|
54
|
-
def self.load_yaml(config_file)
|
55
|
-
return {} if config_file.nil? || !File.exist?(config_file)
|
56
|
-
|
57
|
-
YAML.safe_load(File.read(config_file))
|
58
|
-
end
|
59
|
-
|
60
|
-
##
|
61
|
-
# Load config file with automatic file type detection.
|
62
|
-
def self.load_auto(config_file)
|
63
|
-
return {} if config_file.nil? || !File.exist?(config_file)
|
64
|
-
|
65
|
-
if json_file?(config_file)
|
66
|
-
load_json(config_file)
|
67
|
-
elsif yaml_file?(config_file)
|
68
|
-
load_yaml(config_file)
|
69
|
-
else
|
70
|
-
{}
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
##
|
75
|
-
# Look up for an existent config file.
|
76
|
-
def self.lookup_file(config_file, dir = Dir.pwd)
|
77
|
-
dir = File.realpath dir
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
1
|
+
require 'json'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
##
|
5
|
+
# Mystic Config
|
6
|
+
module Mysticonfig
|
7
|
+
##
|
8
|
+
# Utilities
|
9
|
+
module Utils
|
10
|
+
##
|
11
|
+
# Determine whether the given file is valid JSON file.
|
12
|
+
def self.json_file?(file)
|
13
|
+
return false if file.nil?
|
14
|
+
|
15
|
+
JSON.parse(File.read(file))
|
16
|
+
true
|
17
|
+
rescue
|
18
|
+
false
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Determine whether the given file is valid YAML file.
|
23
|
+
def self.yaml_file?(file)
|
24
|
+
return false if file.nil? || json_file?(file)
|
25
|
+
|
26
|
+
result = YAML.safe_load(File.read(file))
|
27
|
+
result.is_a?(Hash)
|
28
|
+
rescue
|
29
|
+
false
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Generate config filenames from given app name.
|
34
|
+
def self.generate_config_filenames(appname)
|
35
|
+
return nil if appname.nil?
|
36
|
+
|
37
|
+
{
|
38
|
+
plain: ".#{appname}rc",
|
39
|
+
json: ".#{appname}rc.json",
|
40
|
+
yaml: [".#{appname}rc.yaml", ".#{appname}rc.yml"]
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Load JSON config file.
|
46
|
+
def self.load_json(config_file)
|
47
|
+
return {} if config_file.nil? || !File.exist?(config_file)
|
48
|
+
|
49
|
+
JSON.parse(File.read(config_file))
|
50
|
+
end
|
51
|
+
|
52
|
+
##
|
53
|
+
# Load YAML config file.
|
54
|
+
def self.load_yaml(config_file)
|
55
|
+
return {} if config_file.nil? || !File.exist?(config_file)
|
56
|
+
|
57
|
+
YAML.safe_load(File.read(config_file))
|
58
|
+
end
|
59
|
+
|
60
|
+
##
|
61
|
+
# Load config file with automatic file type detection.
|
62
|
+
def self.load_auto(config_file)
|
63
|
+
return {} if config_file.nil? || !File.exist?(config_file)
|
64
|
+
|
65
|
+
if json_file?(config_file)
|
66
|
+
load_json(config_file)
|
67
|
+
elsif yaml_file?(config_file)
|
68
|
+
load_yaml(config_file)
|
69
|
+
else
|
70
|
+
{}
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
##
|
75
|
+
# Look up for an existent config file.
|
76
|
+
def self.lookup_file(config_file, dir = Dir.pwd)
|
77
|
+
dir = File.realpath dir
|
78
|
+
|
79
|
+
# Stop on home directory or root directory.
|
80
|
+
home_path = File.expand_path '~'
|
81
|
+
while (dir != home_path) && (dir != '/')
|
82
|
+
current_filepath = File.expand_path(config_file, dir)
|
83
|
+
return current_filepath if File.exist?(current_filepath)
|
84
|
+
|
85
|
+
dir = File.realpath('..', dir) # Traverse up
|
86
|
+
end
|
87
|
+
|
88
|
+
nil
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
data/lib/mysticonfig/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Mysticonfig
|
2
|
-
module Mysticonfig
|
3
|
-
VERSION = '0.1.
|
4
|
-
end
|
1
|
+
# Mysticonfig
|
2
|
+
module Mysticonfig
|
3
|
+
VERSION = '0.1.1'.freeze
|
4
|
+
end
|
data/lib/mysticonfig.rb
CHANGED
@@ -1,75 +1,75 @@
|
|
1
|
-
require_relative 'mysticonfig/utils'
|
2
|
-
|
3
|
-
##
|
4
|
-
# Mystic Config
|
5
|
-
module Mysticonfig
|
6
|
-
##
|
7
|
-
# Configuration loader.
|
8
|
-
class Loader
|
9
|
-
def initialize(appname, default_config = {})
|
10
|
-
@filenames = Utils.generate_config_filenames appname
|
11
|
-
@default_config = default_config
|
12
|
-
end
|
13
|
-
|
14
|
-
##
|
15
|
-
# Find and load config file.
|
16
|
-
def load
|
17
|
-
config_file = find_file @filenames
|
18
|
-
|
19
|
-
config = Utils.load_auto config_file
|
20
|
-
config.empty? ? @default_config : @default_config.merge(config)
|
21
|
-
end
|
22
|
-
|
23
|
-
##
|
24
|
-
# Find and load JSON config file.
|
25
|
-
def load_json
|
26
|
-
json_config_file = Utils.lookup_file @filenames[:json]
|
27
|
-
|
28
|
-
config = Utils.load_json json_config_file
|
29
|
-
config.empty? ? @default_config : @default_config.merge(config)
|
30
|
-
end
|
31
|
-
|
32
|
-
##
|
33
|
-
# Find and load YAML config file.
|
34
|
-
def load_yaml
|
35
|
-
yaml_config_files = @filenames[:yaml]
|
36
|
-
yaml_config_file = nil
|
37
|
-
|
38
|
-
yaml_config_files.each do |file|
|
39
|
-
yaml_config_file = Utils.lookup_file file
|
40
|
-
unless yaml_config_file.nil?
|
41
|
-
config = Utils.load_yaml(yaml_config_file)
|
42
|
-
return config.empty? ? @default_config : @default_config.merge(config)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
@default_config # Return default config when can't load config file
|
47
|
-
end
|
48
|
-
|
49
|
-
private
|
50
|
-
|
51
|
-
# rubocop:disable Metrics/MethodLength
|
52
|
-
|
53
|
-
##
|
54
|
-
# Find an existent config file from all posible files.
|
55
|
-
def find_file(filenames)
|
56
|
-
return nil if filenames.nil?
|
57
|
-
|
58
|
-
filenames.each_value do |value|
|
59
|
-
if value.is_a? Array
|
60
|
-
value.each do |file|
|
61
|
-
file_path = Utils.lookup_file file
|
62
|
-
return file_path unless file_path.nil?
|
63
|
-
end
|
64
|
-
else
|
65
|
-
file_path = Utils.lookup_file value
|
66
|
-
return file_path unless file_path.nil?
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
nil
|
71
|
-
end
|
72
|
-
|
73
|
-
# rubocop:enable Metrics/MethodLength
|
74
|
-
end
|
75
|
-
end
|
1
|
+
require_relative 'mysticonfig/utils'
|
2
|
+
|
3
|
+
##
|
4
|
+
# Mystic Config
|
5
|
+
module Mysticonfig
|
6
|
+
##
|
7
|
+
# Configuration loader.
|
8
|
+
class Loader
|
9
|
+
def initialize(appname, default_config = {})
|
10
|
+
@filenames = Utils.generate_config_filenames appname
|
11
|
+
@default_config = default_config
|
12
|
+
end
|
13
|
+
|
14
|
+
##
|
15
|
+
# Find and load config file.
|
16
|
+
def load
|
17
|
+
config_file = find_file @filenames
|
18
|
+
|
19
|
+
config = Utils.load_auto config_file
|
20
|
+
config.empty? ? @default_config : @default_config.merge(config)
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Find and load JSON config file.
|
25
|
+
def load_json
|
26
|
+
json_config_file = Utils.lookup_file @filenames[:json]
|
27
|
+
|
28
|
+
config = Utils.load_json json_config_file
|
29
|
+
config.empty? ? @default_config : @default_config.merge(config)
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Find and load YAML config file.
|
34
|
+
def load_yaml
|
35
|
+
yaml_config_files = @filenames[:yaml]
|
36
|
+
yaml_config_file = nil
|
37
|
+
|
38
|
+
yaml_config_files.each do |file|
|
39
|
+
yaml_config_file = Utils.lookup_file file
|
40
|
+
unless yaml_config_file.nil?
|
41
|
+
config = Utils.load_yaml(yaml_config_file)
|
42
|
+
return config.empty? ? @default_config : @default_config.merge(config)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
@default_config # Return default config when can't load config file
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
# rubocop:disable Metrics/MethodLength
|
52
|
+
|
53
|
+
##
|
54
|
+
# Find an existent config file from all posible files.
|
55
|
+
def find_file(filenames)
|
56
|
+
return nil if filenames.nil?
|
57
|
+
|
58
|
+
filenames.each_value do |value|
|
59
|
+
if value.is_a? Array
|
60
|
+
value.each do |file|
|
61
|
+
file_path = Utils.lookup_file file
|
62
|
+
return file_path unless file_path.nil?
|
63
|
+
end
|
64
|
+
else
|
65
|
+
file_path = Utils.lookup_file value
|
66
|
+
return file_path unless file_path.nil?
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
nil
|
71
|
+
end
|
72
|
+
|
73
|
+
# rubocop:enable Metrics/MethodLength
|
74
|
+
end
|
75
|
+
end
|
data/mysticonfig.gemspec
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
lib = File.expand_path('./lib', File.dirname(__FILE__))
|
2
|
-
|
3
|
-
$LOAD_PATH.push lib unless $LOAD_PATH.include?(lib)
|
4
|
-
|
5
|
-
require 'mysticonfig/version'
|
6
|
-
|
7
|
-
DESCRIPTION = 'The configuration loader to load rc config file.'.freeze
|
8
|
-
|
9
|
-
Gem::Specification.new do |s|
|
10
|
-
s.name = 'mysticonfig'
|
11
|
-
s.version = Mysticonfig::VERSION
|
12
|
-
s.summary = 'The configuration loader for wizard.'
|
13
|
-
s.description = DESCRIPTION
|
14
|
-
s.files = ['mysticonfig.gemspec', 'LICENSE', 'Gemfile']
|
15
|
-
s.files += Dir['*.md', 'lib/**/*']
|
16
|
-
s.required_ruby_version = '>= 2.1.0'
|
17
|
-
s.author = 'Saran Tanpituckpong'
|
18
|
-
s.license = 'MIT'
|
19
|
-
s.homepage = 'https://github.com/gluons/mysticonfig'
|
20
|
-
s.metadata = {
|
21
|
-
'bug_tracker_uri' => 'https://github.com/gluons/mysticonfig/issues',
|
22
|
-
'homepage_uri' => 'https://gluons.github.io/mysticonfig/'
|
23
|
-
}
|
24
|
-
|
25
|
-
s.add_runtime_dependency 'json', '~> 2.1'
|
26
|
-
|
27
|
-
s.add_development_dependency 'rake', '~> 12.3'
|
28
|
-
s.add_development_dependency 'rspec', '~> 3.7'
|
29
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
30
|
-
end
|
1
|
+
lib = File.expand_path('./lib', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
$LOAD_PATH.push lib unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
require 'mysticonfig/version'
|
6
|
+
|
7
|
+
DESCRIPTION = 'The configuration loader to load rc config file.'.freeze
|
8
|
+
|
9
|
+
Gem::Specification.new do |s|
|
10
|
+
s.name = 'mysticonfig'
|
11
|
+
s.version = Mysticonfig::VERSION
|
12
|
+
s.summary = 'The configuration loader for wizard.'
|
13
|
+
s.description = DESCRIPTION
|
14
|
+
s.files = ['mysticonfig.gemspec', 'LICENSE', 'Gemfile']
|
15
|
+
s.files += Dir['*.md', 'lib/**/*']
|
16
|
+
s.required_ruby_version = '>= 2.1.0'
|
17
|
+
s.author = 'Saran Tanpituckpong'
|
18
|
+
s.license = 'MIT'
|
19
|
+
s.homepage = 'https://github.com/gluons/mysticonfig'
|
20
|
+
s.metadata = {
|
21
|
+
'bug_tracker_uri' => 'https://github.com/gluons/mysticonfig/issues',
|
22
|
+
'homepage_uri' => 'https://gluons.github.io/mysticonfig/'
|
23
|
+
}
|
24
|
+
|
25
|
+
s.add_runtime_dependency 'json', '~> 2.1'
|
26
|
+
|
27
|
+
s.add_development_dependency 'rake', '~> 12.3'
|
28
|
+
s.add_development_dependency 'rspec', '~> 3.7'
|
29
|
+
s.add_development_dependency 'rubocop', '~> 0.55.0'
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysticonfig
|
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
|
- Saran Tanpituckpong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.55.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.55.0
|
69
69
|
description: The configuration loader to load rc config file.
|
70
70
|
email:
|
71
71
|
executables: []
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
version: '0'
|
102
102
|
requirements: []
|
103
103
|
rubyforge_project:
|
104
|
-
rubygems_version: 2.7.
|
104
|
+
rubygems_version: 2.7.6
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: The configuration loader for wizard.
|