ronin-repos 0.1.0 → 0.2.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.document +0 -1
  3. data/.github/workflows/ruby.yml +16 -1
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +21 -0
  6. data/ChangeLog.md +28 -1
  7. data/Gemfile +11 -5
  8. data/README.md +19 -5
  9. data/Rakefile +12 -2
  10. data/bin/ronin-repos +6 -7
  11. data/data/completions/ronin-repos +139 -0
  12. data/data/completions/ronin-repos.yml +10 -0
  13. data/data/templates/repo/README.md.erb +1 -1
  14. data/gemspec.yml +11 -2
  15. data/lib/ronin/repos/cache_dir.rb +6 -7
  16. data/lib/ronin/repos/class_dir.rb +21 -14
  17. data/lib/ronin/repos/cli/command.rb +5 -3
  18. data/lib/ronin/repos/cli/commands/completion.rb +61 -0
  19. data/lib/ronin/repos/cli/commands/install.rb +7 -3
  20. data/lib/ronin/repos/cli/commands/list.rb +15 -18
  21. data/lib/ronin/repos/cli/commands/new.rb +7 -3
  22. data/lib/ronin/repos/cli/commands/purge.rb +17 -2
  23. data/lib/ronin/repos/cli/commands/remove.rb +1 -1
  24. data/lib/ronin/repos/cli/commands/show.rb +93 -0
  25. data/lib/ronin/repos/cli/commands/update.rb +2 -2
  26. data/lib/ronin/repos/cli.rb +5 -4
  27. data/lib/ronin/repos/exceptions.rb +4 -4
  28. data/lib/ronin/repos/repository.rb +33 -4
  29. data/lib/ronin/repos/root.rb +1 -1
  30. data/lib/ronin/repos/version.rb +2 -2
  31. data/lib/ronin/repos.rb +19 -5
  32. data/man/ronin-repos-completion.1 +76 -0
  33. data/man/ronin-repos-completion.1.md +78 -0
  34. data/man/ronin-repos-install.1 +27 -37
  35. data/man/ronin-repos-install.1.md +22 -15
  36. data/man/ronin-repos-list.1 +27 -33
  37. data/man/ronin-repos-list.1.md +22 -15
  38. data/man/ronin-repos-new.1 +17 -18
  39. data/man/ronin-repos-new.1.md +34 -0
  40. data/man/ronin-repos-purge.1 +26 -33
  41. data/man/ronin-repos-purge.1.md +20 -13
  42. data/man/ronin-repos-remove.1 +23 -35
  43. data/man/ronin-repos-remove.1.md +18 -14
  44. data/man/ronin-repos-show.1 +48 -0
  45. data/man/ronin-repos-show.1.md +48 -0
  46. data/man/ronin-repos-update.1 +26 -36
  47. data/man/ronin-repos-update.1.md +22 -15
  48. data/man/ronin-repos.1 +43 -31
  49. data/man/ronin-repos.1.md +35 -11
  50. data/ronin-repos.gemspec +4 -3
  51. data/scripts/setup +58 -0
  52. metadata +19 -7
@@ -1,4 +1,8 @@
1
- # ronin-repos-remove 1 "2022-01-01" Ronin Repos "User Manuals"
1
+ # ronin-repos-remove 1 "2023-02-01" Ronin Repos "User Manuals"
2
+
3
+ ## NAME
4
+
5
+ ronin-repos-remove - Deletes a repository from the cache directory
2
6
 
3
7
  ## SYNOPSIS
4
8
 
@@ -11,31 +15,31 @@ Removes a repository.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *REPO*
14
- The name of the repository to remove.
18
+ : The name of the repository to remove.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
22
  `-h`, `--help`
19
- Prints help information.
23
+ : Prints help information.
20
24
 
21
25
  ## EXAMPLES
22
26
 
23
27
  `ronin-repo remove repo`
24
- Removes the repository with with the name `repo`.
28
+ : Removes the repository with with the name `repo`.
25
29
 
26
- ## FILES
30
+ ## ENVIRONMENT
27
31
 
