kscript 1.0.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c190f7d80e71baae5ec95db4f903cdc3ef98ea7403d5025eb9fcda0c4be18cc
4
- data.tar.gz: f3150fac2025ac947c4e24b0dda29dee0e08f8cf4b2528322a64cfd6296f8e4b
3
+ metadata.gz: a72c639d7028f3032a3ab8d6508308cd174a1174f698d5099f86356b1bef9f31
4
+ data.tar.gz: 898a2845e93a58bb1760a92850b091b84fcd374d92b138c13022e85dc6868877
5
5
  SHA512:
6
- metadata.gz: 2b522f1d8c390648132e3419e7ad186aa6acb4fdec572f37428f0697a076bde0f330bf0f035c08b833f60e5fbd31424b36bd2c3830973f72051b9aad9553e2b0
7
- data.tar.gz: c3428e2286edec3f3a5a75208c37803660fb7a0f47047e5c6e122d7f4c547dfc64a046cada3ad8a1aafbfaeccb6374bdcd3bfbf2e749bf7ffe453396f59be645
6
+ metadata.gz: 869a3dfa24680f0c6e95cbdb82f0d8e6f981f5868d5f5c30b0183b7d2490b64ee2ce670e08190f095eea1291f26c31293e215759ee9545eab2a1d602b36a9bba
7
+ data.tar.gz: 5d24ef70c21851e42b337fd8e0222d50bb9f0def1e61a0121e2edaac8eb5fd16d4233adb8560e428eada8ee5e312a2c717f5ce30826c93891988861a38ee6260
data/Rakefile CHANGED
@@ -33,3 +33,10 @@ task :dev do
33
33
  kscript version
34
34
  SHELL
35
35
  end
36
+
37
+ task :install do
38
+ sh <<-SHELL
39
+ gem uninstall kscript -aIx
40
+ gem install kscript
41
+ SHELL
42
+ end
data/kscript.gemspec CHANGED
@@ -27,7 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ['lib']
28
28
 
29
29
  # Runtime dependencies
30
+ spec.add_dependency 'bcrypt', '>= 3.1', '< 4.0'
30
31
  spec.add_dependency 'http', '>= 4.0', '< 6.0'
32
+ spec.add_dependency 'nokogiri', '>= 1.13', '< 2.0'
31
33
  spec.add_dependency 'thor', '1.3.2'
32
34
 
33
35
  # Development dependencies
@@ -35,11 +37,4 @@ Gem::Specification.new do |spec|
35
37
  spec.metadata['rubygems_mfa_required'] = 'true'
36
38
 
37
39
  # spec.extensions = ['ext/install.rb'] # 已移除,防止 native extension build 错误
38
-
39
- spec.post_install_message = <<~MSG
40
- [kscript] Shell completion is available!
41
- To enable shell completion for your shell, please run:
42
- ruby ext/install.rb
43
- Or see README for more details.
44
- MSG
45
40
  end
data/lib/kscript/base.rb CHANGED
@@ -7,11 +7,9 @@ module Kscript
7
7
  class Base
8
8
  attr_reader :logger
9
9
 
10
- def initialize(service: nil, log_level: nil, trace_id: nil)
10
+ def initialize(service: nil, log_level: nil)
11
11
  config = defined?(Kscript::Utils::Config) ? Kscript::Utils::Config.load : nil
12
12
  log_level ||= config&.log_level || ENV['KSCRIPT_LOG_LEVEL'] || :info
13
- trace_id ||= config&.trace_id || ENV['KSCRIPT_TRACE_ID']
14
- @trace_id = trace_id
15
13
  @logger = Kscript::Logger.new(service: service || self.class.name, level: log_level)
16
14
  @logger.set_human_output(human_output?)
17
15
  end
@@ -24,12 +22,6 @@ module Kscript
24
22
  exit(1)
25
23
  end
26
24
 
27
- # 提供 trace_id 给 logger
28
- def logger
29
- @logger.define_singleton_method(:default_trace_id) { @trace_id } if @trace_id
30
- @logger
31
- end
32
-
33
25
  # 自动注册所有 Kscript::Base 的子类为插件
