claiss 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/claiss +5 -0
  3. data/lib/claiss.rb +102 -2
  4. data/lib/tasks/claiss.rake +25 -0
  5. metadata +20 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a75eb2f02fe104ba720fa91b2c8e28bb1deb17593fee645fa42dd2bed7aea9ef
4
- data.tar.gz: 54f436cf4cbfc5b7245402773ad70b8a944511fb543a2545a1908eb1eb0acf2b
3
+ metadata.gz: 822e313e62f6cd1b44213f3e0866029483bbc9ceb53a66cf5b301c7ce72eda09
4
+ data.tar.gz: 7c643047e23d3eb349ab7bd11e91691d4d8da2492604e3867ffde8e0583882f5
5
5
  SHA512:
6
- metadata.gz: 2b3fcfd5ac72663b59b7c06028d2a18c62034559bb03a67a460010e05ed26baf19b0d5dc5c13933c9ff6d37b5f417b16b6043bc46db558a7ef698e4c0b0f2a2d
7
- data.tar.gz: 75a0b51d04da65de7833cb58dabfe30693e001248b6f6e799423bd3743bc1d75d4221c512d86fad8e574b6123b0d35c4374c1aa1a70d29fc978a56669abb41f2
6
+ metadata.gz: 7f472733e691a0b78bfec39f8e028fa214b5f71f8a0a3c63bd60a53561fde2a3a7258219e10d52399c3c5b0841d7d21e3bd76d764e5c163816210c285c194439
7
+ data.tar.gz: da7fd61df1f134e57246f7d5c5fb9207729a5d134daf4cd62da605552c8899221b4ab6fdf19faaa7158258b7aa7939fd922b94c5c4d4e35c7087fa8d1dd78d5b
data/bin/claiss ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ require "bundler/setup"
3
+ require "dry/cli"
4
+ require 'claiss'
5
+ Dry::CLI.new(Claiss::Commands).call
data/lib/claiss.rb CHANGED
@@ -1,5 +1,105 @@
1
1
  module Claiss
2
- def self.hello_world
3
- "Good morning world and all who inhabit it!"
2
+ # def self.version
3
+ # spec = Gem::Specification::load("claiss.gemspec")
4
+ # puts "#{spec.summary}"
5
+ # puts "Version: #{spec.version}"
6
+ # end
7
+ module Commands
8
+ extend Dry::CLI::Registry
9
+
10
+ class Version < Dry::CLI::Command
11
+ desc "Print version"
12
+
13
+ def call(*)
14
+ puts "1.0.0"
15
+ end
16
+ end
17
+
18
+ class Echo < Dry::CLI::Command
19
+ desc "Print input"
20
+
21
+ argument :input, desc: "Input to print"
22
+
23
+ example [
24
+ " # Prints 'wuh?'",
25
+ "hello, folks # Prints 'hello, folks'"
26
+ ]
27
+
28
+ def call(input: nil, **)
29
+ if input.nil?
30
+ puts "wuh?"
31
+ else
32
+ puts input
33
+ end
34
+ end
35
+ end
36
+
37
+ class Start < Dry::CLI::Command
38
+ desc "Start Foo machinery"
39
+
40
+ argument :root, required: true, desc: "Root directory"
41
+
42
+ example [
43
+ "path/to/root # Start Foo at root directory"
44
+ ]
45
+
46
+ def call(root:, **)
47
+ puts "started - root: #{root}"
48
+ end
49
+ end
50
+
51
+ class Stop < Dry::CLI::Command
52
+ desc "Stop Foo machinery"
53
+
54
+ option :graceful, type: :boolean, default: true, desc: "Graceful stop"
55
+
56
+ def call(**options)
57
+ puts "stopped - graceful: #{options.fetch(:graceful)}"
58
+ end
59
+ end
60
+
61
+ class Exec < Dry::CLI::Command
62
+ desc "Execute a task"
63
+
64
+ argument :task, type: :string, required: true, desc: "Task to be executed"
65
+ argument :dirs, type: :array, required: false, desc: "Optional directories"
66
+
67
+ def call(task:, dirs: [], **)
68
+ puts "exec - task: #{task}, dirs: #{dirs.inspect}"
69
+ end
70
+ end
71
+
72
+ module Generate
73
+ class Configuration < Dry::CLI::Command
74
+ desc "Generate configuration"
75
+
76
+ option :apps, type: :array, default: [], desc: "Generate configuration for specific apps"
77
+
78
+ def call(apps:, **)
79
+ puts "generated configuration for apps: #{apps.inspect}"
80
+ end
81
+ end
82
+
83
+ class Test < Dry::CLI::Command
84
+ desc "Generate tests"
85
+
86
+ option :framework, default: "minitest", values: %w[minitest rspec]
87
+
88
+ def call(framework:, **)
89
+ puts "generated tests - framework: #{framework}"
90
+ end
91
+ end
92
+ end
93
+
94
+ register "version", Version, aliases: ["v", "-v", "--version"]
95
+ register "echo", Echo
96
+ register "start", Start
97
+ register "stop", Stop
98
+ register "exec", Exec
99
+
100
+ register "generate", aliases: ["g"] do |prefix|
101
+ prefix.register "config", Generate::Configuration
102
+ prefix.register "test", Generate::Test
103
+ end
4
104
  end
5
105
  end
@@ -0,0 +1,25 @@
1
+ GEM_NAME = "claiss"
2
+ GEM_VERSION = "1.0.0"
3
+
4
+ namespace :claiss do
5
+ path = "/home/rails/jumpstart/lib/claiss/"
6
+
7
+ task :default => :build
8
+
9
+ task :build do
10
+ system "gem build " + path + GEM_NAME + ".gemspec"
11
+ end
12
+
13
+ task :install => :build do
14
+ system "gem install " + path + GEM_NAME + "-" + GEM_VERSION + ".gem"
15
+ end
16
+
17
+ task :publish => :build do
18
+ system 'gem push ' + path + GEM_NAME + "-" + GEM_VERSION + ".gem"
19
+ end
20
+
21
+ task :clean do
22
+ system "rm " + path + "*.gem"
23
+ end
24
+
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claiss
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
  - Júlio Papel
@@ -9,16 +9,33 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2023-07-01 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dry-cli
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: CLI application Toolbox to manage Laiss AI applications and deployments.
14
28
  Some thing may not work on your environment. Use with caution!
15
29
  email:
16
30
  - julio.papel@gmail.com
17
- executables: []
31
+ executables:
32
+ - claiss
18
33
  extensions: []
19
34
  extra_rdoc_files: []
20
35
  files:
36
+ - bin/claiss
21
37
  - lib/claiss.rb
38
+ - lib/tasks/claiss.rake
22
39
  homepage: http://rubygems.org/gems/claiss
23
40
  licenses:
24
41
  - MIT