28
- *~/.cache/ronin-repos/*
29
- Installation directory for all repositories.
32
+ *HOME*
33
+ : Specifies the home directory of the user. Ronin will search for the
34
+ `~/.cache/ronin-repos` cache directory within the home directory.
30
35
 
31
- ## ENVIRONMENT
36
+ *XDG_CACHE_HOME*
37
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
32
38
 
33
- HOME
34
- Specifies the home directory of the user. Ronin will search for the
35
- *~/.cache/ronin-repos* cache directory within the home directory.
39
+ ## FILES
36
40
 
37
- XDG_CACHE_HOME
38
- Specifies the cache directory to use. Defaults to *$HOME/.cache*.
41
+ `~/.cache/ronin-repos/`
42
+ : Installation directory for all repositories.
39
43
 
40
44
  ## AUTHOR
41
45
 
@@ -43,4 +47,4 @@ Postmodern <postmodern.mod3@gmail.com>
43
47
 
44
48
  ## SEE ALSO
45
49
 
46
- ronin-repos(1), ronin-repos-install(1) ronin-repos-list(1) ronin-repos-update(1) ronin-repos-purge(1)
50
+ [ronin-repos](ronin-repos.1.md) [ronin-repos-install](ronin-repos-install.1.md) [ronin-repos-list](ronin-repos-list.1.md) [ronin-repos-update](ronin-repos-update.1.md) [ronin-repos-purge](ronin-repos-purge.1.md)
@@ -0,0 +1,48 @@
1
+ .\" Generated by kramdown-man 1.0.1
2
+ .\" https://github.com/postmodern/kramdown-man#readme
3
+ .TH ronin-repos-show 1 "2023-02-01" Ronin Repos "User Manuals"
4
+ .SH NAME
5
+ .PP
6
+ ronin\-repos\-show \- Prints information about a repository in the cache directory
7
+ .SH SYNOPSIS
8
+ .PP
9
+ \fBronin\-repos show\fR \[lB]\fIoptions\fP\[rB] \fINAME\fP
10
+ .SH DESCRIPTION
11
+ .PP
12
+ Prints information about a specific repository in the cache directory\.
13
+ .SH ARGUMENTS
14
+ .TP
15
+ \fINAME\fP
16
+ The repository name to print information about\.
17
+ .SH OPTIONS
18
+ .TP
19
+ \fB\-C\fR, \fB\-\-cache\-dir\fR \fIDIR\fP
20
+ Overrides the default cache directory\.
21
+ .TP
22
+ \fB\-h\fR, \fB\-\-help\fR
23
+ Prints help information\.
24
+ .SH ENVIRONMENT
25
+ .TP
26
+ \fIHOME\fP
27
+ Specifies the home directory of the user\. Ronin will search for the
28
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR cache directory within the home directory\.
29
+ .TP
30
+ \fIXDG\[ru]CACHE\[ru]HOME\fP
31
+ Specifies the cache directory to use\. Defaults to \fB\[Do]HOME\[sl]\.cache\fR\.
32
+ .SH FILES
33
+ .TP
34
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR
35
+ Installation directory for repositories\.
36
+ .SH AUTHOR
37
+ .PP
38
+ Postmodern
39
+ .MT postmodern\.mod3\[at]gmail\.com
40
+ .ME
41
+ .SH SEE ALSO
42
+ .PP
43
+ .BR ronin\-repos (1)
44
+ .BR ronin\-repos\-list (1)
45
+ .BR ronin\-repos\-install (1)
46
+ .BR ronin\-repos\-remove (1)
47
+ .BR ronin\-repos\-update (1)
48
+ .BR ronin\-repos\-purge (1)
@@ -0,0 +1,48 @@
1
+ # ronin-repos-show 1 "2023-02-01" Ronin Repos "User Manuals"
2
+
3
+ ## NAME
4
+
5
+ ronin-repos-show - Prints information about a repository in the cache directory
6
+
7
+ ## SYNOPSIS
8
+
9
+ `ronin-repos show` [*options*] *NAME*
10
+
11
+ ## DESCRIPTION
12
+
13
+ Prints information about a specific repository in the cache directory.
14
+
15
+ ## ARGUMENTS
16
+
17
+ *NAME*
18
+ : The repository name to print information about.
19
+
20
+ ## OPTIONS
21
+
22
+ `-C`, `--cache-dir` *DIR*
23
+ : Overrides the default cache directory.
24
+
25
+ `-h`, `--help`
26
+ : Prints help information.
27
+
28
+ ## ENVIRONMENT
29
+
30
+ *HOME*
31
+ : Specifies the home directory of the user. Ronin will search for the
32
+ `~/.cache/ronin-repos` cache directory within the home directory.
33
+
34
+ *XDG_CACHE_HOME*
35
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
36
+
37
+ ## FILES
38
+
39
+ `~/.cache/ronin-repos`
40
+ : Installation directory for repositories.
41
+
42
+ ## AUTHOR
43
+
44
+ Postmodern <postmodern.mod3@gmail.com>
45
+
46
+ ## SEE ALSO
47
+
48
+ [ronin-repos](ronin-repos.1.md) [ronin-repos-list](ronin-repos-list.1.md) [ronin-repos-install](ronin-repos-install.1.md) [ronin-repos-remove](ronin-repos-remove.1.md) [ronin-repos-update](ronin-repos-update.1.md) [ronin-repos-purge](ronin-repos-purge.1.md)
@@ -1,64 +1,54 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-repos-update 1 "2022-01-01" Ronin Repos "User Manuals"
4
- .LP
3
+ .TH ronin-repos-update 1 "2023-02-01" Ronin Repos "User Manuals"
4
+ .SH NAME
5
+ .PP
6
+ ronin\-repos\-update \- Updates all or one repository from the cache directory
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
- \fBronin-repos update\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIREPO\fP\[rB]
9
- .LP
8
+ .PP
9
+ \fBronin\-repos update\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIREPO\fP\[rB]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Updates all repositories or just one\.
14
- .LP
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fIREPO\fP
19
16
  The optional repository name to only update\.
20
- .LP
21
17
  .SH OPTIONS
22
- .LP
23
18
  .TP
24
- \fB-h\fR, \fB--help\fR
19
+ \fB\-C\fR, \fB\-\-cache\-dir\fR \fIDIR\fP
20
+ Overrides the default cache directory\.
21
+ .TP
22
+ \fB\-h\fR, \fB\-\-help\fR
25
23
  Prints help information\.
26
- .LP
27
24
  .SH EXAMPLES
28
- .LP
29
25
  .TP
30
- \fBronin-repos update\fR
26
+ \fBronin\-repos update\fR
31
27
  Updates all installed repositories\.
32
- .LP
33
28
  .TP
34
29
  \fBronin update repo\fR
35
30
  Updates the specific repository named \fBrepo\fR\.
36
- .LP
31
+ .SH ENVIRONMENT
32
+ .TP
33
+ \fIHOME\fP
34
+ Specifies the home directory of the user\. Ronin will search for the
35
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR cache directory within the home directory\.
36
+ .TP
37
+ \fIXDG\[ru]CACHE\[ru]HOME\fP
38
+ Specifies the cache directory to use\. Defaults to \fB\[Do]HOME\[sl]\.cache\fR\.
37
39
  .SH FILES
38
- .LP
39
40
  .TP
40
- \fI\[ti]\[sl]\.cache\[sl]ronin\-repos\[sl]\fP
41
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\[sl]\fR
41
42
  Installation directory for all repositories\.
42
- .LP
43
- .SH ENVIRONMENT
44
- .LP
45
- .PP
46
- HOME
47
- Specifies the home directory of the user\. Ronin will search for the
48
- \fI\[ti]\[sl]\.cache\[sl]ronin\-repos\fP cache directory within the home directory\.
49
- .LP
50
- .PP
51
- XDG\[ru]CACHE\[ru]HOME
52
- Specifies the cache directory to use\. Defaults to \fI\[Do]HOME\[sl]\.cache\fP\.
53
- .LP
54
43
  .SH AUTHOR
55
- .LP
56
44
  .PP
57
45
  Postmodern
58
46
  .MT postmodern\.mod3\[at]gmail\.com
59
47
  .ME
60
- .LP
61
48
  .SH SEE ALSO
62
- .LP
63
49
  .PP
64
- ronin\-repos(1) ronin\-repos\-repos\-install(1) ronin\-repos\-list(1) ronin\-repos\-remove(1) ronin\-repos\-purge(1)
50
+ .BR ronin\-repos (1)
51
+ .BR ronin\-repos\-repos\-install (1)
52
+ .BR ronin\-repos\-list (1)
53
+ .BR ronin\-repos\-remove (1)
54
+ .BR ronin\-repos\-purge (1)
@@ -1,4 +1,8 @@
1
- # ronin-repos-update 1 "2022-01-01" Ronin Repos "User Manuals"
1
+ # ronin-repos-update 1 "2023-02-01" Ronin Repos "User Manuals"
2
+
3
+ ## NAME
4
+
5
+ ronin-repos-update - Updates all or one repository from the cache directory
2
6
 
3
7
  ## SYNOPSIS
4
8
 
@@ -11,34 +15,37 @@ Updates all repositories or just one.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *REPO*
14
- The optional repository name to only update.
18
+ : The optional repository name to only update.
15
19
 
16
20
  ## OPTIONS
17
21
 
22
+ `-C`, `--cache-dir` *DIR*
23
+ : Overrides the default cache directory.
24
+
18
25
  `-h`, `--help`
19
- Prints help information.
26
+ : Prints help information.
20
27
 
21
28
  ## EXAMPLES
22
29
 
23
30
  `ronin-repos update`
24
- Updates all installed repositories.
31
+ : Updates all installed repositories.
25
32
 
26
33
  `ronin update repo`
27
- Updates the specific repository named `repo`.
34
+ : Updates the specific repository named `repo`.
28
35
 
29
- ## FILES
36
+ ## ENVIRONMENT
30
37
 
31
- *~/.cache/ronin-repos/*
32
- Installation directory for all repositories.
38
+ *HOME*
39
+ : Specifies the home directory of the user. Ronin will search for the
40
+ `~/.cache/ronin-repos` cache directory within the home directory.
33
41
 
34
- ## ENVIRONMENT
42
+ *XDG_CACHE_HOME*
43
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
35
44
 
36
- HOME
37
- Specifies the home directory of the user. Ronin will search for the
38
- *~/.cache/ronin-repos* cache directory within the home directory.
45
+ ## FILES
39
46
 
40
- XDG_CACHE_HOME
41
- Specifies the cache directory to use. Defaults to *$HOME/.cache*.
47
+ `~/.cache/ronin-repos/`
48
+ : Installation directory for all repositories.
42
49
 
43
50
  ## AUTHOR
44
51
 
@@ -46,4 +53,4 @@ Postmodern <postmodern.mod3@gmail.com>
46
53
 
47
54
  ## SEE ALSO
48
55
 
49
- ronin-repos(1) ronin-repos-repos-install(1) ronin-repos-list(1) ronin-repos-remove(1) ronin-repos-purge(1)
56
+ [ronin-repos](ronin-repos.1.md) [ronin-repos-repos-install](ronin-repos-repos-install.1.md) [ronin-repos-list](ronin-repos-list.1.md) [ronin-repos-remove](ronin-repos-remove.1.md) [ronin-repos-purge](ronin-repos-purge.1.md)
data/man/ronin-repos.1 CHANGED
@@ -1,49 +1,61 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-repos 1 "2022-01-01" Ronin Repos "User Manuals"
4
- .LP
3
+ .TH ronin-repos 1 "2023-02-01" Ronin Repos "User Manuals"
4
+ .SH NAME
5
+ .PP
6
+ ronin\-repos \- manages third\-party git repository for ronin\.
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
- \fBronin-repos\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP\[rB]
9
- .LP
8
+ .PP
9
+ \fBronin\-repos\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP\[rB]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
- Allows downloading and managing git repositories\. \fBronin-repos\fR can install
12
+ Allows downloading and managing git repositories\. \fBronin\-repos\fR can install
14
13
  and use any git repository containing Ruby code or other data\.
15
- .LP
16
14
  .SH OPTIONS
17
- .LP
18
15
  .TP
19
- \fB-h\fR, \fB--help\fR
16
+ \fB\-h\fR, \fB\-\-help\fR
20
17
  Prints help information\.
21
- .LP
22
- .SH FILES
23
- .LP
18
+ .SH COMMANDS
24
19
  .TP
25
- \fI\[ti]\[sl]\.cache\[sl]ronin\-repos\fP
26
- Installation directory for repositories\.
27
- .LP
20
+ \fBinstall\fR
21
+ Installs a 3rd\-party git repository\.
22
+ .TP
23
+ \fBlist\fR, \fBls\fR
24
+ Lists installed git repositories\.
25
+ .TP
26
+ \fBnew\fR
27
+ Generates a new git repository\.
28
+ .TP
29
+ \fBpurge\fR
30
+ Deletes all installed git repositories\.
31
+ .TP
32
+ \fBremove\fR, \fBrm\fR
33
+ Removes a previously installed git repository\.
34
+ .TP
35
+ \fBupdate\fR, \fBup\fR
36
+ Updates a previously installed git repository\.
28
37
  .SH ENVIRONMENT
29
- .LP
30
- .PP
31
- HOME
38
+ .TP
39
+ \fIHOME\fP
32
40
  Specifies the home directory of the user\. Ronin will search for the
33
- \fI\[ti]\[sl]\.cache\[sl]ronin\-repos\fP cache directory within the home directory\.
34
- .LP
35
- .PP
36
- XDG\[ru]CACHE\[ru]HOME
37
- Specifies the cache directory to use\. Defaults to \fI\[Do]HOME\[sl]\.cache\fP\.
38
- .LP
41
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR cache directory within the home directory\.
42
+ .TP
43
+ \fIXDG\[ru]CACHE\[ru]HOME\fP
44
+ Specifies the cache directory to use\. Defaults to \fB\[Do]HOME\[sl]\.cache\fR\.
45
+ .SH FILES
46
+ .TP
47
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR
48
+ Installation directory for repositories\.
39
49
  .SH AUTHOR
40
- .LP
41
50
  .PP
42
51
  Postmodern
43
52
  .MT postmodern\.mod3\[at]gmail\.com
44
53
  .ME
45
- .LP
46
54
  .SH SEE ALSO
47
- .LP
48
55
  .PP
49
- ronin\-repos\-install(1) ronin\-repos\-list(1) ronin\-repos\-remove(1) ronin\-repos\-update(1) ronin\-repos\-purge(1)
56
+ .BR ronin\-repos\-completion (1)
57
+ .BR ronin\-repos\-install (1)
58
+ .BR ronin\-repos\-list (1)
59
+ .BR ronin\-repos\-remove (1)
60
+ .BR ronin\-repos\-update (1)
61
+ .BR ronin\-repos\-purge (1)
data/man/ronin-repos.1.md CHANGED
@@ -1,4 +1,8 @@
1
- # ronin-repos 1 "2022-01-01" Ronin Repos "User Manuals"
1
+ # ronin-repos 1 "2023-02-01" Ronin Repos "User Manuals"
2
+
3
+ ## NAME
4
+
5
+ ronin-repos - manages third-party git repository for ronin.
2
6
 
3
7
  ## SYNOPSIS
4
8
 
@@ -12,21 +16,41 @@ and use any git repository containing Ruby code or other data.
12
16
  ## OPTIONS
13
17
 
14
18
  `-h`, `--help`
15
- Prints help information.
19
+ : Prints help information.
16
20
 
17
- ## FILES
21
+ ## COMMANDS
22
+
23
+ `install`
24
+ : Installs a 3rd-party git repository.
25
+
26
+ `list`, `ls`
27
+ : Lists installed git repositories.
28
+
29
+ `new`
30
+ : Generates a new git repository.
18
31
 
19
- *~/.cache/ronin-repos*
20
- Installation directory for repositories.
32
+ `purge`
33
+ : Deletes all installed git repositories.
34
+
35
+ `remove`, `rm`
36
+ : Removes a previously installed git repository.
37
+
38
+ `update`, `up`
39
+ : Updates a previously installed git repository.
21
40
 
22
41
  ## ENVIRONMENT
23
42
 
24
- HOME
25
- Specifies the home directory of the user. Ronin will search for the
26
- *~/.cache/ronin-repos* cache directory within the home directory.
43
+ *HOME*
44
+ : Specifies the home directory of the user. Ronin will search for the
45
+ `~/.cache/ronin-repos` cache directory within the home directory.
46
+
47
+ *XDG_CACHE_HOME*
48
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
49
+
50
+ ## FILES
27
51
 
28
- XDG_CACHE_HOME
29
- Specifies the cache directory to use. Defaults to *$HOME/.cache*.
52
+ `~/.cache/ronin-repos`
53
+ : Installation directory for repositories.
30
54
 
31
55
  ## AUTHOR
32
56
 
@@ -34,4 +58,4 @@ Postmodern <postmodern.mod3@gmail.com>
34
58
 
35
59
  ## SEE ALSO
36
60
 
37
- ronin-repos-install(1) ronin-repos-list(1) ronin-repos-remove(1) ronin-repos-update(1) ronin-repos-purge(1)
61
+ [ronin-repos-completion](ronin-repos-completion.1.md) [ronin-repos-install](ronin-repos-install.1.md) [ronin-repos-list](ronin-repos-list.1.md) [ronin-repos-remove](ronin-repos-remove.1.md) [ronin-repos-update](ronin-repos-update.1.md) [ronin-repos-purge](ronin-repos-purge.1.md)
data/ronin-repos.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'yaml'
4
4
 
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
22
22
  gem.homepage = gemspec['homepage']
23
23
  gem.metadata = gemspec['metadata'] if gemspec['metadata']
24
24
 
25
- glob = lambda { |patterns| gem.files & Dir[*patterns] }
25
+ glob = ->(patterns) { gem.files & Dir[*patterns] }
26
26
 
27
27
  gem.files = `git ls-files`.split($/)
28
28
  gem.files = glob[gemspec['files']] if gemspec['files']
@@ -33,6 +33,7 @@ Gem::Specification.new do |gem|
33
33
  gem.executables = gemspec.fetch('executables') do
34
34
  glob['bin/*'].map { |path| File.basename(path) }
35
35
  end
36
+
36
37
  gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
37
38
 
38
39
  gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
@@ -47,7 +48,7 @@ Gem::Specification.new do |gem|
47
48
  gem.required_rubygems_version = gemspec['required_rubygems_version']
48
49
  gem.post_install_message = gemspec['post_install_message']
49
50
 
50
- split = lambda { |string| string.split(/,\s*/) }
51
+ split = ->(string) { string.split(/,\s*/) }
51
52
 
