k_manager 0.0.24 → 0.0.28
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -1
- data/exe/k_manager +1 -0
- data/hooks/update-version +1 -1
- data/k_manager.gemspec +2 -0
- data/lib/k_manager/area.rb +1 -1
- data/lib/k_manager/cli/new.rb +74 -21
- data/lib/k_manager/cli/watch.rb +20 -4
- data/lib/k_manager/manager.rb +32 -2
- data/lib/k_manager/overview/dashboard.rb +10 -1
- data/lib/k_manager/resources/base_resource.rb +2 -1
- data/lib/k_manager/resources/resource_document_factory.rb +2 -0
- data/lib/k_manager/version.rb +1 -1
- data/lib/k_manager/watcher.rb +35 -11
- data/lib/k_manager.rb +12 -9
- data/tasks/watch.rake +0 -91
- metadata +30 -3
- data/lib/k_manager/configuration/project_config.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10d0353e9cdde7cbec88c6b6a7dd47135da7fa026bf90ec9b6e5017c75ac2a0b
|
4
|
+
data.tar.gz: a77c72d2aa9888f29f3b3b835919828cbf6480e349cecb723e6862d81478f540
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eda368dd81ee863ad42831c6527f27b56a60d78d2e2417d377d8425fc6bcf823efe3998a61c5c358ff0329ba2251530b16e94e51acf44c2d463e0dc24874d921
|
7
|
+
data.tar.gz: 6aa66dabe51fcecf3d76dd65f202e5b21b7023133ca1892d1d743ed7059f0b7d3e2a00a354ea3b6d780ec59a77131d50b784aaf786e0937f20a8f71a419d24ea
|
data/Gemfile
CHANGED
@@ -31,14 +31,18 @@ if ENV['KLUE_LOCAL_GEMS']&.to_s&.downcase == 'true'
|
|
31
31
|
gem 'handlebars-helpers' , path: '../handlebars-helpers'
|
32
32
|
gem 'k_builder' , path: '../k_builder'
|
33
33
|
gem 'k_builder-dotnet' , path: '../k_builder-dotnet'
|
34
|
-
gem 'k_builder-package_json' , path: '../k_builder-package_json'
|
34
|
+
# gem 'k_builder-package_json' , path: '../k_builder-package_json'
|
35
35
|
gem 'k_builder-webpack5' , path: '../k_builder-webpack5'
|
36
|
+
gem 'k_config' , path: '../k_config'
|
36
37
|
gem 'k_decor' , path: '../k_decor'
|
38
|
+
gem 'k_director' , path: '../k_director'
|
37
39
|
gem 'k_doc' , path: '../k_doc'
|
38
40
|
gem 'k_domain' , path: '../k_domain'
|
41
|
+
gem 'k_ext-github' , path: '../k_ext-github'
|
39
42
|
gem 'k_fileset' , path: '../k_fileset'
|
40
43
|
gem 'k_log' , path: '../k_log'
|
41
44
|
gem 'k_type' , path: '../k_type'
|
42
45
|
gem 'k_util' , path: '../k_util'
|
46
|
+
gem 'peeky' , path: '../peeky'
|
43
47
|
end
|
44
48
|
end
|
data/exe/k_manager
CHANGED
data/hooks/update-version
CHANGED
data/k_manager.gemspec
CHANGED
@@ -41,7 +41,9 @@ Gem::Specification.new do |spec|
|
|
41
41
|
spec.add_dependency 'dry-struct', '~> 1'
|
42
42
|
spec.add_dependency 'filewatcher', '~> 2.0.0.beta5'
|
43
43
|
spec.add_dependency 'k_builder', '~> 0.0.0'
|
44
|
+
spec.add_dependency 'k_director', '~> 0.1'
|
44
45
|
spec.add_dependency 'k_doc', '~> 0.0.0'
|
46
|
+
spec.add_dependency 'k_domain', '~> 0.0.0'
|
45
47
|
spec.add_dependency 'k_ext-github', '~> 0.0.0'
|
46
48
|
spec.add_dependency 'k_fileset', '~> 0.0.0'
|
47
49
|
spec.add_dependency 'k_log', '~> 0.0.0'
|
data/lib/k_manager/area.rb
CHANGED
data/lib/k_manager/cli/new.rb
CHANGED
@@ -14,46 +14,95 @@ module KManager
|
|
14
14
|
default: '.builders',
|
15
15
|
desc: 'The builder folder, defaults to (.builders)'
|
16
16
|
|
17
|
-
option :boot_file,
|
18
|
-
default: 'boot.rb',
|
19
|
-
aliases: ['-b'],
|
20
|
-
desc: 'The name of the boot file to create'
|
21
|
-
|
22
17
|
option :force,
|
23
18
|
default: false,
|
24
19
|
aliases: ['-f'],
|
25
20
|
desc: 'Force even if guard fails'
|
26
21
|
|
22
|
+
option :template,
|
23
|
+
default: false,
|
24
|
+
aliases: ['-t'],
|
25
|
+
desc: 'Starter template'
|
26
|
+
|
27
|
+
option :log_level,
|
28
|
+
default: nil,
|
29
|
+
desc: 'Log level, use debug for more info'
|
30
|
+
|
27
31
|
example [
|
28
32
|
' # Project in current directory - will create a .builders folder and boot file at ./builders/boot.rb',
|
29
33
|
'-b ../config/boot.rb # Project in current directory - will create a .builders folder and boot file at ./config/boot.rb',
|
34
|
+
'-t ruby_gem # Use starter template `ruby_gem` to setup the files in .builders/*',
|
30
35
|
'my_project # will watch .xmen folder'
|
31
36
|
]
|
32
37
|
|
33
38
|
# rubocop:disable Metrics/ParameterLists
|
34
|
-
def call(project_folder:, builder_folder:,
|
35
|
-
project_folder
|
36
|
-
name
|
37
|
-
builder_folder
|
38
|
-
|
39
|
+
def call(project_folder:, builder_folder:, log_level:, force:, template:, **)
|
40
|
+
project_folder = absolute_path(project_folder, Dir.pwd)
|
41
|
+
name = File.basename(project_folder)
|
42
|
+
builder_folder = absolute_path(builder_folder, project_folder)
|
43
|
+
template_root_folder = File.expand_path('~/dev/kgems/k_templates/definitions/starter')
|
39
44
|
|
40
|
-
log_params(name, project_folder, builder_folder,
|
45
|
+
log_params(name, project_folder, builder_folder, force, log_level, template_root_folder, template) if log_level == 'debug'
|
41
46
|
|
42
|
-
create_project(project_folder, builder_folder,
|
47
|
+
create_project(name, project_folder, builder_folder, template_root_folder, template) if can_create?(force, builder_folder)
|
43
48
|
end
|
44
49
|
# rubocop:enable Metrics/ParameterLists
|
45
50
|
|
46
51
|
private
|
47
52
|
|
48
|
-
def create_project(project_folder, builder_folder,
|
53
|
+
def create_project(name, project_folder, builder_folder, template_root_folder, template)
|
49
54
|
FileUtils.mkdir_p(project_folder)
|
50
55
|
FileUtils.mkdir_p(builder_folder)
|
51
|
-
|
52
|
-
#
|
56
|
+
|
57
|
+
# handle_main_start_command
|
58
|
+
|
59
|
+
setup_builder_from_template(name, builder_folder, template_root_folder, 'default') unless setup_builder_from_template(name, builder_folder, template_root_folder, template)
|
53
60
|
|
54
61
|
log.info 'Project created'
|
55
62
|
end
|
56
63
|
|
64
|
+
def setup_builder_from_template(name, builder_folder, template_root_folder, template = nil)
|
65
|
+
return false unless template
|
66
|
+
|
67
|
+
# /Users/davidcruwys/dev/kgems/k_templates/definitions/starter/ruby_gem/.starter.json
|
68
|
+
template_folder = File.join(template_root_folder, template)
|
69
|
+
starter_config = template_starter_config(template_folder)
|
70
|
+
|
71
|
+
return false unless starter_config
|
72
|
+
|
73
|
+
builder = get_builder(builder_folder, template_folder)
|
74
|
+
|
75
|
+
return false if starter_config['files'].nil? || starter_config['files'].empty?
|
76
|
+
|
77
|
+
starter_config['files']&.each do |relative_file|
|
78
|
+
builder.add_file(relative_file, template_file: relative_file, name: name)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def template_starter_config(template_folder)
|
83
|
+
starter_file = File.join(template_folder, '.starter.json')
|
84
|
+
|
85
|
+
return nil unless File.exist?(starter_file)
|
86
|
+
|
87
|
+
JSON.parse(File.read(starter_file))
|
88
|
+
end
|
89
|
+
|
90
|
+
# rubocop:disable Metrics/AbcSize
|
91
|
+
def get_builder(builder_folder, template_folder)
|
92
|
+
Handlebars::Helpers.configure do |config|
|
93
|
+
config.helper_config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_helpers.json')
|
94
|
+
config.string_formatter_config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_string_formatters.json')
|
95
|
+
end
|
96
|
+
|
97
|
+
KConfig.configure(:starter_template) do |config|
|
98
|
+
config.target_folders.add(:builder , builder_folder)
|
99
|
+
config.template_folders.add(:template , template_folder)
|
100
|
+
end
|
101
|
+
|
102
|
+
KBuilder::BaseBuilder.init(KConfig.configuration(:starter_template))
|
103
|
+
end
|
104
|
+
# rubocop:enable Metrics/AbcSize
|
105
|
+
|
57
106
|
def can_create?(force, builder_folder)
|
58
107
|
return true if force
|
59
108
|
return true unless File.directory?(builder_folder)
|
@@ -63,14 +112,18 @@ module KManager
|
|
63
112
|
false
|
64
113
|
end
|
65
114
|
|
66
|
-
|
115
|
+
# rubocop:disable Metrics/ParameterLists
|
116
|
+
def log_params(name, project_folder, builder_folder, force, log_level, template_root_folder, template)
|
67
117
|
log.section_heading('Create new project')
|
68
|
-
log.kv 'name'
|
69
|
-
log.kv 'project_folder'
|
70
|
-
log.kv 'builder_folder'
|
71
|
-
log.kv '
|
72
|
-
log.kv '
|
118
|
+
log.kv 'name' , name
|
119
|
+
log.kv 'project_folder' , project_folder
|
120
|
+
log.kv 'builder_folder' , builder_folder
|
121
|
+
log.kv 'force' , force
|
122
|
+
log.kv 'log_level' , log_level
|
123
|
+
log.kv 'template_root_folder' , template_root_folder
|
124
|
+
log.kv 'template' , template
|
73
125
|
end
|
126
|
+
# rubocop:enable Metrics/ParameterLists
|
74
127
|
end
|
75
128
|
end
|
76
129
|
end
|
data/lib/k_manager/cli/watch.rb
CHANGED
@@ -27,16 +27,32 @@ module KManager
|
|
27
27
|
|
28
28
|
log_params(builder_folder, boot_file) if log_level == 'debug'
|
29
29
|
|
30
|
-
#
|
31
|
-
#
|
30
|
+
# If you do a System Exit (control+c) you can go into a reboot sequence based on options
|
31
|
+
# if the option is not set then system will exit gracefully
|
32
|
+
while keep_watching(builder_folder, boot_file); end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
32
36
|
|
37
|
+
# rubocop:disable Metrics/AbcSize
|
38
|
+
def keep_watching(builder_folder, boot_file)
|
33
39
|
Dir.chdir(builder_folder) do
|
34
40
|
watcher = KManager::Watcher.new(builder_folder, boot_file)
|
35
41
|
watcher.start
|
36
42
|
end
|
37
|
-
|
43
|
+
false
|
44
|
+
rescue Interrupt, SystemExit
|
45
|
+
if KManager.opts.reboot_on_kill == true || KManager.opts.reboot_on_kill == 1
|
46
|
+
puts "\nRebooting #{KManager.opts.app_name}..."
|
47
|
+
sleep KManager.opts.reboot_sleep unless KManager.opts.reboot_sleep.zero?
|
38
48
|
|
39
|
-
|
49
|
+
return true
|
50
|
+
end
|
51
|
+
|
52
|
+
puts "\nExiting..."
|
53
|
+
false
|
54
|
+
end
|
55
|
+
# rubocop:enable Metrics/AbcSize
|
40
56
|
|
41
57
|
def log_params(builder_folder, boot_file)
|
42
58
|
log.section_heading('Watch project')
|
data/lib/k_manager/manager.rb
CHANGED
@@ -28,7 +28,29 @@ module KManager
|
|
28
28
|
yield(@current_resource)
|
29
29
|
end
|
30
30
|
|
31
|
-
|
31
|
+
# Usage
|
32
|
+
#
|
33
|
+
# KManager.opts.sleep = 10
|
34
|
+
# KManager.opts.reboot_on_kill = 0
|
35
|
+
# KManager.opts.exception_style = :short
|
36
|
+
# KManager.opts.show.time_taken = true
|
37
|
+
# KManager.opts.show.finished = true
|
38
|
+
# KManager.opts.show.finished_message = 'FINISHED :)'
|
39
|
+
|
40
|
+
Options = Struct.new(
|
41
|
+
:app_name,
|
42
|
+
:exception_style,
|
43
|
+
:reboot_on_kill,
|
44
|
+
:reboot_sleep,
|
45
|
+
:sleep,
|
46
|
+
:show
|
47
|
+
)
|
48
|
+
|
49
|
+
Show = Struct.new(
|
50
|
+
:time_taken,
|
51
|
+
:finished,
|
52
|
+
:finished_message
|
53
|
+
)
|
32
54
|
|
33
55
|
# @param [Integer] sleep Seconds to sleep after running, 0 = no sleep
|
34
56
|
# @param [Symbol] exception_style Format for exception messages caught by watcher.
|
@@ -36,7 +58,7 @@ module KManager
|
|
36
58
|
# :short - message and short backtrace
|
37
59
|
# :long - message and long backtrace
|
38
60
|
def opts
|
39
|
-
@opts ||= Options.new(0, :
|
61
|
+
@opts ||= Options.new('', :message, false, 1, 0, Show.new(true, true, 'FINISHED :)'))
|
40
62
|
end
|
41
63
|
|
42
64
|
def areas
|
@@ -104,7 +126,15 @@ module KManager
|
|
104
126
|
@active_uri = nil
|
105
127
|
end
|
106
128
|
|
129
|
+
def reboot
|
130
|
+
puts 'Fire reboot'
|
131
|
+
KManager.opts.reboot_on_kill = 1
|
132
|
+
raise SystemExit
|
133
|
+
end
|
134
|
+
|
107
135
|
def debug(*sections)
|
136
|
+
log.structure(KUtil.data.to_hash(opts))
|
137
|
+
|
108
138
|
areas.each do |area|
|
109
139
|
area.debug(*sections)
|
110
140
|
end
|
@@ -45,7 +45,7 @@ module KManager
|
|
45
45
|
{ namespace: { display_method: ->(row) { row.namespace } } },
|
46
46
|
{ status: { display_method: ->(row) { row.status } } },
|
47
47
|
{ content_type: { display_method: ->(row) { row.content_type } } },
|
48
|
-
{ content: { display_method: ->(row) { row.content } } },
|
48
|
+
{ content: { display_method: ->(row) { format_content(row.content, row.content_type) }, width: 50 } },
|
49
49
|
{ document_count: { display_method: ->(row) { blank_zero(row.document_count) } } },
|
50
50
|
{ valid: { display_method: ->(row) { row.valid } } },
|
51
51
|
{ error_count: { display_method: ->(row) { blank_zero(row.errors.length) } } },
|
@@ -119,6 +119,15 @@ module KManager
|
|
119
119
|
log.structure(data, **opts)
|
120
120
|
end
|
121
121
|
|
122
|
+
def format_content(content, type)
|
123
|
+
formatted = content
|
124
|
+
case type
|
125
|
+
when :ruby
|
126
|
+
formatted = formatted&.sub(/\A# frozen_string_literal: true/, '')&.strip
|
127
|
+
end
|
128
|
+
formatted
|
129
|
+
end
|
130
|
+
|
122
131
|
def blank_zero(value)
|
123
132
|
return nil if value.nil? || (value.is_a?(Integer) && value.zero?)
|
124
133
|
|
@@ -175,7 +175,8 @@ module KManager
|
|
175
175
|
rescue Exception => e
|
176
176
|
guard(e.message)
|
177
177
|
debug
|
178
|
-
log.exception(e, style:
|
178
|
+
log.exception(e, style: KManager.opts.exception_style)
|
179
|
+
# log.exception(e, style: :short)
|
179
180
|
end
|
180
181
|
# rubocop:enable Lint/RescueException
|
181
182
|
|
@@ -89,6 +89,8 @@ module KManager
|
|
89
89
|
# if documents.length > 0
|
90
90
|
# resource.resource_type = KDsl::Resources::Resource::TYPE_RUBY_DSL
|
91
91
|
# end
|
92
|
+
rescue Interrupt, SystemExit
|
93
|
+
raise
|
92
94
|
rescue Exception => e
|
93
95
|
# Report the error but still add the document so that you can see
|
94
96
|
# it in the ResourceDocument list, it will be marked as Error
|
data/lib/k_manager/version.rb
CHANGED
data/lib/k_manager/watcher.rb
CHANGED
@@ -20,41 +20,65 @@ module KManager
|
|
20
20
|
# process_updated_file(filename) if event == :updated # || event == :created
|
21
21
|
# process_deleted_file(filename) if event == :deleted
|
22
22
|
|
23
|
-
# rubocop:disable Lint/RescueException, Metrics/AbcSize
|
23
|
+
# rubocop:disable Lint/RescueException, Metrics/AbcSize, Metrics/MethodLength
|
24
24
|
def start
|
25
25
|
boot_up
|
26
26
|
|
27
27
|
update_dashboard
|
28
28
|
|
29
|
-
Filewatcher.new(watch_folder)
|
30
|
-
changes.each do |filename, event|
|
31
|
-
clear_screen
|
29
|
+
watcher = Filewatcher.new(watch_folder)
|
32
30
|
|
33
|
-
|
31
|
+
watcher.watch do |changes|
|
32
|
+
watcher.pause
|
33
|
+
if changes.length > 1
|
34
|
+
log.kv 'HOW MANY CHANGES', changes.length
|
35
|
+
log.block changes
|
36
|
+
end
|
34
37
|
|
35
|
-
|
38
|
+
changes.each do |filename, event|
|
39
|
+
# NOTE: KManager will not support space in file name, but this will at least deal with file copies, where " copy" is added to a file name.
|
36
40
|
filename = filename.gsub(' ', '%20')
|
37
41
|
|
38
|
-
|
42
|
+
log_file_event(event, filename)
|
39
43
|
|
40
44
|
uri = URI::File.build(host: nil, path: filename)
|
45
|
+
|
46
|
+
start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
41
47
|
KManager.resource_changed(uri, event)
|
48
|
+
finish_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
49
|
+
time_taken = finish_time - start_time
|
42
50
|
|
43
51
|
sleep KManager.opts.sleep if KManager.opts.sleep.positive?
|
44
52
|
|
53
|
+
clear_screen
|
54
|
+
|
55
|
+
log_file_event(event, filename)
|
56
|
+
log.kv 'Time Taken', time_taken.to_d.round(3, :truncate).to_f if KManager.opts.show.time_taken
|
57
|
+
|
45
58
|
update_dashboard
|
46
|
-
|
59
|
+
|
60
|
+
puts KManager.opts.show.finished_message if KManager.opts.show.finished
|
47
61
|
end
|
62
|
+
watcher.resume
|
48
63
|
end
|
64
|
+
rescue Interrupt, SystemExit
|
65
|
+
raise
|
49
66
|
rescue Exception => e
|
50
|
-
# TODO: Make style a setting: :message, :short, (whatever the last one is)
|
51
|
-
log.exception(e, style: KManager.opts.exception_style)
|
52
67
|
log.exception(e)
|
53
68
|
end
|
54
|
-
# rubocop:enable Lint/RescueException, Metrics/AbcSize
|
69
|
+
# rubocop:enable Lint/RescueException, Metrics/AbcSize, Metrics/MethodLength
|
55
70
|
|
56
71
|
private
|
57
72
|
|
73
|
+
def log_file_event(event, filename)
|
74
|
+
current = Time.now.strftime('%H:%M:%S')
|
75
|
+
output = "#{current} - #{event}: #{filename}"
|
76
|
+
|
77
|
+
log.warn(output) if event == :updated
|
78
|
+
log.error(output) if event == :deleted
|
79
|
+
log.info(output) if event == :created
|
80
|
+
end
|
81
|
+
|
58
82
|
def boot_up
|
59
83
|
clear_screen
|
60
84
|
|
data/lib/k_manager.rb
CHANGED
@@ -4,7 +4,10 @@ require 'csv'
|
|
4
4
|
require 'dry-struct'
|
5
5
|
require 'forwardable'
|
6
6
|
require 'k_log'
|
7
|
+
require 'k_config'
|
7
8
|
require 'k_doc'
|
9
|
+
require 'k_domain'
|
10
|
+
require 'k_director'
|
8
11
|
require 'k_fileset'
|
9
12
|
require 'k_builder'
|
10
13
|
require 'k_ext/github'
|
@@ -14,7 +17,6 @@ require 'handlebars/helpers/string_formatting/dasherize'
|
|
14
17
|
require 'handlebars/helpers/string_formatting/snake'
|
15
18
|
|
16
19
|
require 'k_manager/version'
|
17
|
-
require 'k_manager/configuration/project_config'
|
18
20
|
require 'k_manager/overview/models'
|
19
21
|
require 'k_manager/overview/queries'
|
20
22
|
require 'k_manager/overview/dump_json'
|
@@ -96,7 +98,15 @@ module KManager
|
|
96
98
|
@manager = Manager.new
|
97
99
|
end
|
98
100
|
|
99
|
-
def_delegators
|
101
|
+
def_delegators :manager,
|
102
|
+
:opts,
|
103
|
+
:areas,
|
104
|
+
:add_area,
|
105
|
+
:find_document,
|
106
|
+
:fire_actions,
|
107
|
+
:resource_changed,
|
108
|
+
:reboot,
|
109
|
+
:debug
|
100
110
|
|
101
111
|
# ----------------------------------------------------------------------
|
102
112
|
# Document factory facade methods
|
@@ -108,13 +118,6 @@ module KManager
|
|
108
118
|
|
109
119
|
def_delegators :document_factory, :action, :model, :csv, :json, :yaml
|
110
120
|
|
111
|
-
# TODO: DEPRECATE or REFACTOR
|
112
|
-
def new_project_config(&block)
|
113
|
-
config = KManager::Configuration::ProjectConfig.new
|
114
|
-
block.call(config) if block_given?
|
115
|
-
config
|
116
|
-
end
|
117
|
-
|
118
121
|
# ----------------------------------------------------------------------
|
119
122
|
# Utilities
|
120
123
|
# ----------------------------------------------------------------------
|
data/tasks/watch.rake
CHANGED
@@ -16,94 +16,3 @@ namespace :k_manager do
|
|
16
16
|
watcher.start
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
20
|
-
# require 'pry'
|
21
|
-
# require 'k_manager'
|
22
|
-
# require 'filewatcher'
|
23
|
-
# require 'io/console'
|
24
|
-
|
25
|
-
# class Watcher
|
26
|
-
# include KLog::Logging
|
27
|
-
|
28
|
-
# attr_reader :watch_folder
|
29
|
-
# attr_reader :boot_file
|
30
|
-
|
31
|
-
# def initialize(watch_folder, boot_file)
|
32
|
-
# @watch_folder = watch_folder
|
33
|
-
# @boot_file = boot_file
|
34
|
-
# end
|
35
|
-
|
36
|
-
#
|
37
|
-
# def start
|
38
|
-
# boot(boot_file)
|
39
|
-
# update_dashboard
|
40
|
-
|
41
|
-
# Filewatcher.new(watch_folder).watch do |changes|
|
42
|
-
# changes.each do |filename, event|
|
43
|
-
# $stdout.clear_screen
|
44
|
-
# puts "File #{event}: #{filename}"
|
45
|
-
|
46
|
-
# uri = URI::File.build(host: nil, path: filename)
|
47
|
-
# KManager.resource_changed(uri, event)
|
48
|
-
|
49
|
-
# # process_created_file(filename) if event == :created
|
50
|
-
# # process_updated_file(filename) if event == :updated # || event == :created
|
51
|
-
# # process_deleted_file(filename) if event == :deleted
|
52
|
-
# update_dashboard
|
53
|
-
# end
|
54
|
-
# end
|
55
|
-
# rescue Exception => e
|
56
|
-
# # TODO: Make style a setting: :message, :short, (whatever the last one is)
|
57
|
-
# log.exception(e, style: :short)
|
58
|
-
# end
|
59
|
-
# # private
|
60
|
-
|
61
|
-
# def boot(boot_file)
|
62
|
-
# clear_screen
|
63
|
-
|
64
|
-
# content = File.read(boot_file)
|
65
|
-
# Object.class_eval(content, boot_file)
|
66
|
-
# end
|
67
|
-
|
68
|
-
#
|
69
|
-
# def process_updated_file(filename)
|
70
|
-
# clear_screen
|
71
|
-
# update_load_path(filename)
|
72
|
-
|
73
|
-
# puts "File updated: #{filename}"
|
74
|
-
# rescue Exception => e
|
75
|
-
# # TODO: Make style a setting: :message, :short, (whatever the last one is)
|
76
|
-
# log.exception(e, style: :short)
|
77
|
-
# end
|
78
|
-
|
79
|
-
# def process_updated_file_old(filename)
|
80
|
-
# clear_screen
|
81
|
-
# update_load_path(filename)
|
82
|
-
|
83
|
-
# puts "File updated: #{filename}"
|
84
|
-
|
85
|
-
# content = File.read(filename)
|
86
|
-
# Object.class_eval(content, filename)
|
87
|
-
# rescue Exception => e
|
88
|
-
# # TODO: Make style a setting: :message, :short, (whatever the last one is)
|
89
|
-
# log.exception(e, style: :short)
|
90
|
-
# end
|
91
|
-
# # def update_dashboard
|
92
|
-
# dashboard = KManager::Overview::Dashboard.new(KManager.manager)
|
93
|
-
# dashboard.areas
|
94
|
-
# dashboard.resources
|
95
|
-
# dashboard.documents
|
96
|
-
# end
|
97
|
-
|
98
|
-
# def update_load_path(filename)
|
99
|
-
# dirname = File.dirname(filename)
|
100
|
-
|
101
|
-
# # This needs to be in detailed logging
|
102
|
-
# $LOAD_PATH.unshift(dirname) unless $LOAD_PATH.find { |path| path.start_with?(dirname) }
|
103
|
-
# end
|
104
|
-
|
105
|
-
# def clear_screen
|
106
|
-
# puts "\n" * 70
|
107
|
-
# $stdout.clear_screen
|
108
|
-
# end
|
109
|
-
# end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: k_director
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.1'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.1'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: k_doc
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +80,20 @@ dependencies:
|
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: 0.0.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: k_domain
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.0.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.0.0
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: k_ext-github
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +190,6 @@ files:
|
|
162
190
|
- lib/k_manager/cli/new.rb
|
163
191
|
- lib/k_manager/cli/version.rb
|
164
192
|
- lib/k_manager/cli/watch.rb
|
165
|
-
- lib/k_manager/configuration/project_config.rb
|
166
193
|
- lib/k_manager/document_factory.rb
|
167
194
|
- lib/k_manager/manager.rb
|
168
195
|
- lib/k_manager/overview/dashboard.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module KManager
|
4
|
-
module Configuration
|
5
|
-
# Project configuration class for KManager
|
6
|
-
#
|
7
|
-
# This configuration contains template and target folders as used
|
8
|
-
# by all k_builders, it also has additional configuration that makes
|
9
|
-
# sense for a project, such as the GitHub repository configuration
|
10
|
-
class ProjectConfig < KBuilder::Configuration
|
11
|
-
attach_to(KExt::Github::Configuration, self, :github)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|