ronin-repos 0.1.0 → 0.2.0.rc1

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.
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.