ykxutils 0.1.7 → 0.1.11

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +106 -55
  4. data/Gemfile +11 -7
  5. data/Gemfile.lock +55 -35
  6. data/Rakefile +25 -8
  7. data/SECURITY.md +21 -0
  8. data/a.northern-cross.net.conf +86 -0
  9. data/lib/ykxutils/erubyx.rb +50 -0
  10. data/lib/ykxutils/gridlist.rb +46 -0
  11. data/lib/ykxutils/nginxconfig.rb +40 -0
  12. data/lib/ykxutils/nginxconfigfiles.rb +32 -0
  13. data/lib/ykxutils/pstorex.rb +1 -1
  14. data/lib/ykxutils/version.rb +1 -1
  15. data/lib/ykxutils/yamlx.rb +31 -48
  16. data/lib/ykxutils.rb +5 -0
  17. data/test_data/4servers.erb +7 -0
  18. data/test_data/v103-3-189-127/4servers.erb +0 -0
  19. data/test_data/v103-3-189-127/a.northern-cross.net/base.yml +28 -0
  20. data/test_data/v103-3-189-127/a.northern-cross.net/value_host.yml +1 -0
  21. data/test_data/v103-3-189-127/b.northern-cross.net/base.yml +28 -0
  22. data/test_data/v103-3-189-127/b.northern-cross.net/value_host.yml +1 -0
  23. data/test_data/v103-3-189-127/c.northern-cross.net/base.yml +28 -0
  24. data/test_data/v103-3-189-127/c.northern-cross.net/value_host.yml +1 -0
  25. data/test_data/v103-3-189-127/d.northern-cross.info/base.yml +28 -0
  26. data/test_data/v103-3-189-127/d.northern-cross.info/value_host.yml +1 -0
  27. data/test_data/v103-3-189-127/d.northern-cross.net/base.yml +28 -0
  28. data/test_data/v103-3-189-127/d.northern-cross.net/value_host.yml +1 -0
  29. data/test_data/v103-3-189-127/e.northern-cross.info/base.yml +28 -0
  30. data/test_data/v103-3-189-127/e.northern-cross.info/value_host.yml +1 -0
  31. data/test_data/v103-3-189-127/e.northern-cross.net/base.yml +28 -0
  32. data/test_data/v103-3-189-127/e.northern-cross.net/value_host.yml +1 -0
  33. data/test_data/v103-3-189-127/f.northern-cross.info/base.yml +28 -0
  34. data/test_data/v103-3-189-127/f.northern-cross.info/value_host.yml +1 -0
  35. data/test_data/v103-3-189-127/f.northern-cross.net/base.yml +28 -0
  36. data/test_data/v103-3-189-127/f.northern-cross.net/value_host.yml +1 -0
  37. data/test_data/v103-3-189-127/t_server_1.erb +7 -0
  38. data/test_data/v103-3-189-127/template.erb +21 -0
  39. data/test_data/v103-3-189-127/template_ssl.erb +22 -0
  40. data/test_data/v103-3-189-127/template_ssl_www.erb +12 -0
  41. data/test_data/v103-3-189-127/template_www.erb +24 -0
  42. data/test_data/v103-3-189-127/value.yml +3 -0
  43. data/test_data/v103-3-189-127/value_ssl.yml +5 -0
  44. data/ykxutils.gemspec +25 -18
  45. metadata +88 -17
  46. data/.github/workflows/main.yml +0 -16
  47. data/.gitignore +0 -14
  48. data/bin/console +0 -15
  49. data/bin/setup +0 -8
@@ -0,0 +1,32 @@
1
+ require "find"
2
+ require_relative "nginxconfig"
3
+
4
+ module Ykxutils
5
+ class Nginxconfigfiles
6
+ def get_file_list(start_dir, rex)
7
+ @file_list = []
8
+
9
+ Find.find(start_dir) do |x|
10
+ if x =~ rex
11
+ @file_list << x
12
+ Find.prune
13
+ end
14
+ end
15
+ @file_list
16
+ end
17
+
18
+ def output(file_list)
19
+ file_list.map do |fname|
20
+ parent_dir_pn = Pathname.new(fname).cleanpath.parent
21
+ vdomain = parent_dir_pn.basename
22
+ output_fname = "#{vdomain}.conf"
23
+ cli = ::Ykxutils::Nginxconfig.new(fname)
24
+ scope = nil
25
+ File.open(output_fname, "w") do |f|
26
+ x = cli.extract(scope)
27
+ f.write(x)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -3,7 +3,7 @@ require "fileutils"
3
3
 
