claiss 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/claiss.rb +67 -5
  3. metadata +50 -8
  4. /data/{bin → exe}/claiss +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c63da7e95c5a0ddfc09b89b90a8e2507b820e0c0c19464c0513f9bfc1e55428
4
- data.tar.gz: 40da12484896e5e1dd0556613c96a32255950329cae0cf9dfffd49e523f611e1
3
+ metadata.gz: 111930915061d881a017a8f3d0865d606717c5b5f198a37204324dcf35ad2ad6
4
+ data.tar.gz: bfa45b41895c4de0be9e4d71d73e9181b41d50699696b5562387979a2c76163b
5
5
  SHA512:
6
- metadata.gz: 558065cc351485ab4f19ef37c973bdc60491f59ec880b47ea6972da080f20571d7563e80e4f1c124f804e18a7770cb22f8c8e39dc3b40db1036484de6edb76fc
7
- data.tar.gz: 93768179fe2355a7d03b30eacd2239c7ef3b5a4b41b366d9a2a27451bfc3f86565d9a131b65a2ecc70ac14a0ea9733e18135eaf620ab51528b108942cb65a946
6
+ metadata.gz: e7fd6115f2b46b9dd6d77386cf40c78ca364ca23bcbb8e2fde184572a8e2be0753c26069e76462025a23ad04fec8ae6e08380aeb360cf37e4d147af3d3f9d916
7
+ data.tar.gz: '0088d2492a54bd95ab8c9b23d81def46d28b947d0993a79759d4150d013280890ff44680d01266bc29c015c8628a78505b77f0e0f04d9d90bced279aff15cbcf'
data/lib/claiss.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  require "bundler/setup"
2
2
  require "dry/cli"
3
+ require "fileutils"
4
+ require "pathname"
5
+ require 'find'
6
+ require 'json'
3
7
 
4
8
  module Claiss
5
9
  extend Dry::CLI::Registry
@@ -8,7 +12,64 @@ module Claiss
8
12
  desc "Print version"
9
13
 
10
14
  def call(*)
11
- puts "1.0.2"
15
+ spec = Gem::Specification::load("claiss.gemspec")
16
+ puts "#{spec.summary}"
17
+ puts "Version: #{spec.version}"
18
+ end
19
+ end
20
+
21
+ class Refactor < Dry::CLI::Command
22
+ desc "Refactors terms and files on directories"
23
+ argument :path, type: :string, required: true, desc: "Relative path directory"
24
+ argument :json_file, type: :string, required: false, desc: "Provide a Ruby hash file"
25
+ def call(path:, json_file:, **)
26
+ dict = {}
27
+ search = ""
28
+ replace = ""
29
+ input = "y"
30
+
31
+ if !json_file.nil? || !json_file.empty?
32
+ jfile = File.read(json_file)
33
+ dict = JSON.parse(jfile)
34
+ else
35
+ while input.downcase == "y" do
36
+ puts "Term to search: "
37
+ search = STDIN.gets.chomp
38
+ puts "Term to replace: "
39
+ replace = STDIN.gets.chomp
40
+
41
+ dict[search] = replace
42
+ puts "\nAdd another? Type Y \nto Start Refactoring press Enter"
43
+ input = STDIN.gets.chomp!
44
+ end
45
+ end
46
+ puts dict.inspect
47
+ dict[path] = "refactored-#{Time.now.to_i.to_s}/"
48
+ Dir.glob(path + "**/" +"*").reject{ |f| File.directory?(f)}.each do |file|
49
+ destination = file.to_s
50
+ text = File.read(file) if !File.directory?(file)
51
+
52
+ dict.map do |p, i|
53
+ destination.gsub!(p, i)
54
+ if !text.nil?
55
+ text.gsub!(p, i)
56
+ end
57
+ end
58
+
59
+ puts "Destination file #{destination}"
60
+ FileUtils.mkdir_p(File.dirname(destination)) unless File.exist?(destination)
61
+ File.open(destination, "wb") do |f|
62
+ f.puts text
63
+ end
64
+ end
65
+ puts "Do you want Move and delete to the original folder? (y/n): "
66
+ del = STDIN.gets.chomp
67
+ if del.downcase == "y"
68
+ FileUtils.rm_r(path)
69
+ FileUtils.mv dict[path], path
70
+ puts "Moved from #{dict[path]} to #{path}"
71
+ end
72
+
12
73
  end
13
74
  end
14
75
 
@@ -89,10 +150,11 @@ module Claiss
89
150
  end
90
151
 
91
152
  register "version", Version, aliases: ["v", "-v", "--version"]
92
- register "echo", Echo
93
- register "start", Start
94
- register "stop", Stop
95
- register "exec", Exec
153
+ #register "echo", Echo
154
+ #register "start", Start
155
+ #register "stop", Stop
156
+ #register "exec", Exec
157
+ register "refactor",Refactor
96
158
 
97
159
  register "generate", aliases: ["g"] do |prefix|
98
160
  prefix.register "config", Generate::Configuration
metadata CHANGED
@@ -1,29 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claiss
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Júlio Papel
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-01 00:00:00.000000000 Z
11
+ date: 2023-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-cli
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.0.0
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'
26
+ version: 1.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: pathname
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: fileutils
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.7.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.7.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.6.3
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.6.3
27
69
  description: CLI application Toolbox to manage Laiss AI applications and deployments.
28
70
  Some thing may not work on your environment. Use with caution!
29
71
  email:
@@ -33,7 +75,7 @@ executables:
33
75
  extensions: []
34
76
  extra_rdoc_files: []
35
77
  files:
36
- - bin/claiss
78
+ - exe/claiss
37
79
  - lib/claiss.rb
38
80
  - lib/tasks/claiss.rake
39
81
  homepage: http://rubygems.org/gems/claiss
File without changes