34
26
  def self.inherited(subclass)
35
27
  name = subclass.name.split('::').last
@@ -45,14 +45,12 @@ module Kscript
45
45
  end
46
46
 
47
47
  def log(level, message, context = {})
48
- trace_id = context[:trace_id] || (respond_to?(:default_trace_id) ? default_trace_id : nil) || SecureRandom.hex(8)
49
48
  entry = {
50
49
  timestamp: Time.now.utc.iso8601,
51
50
  level: level.to_s.upcase,
52
51
  service: @service,
53
52
  message: message,
54
- trace_id: trace_id,
55
- context: context.reject { |k, _| k == :trace_id }
53
+ context: context
56
54
  }
57
55
  @logger.send(level, entry.to_json)
58
56
  end
@@ -67,7 +65,7 @@ module Kscript
67
65
  svc = @service || 'kscript'
68
66
  trace = context[:trace_id] || (respond_to?(:default_trace_id) ? default_trace_id : nil) || '-'
69
67
  color = COLORS[level] || COLORS[:info]
70
- ctx_str = context.reject { |k, _| k == :trace_id }.map { |k, v| "#{k}=#{v}" }.join(' ')
68
+ ctx_str = context.map { |k, v| "#{k}=#{v}" }.join(' ')
71
69
  line = "[#{ts}] [#{lvl}] [#{svc}] [#{trace}] #{message}"
72
70
  line += " | #{ctx_str}" unless ctx_str.empty?
73
71
  $stdout.puts "#{color}#{line}#{COLORS[:reset]}"
data/lib/kscript/utils.rb CHANGED
@@ -24,10 +24,6 @@ module Kscript
24
24
  self['log_level']
25
25
  end
26
26
 
27
- def trace_id
28
- self['trace_id']
29
- end
30
-
31
27
  # 自动检测并安装 shell 补全脚本
32
28
  def self.ensure_completion_installed(shell = nil)
33
29
  shell ||= ENV['SHELL']
@@ -6,5 +6,5 @@
6
6
  # https://opensource.org/licenses/MIT
7
7
 
8
8
  module Kscript
9
- VERSION = '1.0.0'
9
+ VERSION = '1.0.1'
10
10
  end
data/lib/kscript.rb CHANGED
@@ -5,9 +5,26 @@
5
5
  # This software is released under the MIT License.
6
6
  # https://opensource.org/licenses/MIT
7
7
 
8
+ # Ruby 标准库
8
9
  require 'json'
9
10
  require 'logger'
10
11
  require 'securerandom'
12
+ require 'yaml'
13
+ require 'fileutils'
14
+ require 'base64'
15
+ require 'rexml/document'
16
+ require 'net/http'
17
+ require 'timeout'
18
+ require 'socket'
19
+ require 'open3'
20
+ require 'openssl'
21
+
22
+ # 第三方 gem
23
+ require 'http'
24
+ require 'bcrypt'
25
+ require 'nokogiri'
26
+ require 'thor'
27
+
11
28
  require 'kscript/plugins'
12
29
  require 'kscript/base'
13
30
  require 'kscript/logger'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kk
@@ -10,6 +10,26 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2025-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bcrypt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: http
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -30,6 +50,26 @@ dependencies:
30
50
  - - "<"
31
51
  - !ruby/object:Gem::Version
32
52
  version: '6.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: nokogiri
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '1.13'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '2.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '1.13'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '2.0'
33
73
  - !ruby/object:Gem::Dependency
34
74
  name: thor
35
75
  requirement: !ruby/object:Gem::Requirement
@@ -104,11 +144,7 @@ licenses:
104
144
  - MIT
105
145
  metadata:
106
146
  rubygems_mfa_required: 'true'
107
- post_install_message: |
108
- [kscript] Shell completion is available!
109
- To enable shell completion for your shell, please run:
110
- ruby ext/install.rb
111
- Or see README for more details.
147
+ post_install_message:
112
148
  rdoc_options: []
113
149
  require_paths:
114
150
  - lib