4
4
  module Ykxutils
5
5
  class Pstorex
6
- def initialize(store_dir, dump_file="pstore.dump")
6
+ def initialize(store_dir, dump_file = "pstore.dump")
7
7
  FileUtils.mkdir_p(store_dir)
8
8
  @store_db = PStore.new(Pathname.new(store_dir).join(dump_file))
9
9
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ykxutils
4
- VERSION = "0.1.7"
4
+ VERSION = "0.1.11"
5
5
  end
@@ -1,68 +1,51 @@
1
1
  require "yaml"
2
2
 
3
3
  module Ykxutils
4
+ SUCCESS = 0
5
+ ARGUMENT_ERROR = 1
6
+ STANDARD_ERROR = 2
7
+
4
8
  module_function
5
9
 
6
- def yaml_load_file_compati(yaml_file_path)
7
- setting = {}
8
- valid = false
10
+ def yaml_load_file_aliases(yaml_file_path, use_aliases: true)
11
+ converted = nil
9
12
  begin
10
- setting = YAML.load_file(yaml_file_path, aliases: true)
11
- valid = true
13
+ converted = use_aliases ? YAML.load_file(yaml_file_path, aliases: true) : YAML.load_file(yaml_file_path)
14
+ value = SUCCESS
12
15
  rescue ArgumentError
13
- # p "yaml_load_file_compat 1"
14
- # p ex.class
15
- # p ex.inspect
16
- # p ex.message
17
- # p ex.backtrace
18
- # exit#
16
+ # puts e.message
17
+ value = ARGUMENT_ERROR
19
18
  rescue StandardError
20
- # p "yaml_load_file_compat 1-2"
21
- # p ex.class
22
- # p ex.inspect
23
- # p ex.message
24
- # p ex.backtrace
19
+ # puts e.message8
20
+ value = STANDARD_ERROR
25
21
  end
22
+ [converted, value]
23
+ end
26
24
 
27
- if valid != true
28
- begin
29
- setting = YAML.load_file(yaml_file_path)
30
- # valid = true
31
- rescue ArgumentError
32
- # p "yaml_load_file_compat 2"
33
- # p ex.class
34
- # p ex.inspect
35
- # p ex.message
36
- # p ex.backtrace
37
- #
38
- rescue StandardError
39
- # p "yaml_load_file_compat 2-2"
40
- # p ex.class
41
- # p ex.inspect
42
- # p ex.message
43
- # p ex.backtrace
44
- end
45
- end
25
+ def yaml_load_file_compati(yaml_file_path)
26
+ setting = yaml_load_file_aliases(yaml_file_path, use_aliases: true)
27
+ setting = yaml_load_file_aliases(yaml_file_path, use_aliases: false) if setting.nil?
46
28
  setting
47
29
  end
48
30
 
49
- def yaml_load_compati(content)
50
- setting = {}
51
- valid = false
31
+ def yaml_load_aliases(content, use_aliases: true)
32
+ converted = nil
52
33
  begin
53
- setting = YAML.load(content, aliases: true)
54
- valid = true
34
+ converted = use_aliases ? YAML.safe_load(content, use_aliases) : YAML.safe_load(content)
35
+ result = SUCCESS
55
36
  rescue ArgumentError
37
+ # puts e.message
38
+ result = ARGUMENT_ERROR
56
39
  rescue StandardError
40
+ # puts e.message
41
+ result = STANDARD_ERROR
57
42
  end
43
+ [converted, result]
44
+ end
58
45
 
59
- if valid != true
60
- begin
61
- setting = YAML.load(content)
62
- rescue ArgumentError
63
- rescue StandardError
64
- end
65
- end
66
- setting
46
+ def yaml_load_compati(content)
47
+ ret_array = yaml_load_aliases(content, use_aliases: true)
48
+ ret_array = yaml_load_aliases(content, use_aliases: false) if ret_array[1] != 0
49
+ ret_array[0]
67
50
  end
