k_builder-watch 0.0.7 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
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