asimov-dataset-cli 25.0.0.dev.4

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 +7 -0
  2. data/VERSION +1 -0
  3. data/bin/asimov-dataset +126 -0
  4. metadata +131 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5646ac2b6fdc789383890f13ab7700179b2f1dc657df55e0fa300bbdb80b9a98
4
+ data.tar.gz: cef23812efd65a2a476249ba0e1168ef7c647eabcc8560de6a13f4fbd02cf09b
5
+ SHA512:
6
+ metadata.gz: eab483c99428b6ffb3654da5f331041d0bde92ad73bf672fca4ee8f6eee838a96ecacaaa50d1fe8110fbd83270ce1d2109b1877e7eeab0e02f7a37e4ba69f08d
7
+ data.tar.gz: 9ab543528c65802c82ecc6b620ac2b443e2a53d21c9409b84cb6b3adaef8fd5cb324fb8cbdea3bc21e75d775defe2ae2ed2613131eb00370ca9285a399d3b1c9
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 25.0.0.dev.4
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env ruby
2
+ require "bundler/setup"
3
+
4
+ require "asimov/config"
5
+ require "asimov/dataset"
6
+ require "dry/cli"
7
+
8
+ trap(:SIGINT) { abort "" }
9
+
10
+ module ASIMOV::Dataset; end
11
+
12
+ module ASIMOV::Dataset::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 Clear < Dry::CLI::Command
27
+ desc "Clear a dataset"
28
+
29
+ argument :datasets, type: :array, required: true, desc: "Dataset names"
30
+ option :signer, type: :string, default: ENV['NEAR_SIGNER'], desc: "Signing account"
31
+
32
+ def call(datasets:, signer: nil, **)
33
+ datasets.each do |dataset|
34
+ dataset = ASIMOV::Protocol::Dataset.parse(dataset).freeze
35
+ signer = ASIMOV::Protocol::Account.parse(signer || dataset.account).freeze
36
+
37
+ result = NEAR::CLI.new.call_function(
38
+ dataset.account,
39
+ 'rdf_clear',
40
+ "\x00\x00".b, # TODO
41
+ signer:,
42
+ )
43
+ end
44
+ end
45
+ end # Clear
46
+
47
+ class Clone < Dry::CLI::Command
48
+ desc "Clone a dataset"
49
+
50
+ argument :id, type: :string, required: true, desc: "Dataset ID"
51
+
52
+ def call(id:, **)
53
+ # TODO
54
+ end
55
+ end # Clone
56
+
57
+ class Create < Dry::CLI::Command
58
+ desc "Create a dataset"
59
+
60
+ argument :datasets, type: :array, required: true, desc: "Dataset names"
61
+ option :signer, type: :string, default: ENV['NEAR_SIGNER'], desc: "Signing account"
62
+
63
+ def call(datasets:, signer: nil, **)
64
+ # TODO
65
+ end
66
+ end # Create
67
+
68
+ class Export < Dry::CLI::Command
69
+ desc "Export a dataset"
70
+
71
+ argument :id, type: :string, required: true, desc: "Dataset ID"
72
+ option :format, type: :string, default: "kdl", aliases: %w(-o), values: %w(json kdl yaml), desc: "Format"
73
+
74
+ def call(id:, format: nil, **)
75
+ # TODO
76
+ end
77
+ end # Export
78
+
79
+ class Import < Dry::CLI::Command
80
+ desc "Import a dataset"
81
+
82
+ def call(**)
83
+ # TODO
84
+ end
85
+ end # Import
86
+
87
+ class List < Dry::CLI::Command
88
+ desc "List available datasets"
89
+
90
+ def call(**)
91
+ # TODO
92
+ end
93
+ end # List
94
+
95
+ class Remove < Dry::CLI::Command
96
+ desc "Remove a dataset"
97
+
98
+ argument :id, type: :string, required: true, desc: "Dataset ID"
99
+
100
+ def call(id:, **)
101
+ # TODO
102
+ end
103
+ end # Remove
104
+
105
+ class Rename < Dry::CLI::Command
106
+ desc "Rename a dataset"
107
+
108
+ argument :id, type: :string, required: true, desc: "Dataset ID"
109
+
110
+ def call(id:, **)
111
+ # TODO
112
+ end
113
+ end # Rename
114
+
115
+ register :help.to_s, Help, aliases: %w()
116
+ register :clear.to_s, Clear, aliases: %w()
117
+ register :clone.to_s, Clone, aliases: %w(cp copy)
118
+ register :create.to_s, Create, aliases: %w(new)
119
+ register :export.to_s, Export, aliases: %w(show info describe)
120
+ register :import.to_s, Import, aliases: %w(download)
121
+ register :list.to_s, List, aliases: %w(ls dir)
122
+ register :remove.to_s, Remove, aliases: %w(rm)
123
+ register :rename.to_s, Rename, aliases: %w(mv)
124
+ end # ASIMOV::Dataset::CLI
125
+
126
+ Dry::CLI.new(ASIMOV::Dataset::CLI).call
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asimov-dataset-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-dataset
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-dataset
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - VERSION
104
+ - bin/asimov-dataset
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: []