52
53
  if gemspec['dependencies']
53
54
  gemspec['dependencies'].each do |name,versions|
data/scripts/setup ADDED
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+
3
+ #
4
+ # Prints a log message.
5
+ #
6
+ function log()
7
+ {
8
+ if [[ -t 1 ]]; then
9
+ echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
10
+ else
11
+ echo ">>> $1"
12
+ fi
13
+ }
14
+
15
+ #
16
+ # Prints a warn message.
17
+ #
18
+ function warn()
19
+ {
20
+ if [[ -t 1 ]]; then
21
+ echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
22
+ else
23
+ echo "*** $1" >&2
24
+ fi
25
+ }
26
+
27
+ #
28
+ # Prints an error message.
29
+ #
30
+ function error()
31
+ {
32
+ if [[ -t 1 ]]; then
33
+ echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
34
+ else
35
+ echo "!!! $1" >&2
36
+ fi
37
+ }
38
+
39
+ #
40
+ # Prints an error message and exists with -1.
41
+ #
42
+ function fail()
43
+ {
44
+ error "$@"
45
+ exit -1
46
+ }
47
+
48
+ # default to installing gems into vendor/bundle
49
+ if [[ ! -f .bundle/config ]]; then
50
+ bundle config set --local path vendor/bundle >/dev/null || \
51
+ fail "Failed to run 'bundle config'"
52
+ fi
53
+
54
+ log "Installing gems ..."
55
+ bundle install || fail "Failed to run 'bundle install'!"
56
+
57
+ log "Setting up the project ..."
58
+ bundle exec rake setup || "Failed to run 'rake setup'!"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-repos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-01 00:00:00.000000000 Z
11
+ date: 2024-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ronin-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: 0.2.0.rc1
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.1'
26
+ version: 0.2.0.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,8 +38,9 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.0'
41
- description: ronin-repos provides a repository system for installing, managing, and
42
- accessing third-party git repositories, which can contain code or other data.
41
+ description: |-
42
+ ronin-repos provides a repository system for installing, managing, and accessing third-party git repositories, that can contain additional Ruby code or other data. Other Ronin libraries, such as ronin-exploits or ronin-payloads, can then list and load additional third-party Ruby classes from specific directories within the installed third-party reposs.
43
+ ronin-repos is essentially a decentralized plugin system for Ronin using git repos.
43
44
  email: postmodern.mod3@gmail.com
