k_builder-watch 0.0.7 → 0.0.12

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: d78a492a408edf5bf326f220fd139f9aab61c5dce6aafb98af76f64253157ad2
4
- data.tar.gz: dd7395fcc680658b4f1362e51c1cd51c3330aa989064c047042b9b5e0e54d599
3
+ metadata.gz: 6404958f71123a099200477f721f4445c909e7f24d38e7b173e0403eed1a89c8
4
+ data.tar.gz: 871f0744ba82f69db71a6d4bcea21502237c702372d3668f8ad516f03fa42d16
5
5
  SHA512:
6
- metadata.gz: e0b61565fec7df9686dfffa362bdd690fd71637b018c0aede9ccbca35a0e9a09c3d69e0f3dbbf97d5c5101fd88caf2b147b9aa20bfd2d37dfe8ab6abe6cfa1ea
7
- data.tar.gz: 61ca4a819f5d3407d929d63bb9ea0b7e9a82b5142cde6d6f504a1268086c998daf671361c383e9eb91aa8a226b1740191024a33fc9c43279a4ea69acc137ba75
6
+ metadata.gz: 2067da17c014db133c885e9431ce23306346ff9d70645ee224fae07640c71e75e1887ac2b35809d2286a748aaf281fd43b807a0f9944ddc697505a1de728bf28
7
+ data.tar.gz: 4a016a9f28efa3f3fbd158c4d6f81ef9f7db163354e57d8aea158247d6923f8f95a5ce8b3f28bdd49746f2ee285cd93cd6248dfeff9d2be9085b5e64f7fde490
@@ -0,0 +1,16 @@
1
+ Handlebars::Helpers.configure do |config|
2
+ config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_helpers.json')
3
+ config.helper_config_file = config_file
4
+ end
5
+
6
+ KBuilder.reset
7
+ templates_ruby = '~/dev/kgems/k_dsl/_/.template/ruby-cmdlet'
8
+ target_root = '~/dev/kgems/k_builder-watch/'
9
+
10
+ KBuilder.configure do |config|
11
+ config.target_folders.add(:app , target_root)
12
+
13
+ config.template_folders.add(:global , File.join(templates_ruby , '.global_template'))
14
+ # config.template_folders.add(:app , File.join(template_root , '.app_template'))
15
+ end
16
+
@@ -0,0 +1,34 @@
1
+ # require '.builders/_initialize.rb'
2
+
3
+ $LOAD_PATH.unshift(File.join(Dir.pwd, '.builders'))
4
+ load 'x.rb'
5
+ puts 'fucit'
6
+ # load 'x.rb'
7
+ # puts JSON.pretty_generate(KBuilder.configuration.to_h)
8
+
9
+ # builder = KBuilder::BaseBuilder.init
10
+
11
+ # builder
12
+ # .add_file('main.rb', template_file: 'class.rb', name: 'main')
13
+ # .add_file('person.rb',
14
+ # template_file: 'model.rb',
15
+ # name: 'person',
16
+ # fields: %i[first_name last_name])
17
+ # .add_file('address.rb',
18
+ # template_file: 'model.rb',
19
+ # name: 'address',
20
+ # fields: %i[street1 street2 post_code state])
21
+ # .add_file('css/index.css',
22
+ # template: '{{#each colors}} .{{.}} { color: {{.}} } {{/each}}',
23
+ # colors: %w[red blue green],
24
+ # pretty: true)
25
+
26
+ # # /Users/davidcruwys/dev/xxx-watch
27
+ # # /Users/davidcruwys/dev/xxx-watch/basic.rb
28
+
29
+
30
+ # file = builder.target_file('main.rb')
31
+ # puts file
32
+ # puts File.exist?(file)
33
+ # system("code #{file}")
34
+ # puts 'basic'
data/.builders/x.rb ADDED
File without changes
data/.gitignore CHANGED
@@ -23,6 +23,7 @@ k_builder_watch.yml
23
23
  /doc/
24
24
  /pkg/
25
25
  /spec/reports/
26
+ /spec/samples-output/
26
27
  /tmp/
27
28
  !/tmp/.keep
28
29
  *.bundle
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # frozen_string_literal: true
4
+
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../lib'))
6
+
7
+ require 'k_builder/watch'
8
+
9
+ # directory = '/Users/davidcruwys/dev/c#/P04DomainMonopolyV1'
10
+
11
+ cli = KBuilder::Watch::Cli.new
12
+ cli.execute
13
+
14
+ unless cli.debug
15
+ watcher = KBuilder::Watch::Watcher.new(cli.watch_path)
16
+ watcher.start
17
+ end
@@ -33,14 +33,12 @@ Gem::Specification.new do |spec|
33
33
  f.match(%r{^(test|spec|features)/})
