asimov-construct-cli 25.0.0.dev.4
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 +7 -0
- data/VERSION +1 -0
- data/bin/asimov-construct +125 -0
- metadata +131 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 91cd88edf78536d9d35e6c0e6c5dba5efff2d9787fa86cd231025f4d6d95a198
|
4
|
+
data.tar.gz: 55f41bb22a58208916ab481ed7021a226358037871ebf21f4fcf89a2a21a8cc0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c823179d0f008dc8cf5c9de509e4e55898760e8138efac057e8f140a8b677d5478f3eb71e1bdefb4b8117241f5da7e45903d98e991bc2be99f846d8b78bc59e4
|
7
|
+
data.tar.gz: adb9a20b1129358e018a48fc675f4a6e5f5802d845b1046d85056bdd456f29dde9b069180201ca65dd83b30b91ba9f1f98ba5154e351d09e062962fd1317762e
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
25.0.0.dev.4
|
@@ -0,0 +1,125 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "bundler/setup"
|
3
|
+
|
4
|
+
require "asimov/config"
|
5
|
+
require "asimov/construct"
|
6
|
+
require "dry/cli"
|
7
|
+
|
8
|
+
trap(:SIGINT) { abort "" }
|
9
|
+
|
10
|
+
class ASIMOV::Construct; end
|
11
|
+
|
12
|
+
class ASIMOV::Construct::CLI
|
13
|
+
extend Dry::CLI::Registry
|
14
|
+
|
15
|
+
class Help < Dry::CLI::Command
|
16
|
+
desc "Print help"
|
17
|
+
|
18
|
+
argument :command, type: :string, desc: "Command"
|
19
|
+
option :format, type: :string, default: "text", aliases: %w(-o), values: %w(text json), desc: "Format"
|
20
|
+
|
21
|
+
def call(command: nil, format:, **)
|
22
|
+
# TODO
|
23
|
+
end
|
24
|
+
end # Help
|
25
|
+
|
26
|
+
class Clone < Dry::CLI::Command
|
27
|
+
desc "Clone a construct"
|
28
|
+
|
29
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
30
|
+
|
31
|
+
def call(id:, **)
|
32
|
+
# TODO
|
33
|
+
end
|
34
|
+
end # Clone
|
35
|
+
|
36
|
+
class Create < Dry::CLI::Command
|
37
|
+
desc "Create a construct"
|
38
|
+
|
39
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
40
|
+
|
41
|
+
def call(id:, **)
|
42
|
+
# TODO
|
43
|
+
end
|
44
|
+
end # Create
|
45
|
+
|
46
|
+
class Edit < Dry::CLI::Command
|
47
|
+
desc "Edit a construct"
|
48
|
+
|
49
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
50
|
+
|
51
|
+
def call(id:, **)
|
52
|
+
# TODO
|
53
|
+
end
|
54
|
+
end # Edit
|
55
|
+
|
56
|
+
class Export < Dry::CLI::Command
|
57
|
+
desc "Export a construct"
|
58
|
+
|
59
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
60
|
+
option :format, type: :string, default: "kdl", aliases: %w(-o), values: %w(json kdl yaml), desc: "Format"
|
61
|
+
|
62
|
+
def call(id:, format: nil, **)
|
63
|
+
construct = ASIMOV::Construct.open(id)
|
64
|
+
raise ArgumentError, "unknown construct: #{id}" unless construct
|
65
|
+
|
66
|
+
output = case (format || :kdl).to_sym
|
67
|
+
when :json then construct.to_json
|
68
|
+
when :kdl then construct.to_kdl.inspect
|
69
|
+
when :yaml then construct.to_yaml
|
70
|
+
else raise ArgumentError, "invalid output format: #{format}"
|
71
|
+
end
|
72
|
+
puts output
|
73
|
+
end
|
74
|
+
end # Export
|
75
|
+
|
76
|
+
class Import < Dry::CLI::Command
|
77
|
+
desc "Import a construct"
|
78
|
+
|
79
|
+
def call(**)
|
80
|
+
# TODO
|
81
|
+
end
|
82
|
+
end # Import
|
83
|
+
|
84
|
+
class List < Dry::CLI::Command
|
85
|
+
desc "List available constructs"
|
86
|
+
|
87
|
+
def call(**)
|
88
|
+
ASIMOV::Construct.each do |construct|
|
89
|
+
puts [construct.id, construct.name].join("\t")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end # List
|
93
|
+
|
94
|
+
class Remove < Dry::CLI::Command
|
95
|
+
desc "Remove a construct"
|
96
|
+
|
97
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
98
|
+
|
99
|
+
def call(id:, **)
|
100
|
+
# TODO
|
101
|
+
end
|
102
|
+
end # Remove
|
103
|
+
|
104
|
+
class Rename < Dry::CLI::Command
|
105
|
+
desc "Rename a construct"
|
106
|
+
|
107
|
+
argument :id, type: :string, required: true, desc: "Construct ID"
|
108
|
+
|
109
|
+
def call(id:, **)
|
110
|
+
# TODO
|
111
|
+
end
|
112
|
+
end # Rename
|
113
|
+
|
114
|
+
register :help.to_s, Help, aliases: %w()
|
115
|
+
register :clone.to_s, Clone, aliases: %w(cp copy)
|
116
|
+
register :create.to_s, Create, aliases: %w(new)
|
117
|
+
register :edit.to_s, Edit, aliases: %w()
|
118
|
+
register :export.to_s, Export, aliases: %w(show info describe)
|
119
|
+
register :import.to_s, Import, aliases: %w(download)
|
120
|
+
register :list.to_s, List, aliases: %w(ls dir)
|
121
|
+
register :remove.to_s, Remove, aliases: %w(rm)
|
122
|
+
register :rename.to_s, Rename, aliases: %w(mv)
|
123
|
+
end # ASIMOV::Construct::CLI
|
124
|
+
|
125
|
+
Dry::CLI.new(ASIMOV::Construct::CLI).call
|
metadata
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: asimov-construct-cli
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 25.0.0.dev.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- ASIMOV Protocol
|
8
|
+
bindir: bin
|
9
|
+
cert_chain: []
|
10
|
+
date: 2025-02-15 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: rake
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '13'
|
19
|
+
type: :development
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '13'
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3.12'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '3.12'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: yard
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0.9'
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.9'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: asimov-config
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - '='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 25.0.0.dev.4
|
61
|
+
type: :runtime
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - '='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 25.0.0.dev.4
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: asimov-construct
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - '='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 25.0.0.dev.4
|
75
|
+
type: :runtime
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - '='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 25.0.0.dev.4
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: dry-cli
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.2'
|
89
|
+
type: :runtime
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.2'
|
96
|
+
description: ''
|
97
|
+
email: support@asimov.so
|
98
|
+
executables:
|
99
|
+
- asimov-construct
|
100
|
+
extensions: []
|
101
|
+
extra_rdoc_files: []
|
102
|
+
files:
|
103
|
+
- VERSION
|
104
|
+
- bin/asimov-construct
|
105
|
+
homepage: https://cli.asimov.so
|
106
|
+
licenses:
|
107
|
+
- Unlicense
|
108
|
+
metadata:
|
109
|
+
bug_tracker_uri: https://github.com/asimov-platform/asimov-cli/issues
|
110
|
+
changelog_uri: https://github.com/asimov-platform/asimov-cli/blob/master/CHANGES.md
|
111
|
+
documentation_uri: https://github.com/asimov-platform/asimov-cli/blob/master/README.md
|
112
|
+
homepage_uri: https://cli.asimov.so
|
113
|
+
source_code_uri: https://github.com/asimov-platform/asimov-cli
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '3.2'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
requirements: []
|
128
|
+
rubygems_version: 3.6.2
|
129
|
+
specification_version: 4
|
130
|
+
summary: ASIMOV Command-Line Interface (CLI)
|
131
|
+
test_files: []
|