44
45
  executables:
45
46
  - ronin-repos
@@ -53,6 +54,7 @@ files:
53
54
  - ".github/workflows/ruby.yml"
54
55
  - ".gitignore"
55
56
  - ".rspec"
57
+ - ".rubocop.yml"
56
58
  - ".ruby-version"
57
59
  - ".yardopts"
58
60
  - COPYING.txt
@@ -61,6 +63,8 @@ files:
61
63
  - README.md
62
64
  - Rakefile
63
65
  - bin/ronin-repos
66
+ - data/completions/ronin-repos
67
+ - data/completions/ronin-repos.yml
64
68
  - data/templates/repo/README.md.erb
65
69
  - gemspec.yml
66
70
  - lib/ronin/repos.rb
@@ -68,30 +72,38 @@ files:
68
72
  - lib/ronin/repos/class_dir.rb
69
73
  - lib/ronin/repos/cli.rb
70
74
  - lib/ronin/repos/cli/command.rb
75
+ - lib/ronin/repos/cli/commands/completion.rb
71
76
  - lib/ronin/repos/cli/commands/install.rb
72
77
  - lib/ronin/repos/cli/commands/list.rb
73
78
  - lib/ronin/repos/cli/commands/new.rb
74
79
  - lib/ronin/repos/cli/commands/purge.rb