34
34
  end
35
35
  end
36
- spec.bindir = 'bin'
37
-
38
- puts spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
39
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
36
+ spec.bindir = 'exe'
37
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
40
38
  spec.require_paths = ['lib']
41
39
  # spec.extensions = ['ext/k_builder/watch/extconf.rb']
42
40
 
43
- spec.add_dependency 'filewatcher', '~> 0.0'
41
+ spec.add_dependency 'filewatcher', '~> 2.0.0.beta3'
44
42
  spec.add_dependency 'k_builder', '~> 0.0'
45
43
  spec.add_dependency 'k_builder-package_json', '~> 0.0'
46
44
  spec.add_dependency 'k_builder-webpack5', '~> 0.0'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module KBuilder
4
4
  module Watch
5
- VERSION = '0.0.7'
5
+ VERSION = '0.0.12'
6
6
  end
7
7
  end
@@ -8,8 +8,9 @@ require 'io/console'
8
8
  # require 'handlebars/helpers/configuration'
9
9
 
10
10
  module KBuilder
11
+ # Watch supports any watch and execute processes for builders
11
12
  module Watch
12
- # Watch fo
13
+ # Watcher does the actual file watching and run the processor
13
14
  class Watcher
14
15
  attr_accessor :directory
15
16
 
@@ -21,34 +22,39 @@ module KBuilder
21
22
  # watch_file = File.join(directory, 'DOMAIN_INSTRUCTIONS.MD')
22
23
 
23
24
  def start
25
+ clear_screen
24
26
  puts 'Watching for file changes'
25
27
  puts "Directory: #{directory}"
26
28
  # puts "Watch File: #{watch_file}"
27
29
 
28
- Filewatcher.new(directory).watch do |filename, event|
29
- if (event == :updated) && filename # .casecmp(watch_file).zero?
30
- # puts "\n" * 70
31
- # $stdout.clear_screen
30
+ Filewatcher.new(directory).watch do |changes|
31
+ changes.each do |filename, event|
32
+ puts "File #{event}: #{filename}"
32
33
 
33
- process_updated_file(filename)
34
+ process_updated_file(filename) if event == :updated
34
35
  end
35
-
36
- puts "File deleted: #{filename}" if event == :delete
37
- puts "Added file: #{filename}" if event == :new
38
36
  end
39
37
  end
40
38
 
39
+ # rubocop:disable Lint/RescueException
41
40
  def process_updated_file(filename)
42
- puts "\n" * 70
43
- $stdout.clear_screen
41
+ $LOAD_PATH.unshift(File.join(Dir.pwd, '.builders'))
42
+ # Can I set __FILE__ during class_eval
43
+
44
44
  puts "File updated: #{filename}"
45
45
 
46
46
  content = File.read(filename)
47
- Object.class_eval content
48
- rescue StandardError => e
47
+ Object.class_eval(content, __FILE__, __LINE__)
48
+ rescue Exception => e
49
49
  puts e.message
50
- puts e.backtrace.join("\n")
50
+ puts e.backtrace.select { |ex| ex.start_with?(filename) }.join("\n")
51
51
  end
52
+ # rubocop:enable Lint/RescueException
53
+ end
54
+
55
+ def clear_screen
56
+ puts "\n" * 70
57
+ $stdout.clear_screen
52
58
  end
53
59
  end
54
60
  end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_builder-watch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
11
  date: 2021-03-24 00:00:00.000000000 Z
12
12
  dependencies:
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.0'
19
+ version: 2.0.0.beta3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.0'
26
+ version: 2.0.0.beta3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: k_builder
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -71,15 +71,13 @@ description: " K-Builder-Watch will watch k_builder files and when they chang
71
71
  email:
72
72
  - david@ideasmen.com.au
73
73
  executables:
74
- - console
75
- - k
76
- - kgitsync
77
- - khotfix
78
- - run
79
- - setup
74
+ - k_builder-watch
80
75
  extensions: []
81
76
  extra_rdoc_files: []
82
77
  files:
78
+ - ".builders/_initialize.rb"
79
+ - ".builders/basic.rb"
80
+ - ".builders/x.rb"
83
81
  - ".github/workflows/main.yml"
84
82
  - ".gitignore"
85
83
  - ".rspec"
@@ -99,6 +97,7 @@ files:
99
97
  - bin/khotfix
100
98
  - bin/run
101
99
  - bin/setup
100
+ - exe/k_builder-watch
102
101
  - hooks/pre-commit
103
102
  - hooks/update-version
104
103
  - k_builder-watch.gemspec