68
51
  end
data/lib/ykxutils.rb CHANGED
@@ -2,10 +2,15 @@
2
2
 
3
3
  require_relative "ykxutils/version"
4
4
  require_relative "ykxutils/yamlx"
5
+ require_relative "ykxutils/erubyx"
5
6
  require_relative "ykxutils/pstorex"
6
7
  require_relative "ykxutils/gitcmd"
8
+ require_relative "ykxutils/nginxconfig"
9
+ require_relative "ykxutils/nginxconfigfiles"
10
+ require_relative "ykxutils/gridlist"
7
11
 
8
12
  module Ykxutils
9
13
  class Error < StandardError; end
14
+
10
15
  # Your code goes here...
11
16
  end
@@ -0,0 +1,7 @@
1
+ <%= server1 %>
2
+
3
+ <%= server2 %>
4
+
5
+ <%= server3 %>
6
+
7
+ <%= server4 %>
File without changes
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: a.northern-cross.net
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: b.northern-cross.net
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: c.northern-cross.net
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: d.northern-cross.info
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: d.northern-cross.net
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: e.northern-cross.info
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: e.northern-cross.net
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: f.northern-cross.info
@@ -0,0 +1,28 @@
1
+ _root:
2
+ template: 4servers.erb
3
+ server1:
4
+ protocol: ssl
5
+ template: template_ssl.erb
6
+ value:
7
+ - value_host.yml
8
+ - ../value_ssl.yml
9
+ server2:
10
+ protocol: ssl
11
+ domain: www
12
+ template: template_ssl_www.erb
13
+ value:
14
+ - value_host.yml
15
+ - ../value_ssl.yml
16
+ server3:
17
+ protocol:
18
+ template: template.erb
19
+ value:
20
+ - value_host.yml
21
+ - ../value.yml
22
+ server4:
23
+ protocol:
24
+ domain: www
25
+ template: template_www.erb
26
+ value:
27
+ - value_host.yml
28
+ - ../value.yml
@@ -0,0 +1 @@
1
+ host: f.northern-cross.net
@@ -0,0 +1,7 @@
1
+ <%= server_ssl %>
2
+
3
+ <%= server_ssl_www %>
4
+
5
+ <%= server %>
6
+
7
+ <%= server_www %>
@@ -0,0 +1,21 @@
1
+ server {
2
+ if ($host = <%= host %>) {
3
+ return 301 https://$host$request_uri;
4
+ }
5
+
6
+ listen 80;
7
+ server_name <%= host %>;
8
+
9
+ error_log /var/www/vhosts/<%= host %>/statistics/logs/<%= error_log %>;
10
+ access_log /var/www/vhosts/<%= host %>/statistics/logs/<%= access_log %>;
11
+
12
+ root /var/www/vhosts/<%= host %>/httpdocs;
13
+ location / {
14
+ index index.html;
15
+ }
16
+ error_page 500 502 503 504 /50x.html;
17
+ location = /50x.html {
18
+ root /usr/share/nginx/html/;
19
+ index 50x.html;
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ server {
2
+ listen <%= ssl_port %>;
3
+ ssl_certificate <%= ssl_certificate %>;
4
+ ssl_certificate_key <%= ssl_certificate_key %>;
5
+ server_name <%= host %>;
6
+
7
+ error_log /var/www/vhosts/<%= host %>/statistics/logs/<%= error_log %>;
8
+ access_log /var/www/vhosts/<%= host %>/statistics/logs/<%= access_log %>;
9
+
10
+ # rewrite_log on;
11
+
12
+ root /var/www/vhosts/<%= host %>/httpdocs;
13
+ location / {
14
+ index index.html;
15
+ }
16
+ error_page 500 502 503 504 /50x.html;
17
+ #error_page 500 /50x.html;
18
+ location = /50x.html {
19
+ root /usr/share/nginx/html/;
20
+ index 50x.html;
21
+ }
22
+ }
@@ -0,0 +1,12 @@
1
+ server {
2
+ listen <%= ssl_port %>;
3
+ server_name www.<%= host %>;
4
+ #
5
+ return 301 https://<%= host %>;
6
+
7
+ ssl_certificate <%= ssl_certificate %>;
8
+ ssl_certificate_key <%= ssl_certificate_key %>;
9
+ include /etc/letsencrypt/options-ssl-nginx.conf;
10
+ ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
11
+
12
+ }
@@ -0,0 +1,24 @@
1
+ server {
2
+ if ($host = northern-cross.net) {
3
+ return 301 https://$host$request_uri;
4
+ }
5
+
6
+
7
+ listen <%= port %>;
8
+ server_name <%= host %>;
9
+
10
+ error_log /var/www/vhosts/<%= host %>/statistics/logs/<%= error_log %>;
11
+ access_log /var/www/vhosts/<%= host %>/statistics/logs/<%= access_log %>;
12
+
13
+ rewrite_log on;
14
+
15
+ root /var/www/vhosts/<%= host %>/httpdocs;
16
+ location / {
17
+ index index.html;
18
+ }
19
+ error_page 500 502 503 504 /50x.html;
20
+ location = /50x.html {
21
+ root /usr/share/nginx/html/;
22
+ index 50x.html;
23
+ }
24
+ }
@@ -0,0 +1,3 @@
1
+ error_log: error_log
2
+ access_log: access_log
3
+ port: 80
@@ -0,0 +1,5 @@
1
+ error_log: ssl_error_log
2
+ access_log: ssl_access_log
3
+ ssl_port: 443 ssl
4
+ ssl_certificate: /etc/letsencrypt/live/v103-3-189-127.myvps.jp/fullchain.pem
5
+ ssl_certificate_key: /etc/letsencrypt/live/v103-3-189-127.myvps.jp/privkey.pem
data/ykxutils.gemspec CHANGED
@@ -3,18 +3,18 @@
3
3
  require_relative "lib/ykxutils/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "ykxutils"
7
- spec.version = Ykxutils::VERSION
8
- spec.authors = ["ykominami"]
9
- spec.email = ["ykominami@gmail.com"]
6
+ spec.name = "ykxutils"
7
+ spec.version = Ykxutils::VERSION
8
+ spec.authors = ["ykominami"]
9
+ spec.email = ["ykominami@gmail.com"]
10
10
 
11
- spec.summary = "New version of utilty function created by yk."
12
- spec.description = "New version of utilty function created by yk."
13
- spec.homepage = "https://ykominami.github.io/ykxutils"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.6")
11
+ spec.summary = "New version of utilty function created by yk."
12
+ spec.description = "New version of utilty function created by yk."
13
+ spec.homepage = "https://ykominami.github.io/ykxutils"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 2.7"
16
16
 
17
- # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
17
+ # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
18
18
 
19
19
  spec.metadata["homepage_uri"] = spec.homepage
20
20
  spec.metadata["source_code_uri"] = "https://github.com/ykominami/ykxutils"
@@ -23,25 +23,32 @@ Gem::Specification.new do |spec|
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
25
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
+ end
27
29
  end
28
- spec.bindir = "exe"
29
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
32
  spec.require_paths = ["lib"]
31
33
 
32
- spec.add_development_dependency "bundler"
33
- spec.add_development_dependency "rake", "~> 13.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
34
+ spec.add_runtime_dependency "bundler"
35
+ # spec.add_runtime_dependency 'debug'
36
+ spec.add_runtime_dependency "erubi"
37
+ spec.add_runtime_dependency "rake", "~> 13.0"
38
+ spec.add_runtime_dependency "tilt"
35
39
 
36
- spec.add_development_dependency "rubocop", "~> 1.7"
40
+ spec.add_development_dependency "rspec", "~> 3.0"
41
+ spec.add_development_dependency "rubocop"
42
+ spec.add_development_dependency "rubocop-performance"
37
43
  spec.add_development_dependency "rubocop-rake"
38
44
  spec.add_development_dependency "rubocop-rspec"
39
45
 
40
46
  spec.add_development_dependency "yard"
47
+
41
48
  # Uncomment to register a new dependency of your gem
42
49
  # spec.add_dependency "example-gem", "~> 1.0"
43
50
 
44
- # For more information and examples about making a new gem, checkout our
51
+ # For more information and examples about making a new gem, check out our
45
52
  # guide at: https://bundler.io/guides/creating_gem.html
46
53
  spec.metadata["rubygems_mfa_required"] = "true"
47
54
  end