75
80
  - lib/ronin/repos/cli/commands/remove.rb
81
+ - lib/ronin/repos/cli/commands/show.rb
76
82
  - lib/ronin/repos/cli/commands/update.rb
77
83
  - lib/ronin/repos/exceptions.rb
78
84
  - lib/ronin/repos/repository.rb
79
85
  - lib/ronin/repos/root.rb
80
86
  - lib/ronin/repos/version.rb
87
+ - man/ronin-repos-completion.1
88
+ - man/ronin-repos-completion.1.md
81
89
  - man/ronin-repos-install.1
82
90
  - man/ronin-repos-install.1.md
83
91
  - man/ronin-repos-list.1
84
92
  - man/ronin-repos-list.1.md
85
93
  - man/ronin-repos-new.1
94
+ - man/ronin-repos-new.1.md
86
95
  - man/ronin-repos-purge.1
87
96
  - man/ronin-repos-purge.1.md
88
97
  - man/ronin-repos-remove.1
89
98
  - man/ronin-repos-remove.1.md
99
+ - man/ronin-repos-show.1
100
+ - man/ronin-repos-show.1.md
90
101
  - man/ronin-repos-update.1
91
102
  - man/ronin-repos-update.1.md
92
103
  - man/ronin-repos.1
93
104
  - man/ronin-repos.1.md
94
105
  - ronin-repos.gemspec
106
+ - scripts/setup
95
107
  homepage: https://ronin-rb.dev
96
108
  licenses:
97
109
  - LGPL-3.0
@@ -116,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
128
  - !ruby/object:Gem::Version
117
129
  version: '0'
118
130
  requirements: []
119
- rubygems_version: 3.3.26
131
+ rubygems_version: 3.3.27
120
132
  signing_key:
121
133
  specification_version: 4
122
134
  summary: Third-party git repository support for ronin.