ronin 1.5.0 → 1.5.1

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 (207) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.github/workflows/ruby.yml +32 -0
  4. data/.gitignore +7 -7
  5. data/.ruby-version +1 -0
  6. data/COPYING.txt +3 -3
  7. data/ChangeLog.md +25 -11
  8. data/Gemfile +21 -20
  9. data/README.md +102 -81
  10. data/Rakefile +4 -5
  11. data/bin/ronin +7 -12
  12. data/bin/ronin-campaigns +7 -12
  13. data/bin/ronin-console +7 -12
  14. data/bin/ronin-creds +7 -12
  15. data/bin/ronin-database +7 -12
  16. data/bin/ronin-emails +7 -12
  17. data/bin/ronin-exec +7 -12
  18. data/bin/ronin-fuzzer +7 -12
  19. data/bin/ronin-help +7 -12
  20. data/bin/ronin-hosts +7 -12
  21. data/bin/ronin-install +7 -12
  22. data/bin/ronin-ips +7 -12
  23. data/bin/ronin-net-proxy +7 -12
  24. data/bin/ronin-repos +7 -12
  25. data/bin/ronin-uninstall +7 -12
  26. data/bin/ronin-update +7 -12
  27. data/bin/ronin-urls +7 -12
  28. data/bin/ronin-wordlist +7 -12
  29. data/gemspec.yml +8 -8
  30. data/lib/bond/completions/ronin.rb +23 -23
  31. data/lib/ronin.rb +3 -3
  32. data/lib/ronin/address.rb +6 -7
  33. data/lib/ronin/arch.rb +3 -3
  34. data/lib/ronin/author.rb +5 -7
  35. data/lib/ronin/auto_load.rb +5 -5
  36. data/lib/ronin/bootstrap.rb +3 -3
  37. data/lib/ronin/campaign.rb +3 -3
  38. data/lib/ronin/config.rb +5 -7
  39. data/lib/ronin/credential.rb +3 -3
  40. data/lib/ronin/database.rb +3 -3
  41. data/lib/ronin/database/database.rb +8 -12
  42. data/lib/ronin/database/exceptions.rb +3 -3
  43. data/lib/ronin/database/exceptions/invalid_config.rb +3 -3
  44. data/lib/ronin/database/exceptions/unknown_repository.rb +3 -3
  45. data/lib/ronin/database/migrations.rb +3 -3
  46. data/lib/ronin/database/migrations/1.0.0.rb +3 -3
  47. data/lib/ronin/database/migrations/1.1.0.rb +3 -3
  48. data/lib/ronin/database/migrations/exceptions.rb +3 -3
  49. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +3 -3
  50. data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +3 -3
  51. data/lib/ronin/database/migrations/graph.rb +3 -3
  52. data/lib/ronin/database/migrations/migration.rb +3 -3
  53. data/lib/ronin/database/migrations/migrations.rb +3 -3
  54. data/lib/ronin/email_address.rb +5 -7
  55. data/lib/ronin/environment.rb +3 -3
  56. data/lib/ronin/exceptions.rb +3 -3
  57. data/lib/ronin/exceptions/duplicate_repository.rb +3 -3
  58. data/lib/ronin/exceptions/repository_not_found.rb +3 -3
  59. data/lib/ronin/host_name.rb +3 -3
  60. data/lib/ronin/host_name_ip_address.rb +3 -3
  61. data/lib/ronin/installation.rb +5 -7
  62. data/lib/ronin/ip_address.rb +6 -8
  63. data/lib/ronin/ip_address_mac_address.rb +3 -3
  64. data/lib/ronin/license.rb +6 -6
  65. data/lib/ronin/mac_address.rb +3 -3
  66. data/lib/ronin/model.rb +3 -3
  67. data/lib/ronin/model/has_authors.rb +3 -3
  68. data/lib/ronin/model/has_description.rb +3 -3
  69. data/lib/ronin/model/has_license.rb +3 -3
  70. data/lib/ronin/model/has_name.rb +3 -3
  71. data/lib/ronin/model/has_title.rb +3 -3
  72. data/lib/ronin/model/has_unique_name.rb +5 -7
  73. data/lib/ronin/model/has_version.rb +3 -3
  74. data/lib/ronin/model/importable.rb +3 -3
  75. data/lib/ronin/model/model.rb +7 -8
  76. data/lib/ronin/model/types.rb +3 -3
  77. data/lib/ronin/model/types/description.rb +9 -12
  78. data/lib/ronin/open_port.rb +5 -7
  79. data/lib/ronin/organization.rb +3 -3
  80. data/lib/ronin/os.rb +5 -7
  81. data/lib/ronin/os_guess.rb +3 -3
  82. data/lib/ronin/password.rb +3 -3
  83. data/lib/ronin/port.rb +3 -3
  84. data/lib/ronin/repositories.rb +3 -3
  85. data/lib/ronin/repository.rb +3 -3
  86. data/lib/ronin/ronin.rb +3 -3
  87. data/lib/ronin/script.rb +3 -3
  88. data/lib/ronin/script/buildable.rb +3 -3
  89. data/lib/ronin/script/deployable.rb +3 -3
  90. data/lib/ronin/script/exceptions.rb +3 -3
  91. data/lib/ronin/script/exceptions/build_failed.rb +3 -3
  92. data/lib/ronin/script/exceptions/deploy_failed.rb +3 -3
  93. data/lib/ronin/script/exceptions/exception.rb +3 -3
  94. data/lib/ronin/script/exceptions/not_built.rb +3 -3
  95. data/lib/ronin/script/exceptions/test_failed.rb +3 -3
  96. data/lib/ronin/script/path.rb +3 -3
  97. data/lib/ronin/script/script.rb +3 -3
  98. data/lib/ronin/script/testable.rb +3 -3
  99. data/lib/ronin/service.rb +3 -3
  100. data/lib/ronin/service_credential.rb +3 -3
  101. data/lib/ronin/software.rb +3 -3
  102. data/lib/ronin/spec/database.rb +27 -21
  103. data/lib/ronin/target.rb +3 -3
  104. data/lib/ronin/tcp_port.rb +3 -3
  105. data/lib/ronin/udp_port.rb +3 -3
  106. data/lib/ronin/ui.rb +3 -3
  107. data/lib/ronin/ui/cli.rb +3 -3
  108. data/lib/ronin/ui/cli/class_command.rb +14 -7
  109. data/lib/ronin/ui/cli/cli.rb +5 -5
  110. data/lib/ronin/ui/cli/command.rb +5 -7
  111. data/lib/ronin/ui/cli/commands.rb +3 -3
  112. data/lib/ronin/ui/cli/commands/campaigns.rb +5 -7
  113. data/lib/ronin/ui/cli/commands/console.rb +3 -3
  114. data/lib/ronin/ui/cli/commands/creds.rb +3 -3
  115. data/lib/ronin/ui/cli/commands/database.rb +3 -3
  116. data/lib/ronin/ui/cli/commands/emails.rb +3 -3
  117. data/lib/ronin/ui/cli/commands/exec.rb +3 -3
  118. data/lib/ronin/ui/cli/commands/fuzzer.rb +16 -16
  119. data/lib/ronin/ui/cli/commands/help.rb +3 -3
  120. data/lib/ronin/ui/cli/commands/hosts.rb +5 -7
  121. data/lib/ronin/ui/cli/commands/install.rb +7 -11
  122. data/lib/ronin/ui/cli/commands/ips.rb +5 -7
  123. data/lib/ronin/ui/cli/commands/net/proxy.rb +19 -12
  124. data/lib/ronin/ui/cli/commands/repos.rb +3 -3
  125. data/lib/ronin/ui/cli/commands/uninstall.rb +3 -3
  126. data/lib/ronin/ui/cli/commands/update.rb +3 -3
  127. data/lib/ronin/ui/cli/commands/urls.rb +3 -3
  128. data/lib/ronin/ui/cli/commands/wordlist.rb +3 -3
  129. data/lib/ronin/ui/cli/exceptions.rb +3 -3
  130. data/lib/ronin/ui/cli/exceptions/unknown_command.rb +3 -3
  131. data/lib/ronin/ui/cli/model_command.rb +6 -9
  132. data/lib/ronin/ui/cli/printing.rb +3 -3
  133. data/lib/ronin/ui/cli/resources_command.rb +7 -11
  134. data/lib/ronin/ui/cli/script_command.rb +5 -10
  135. data/lib/ronin/ui/console.rb +3 -3
  136. data/lib/ronin/ui/console/commands.rb +3 -3
  137. data/lib/ronin/ui/console/console.rb +3 -3
  138. data/lib/ronin/ui/console/context.rb +3 -3
  139. data/lib/ronin/ui/console/shell.rb +3 -3
  140. data/lib/ronin/url.rb +5 -7
  141. data/lib/ronin/url_query_param.rb +3 -3
  142. data/lib/ronin/url_query_param_name.rb +6 -6
  143. data/lib/ronin/url_scheme.rb +4 -4
  144. data/lib/ronin/user_name.rb +3 -3
  145. data/lib/ronin/vendor.rb +3 -3
  146. data/lib/ronin/version.rb +5 -5
  147. data/lib/ronin/web_credential.rb +5 -7
  148. data/man/ronin-campaigns.1.md +20 -20
  149. data/man/ronin-console.1.md +17 -17
  150. data/man/ronin-creds.1.md +16 -16
  151. data/man/ronin-database.1.md +23 -23
  152. data/man/ronin-emails.1.md +18 -18
  153. data/man/ronin-exec.1.md +11 -11
  154. data/man/ronin-fuzzer.1.md +23 -23
  155. data/man/ronin-help.1.md +5 -5
  156. data/man/ronin-hosts.1.md +20 -20
  157. data/man/ronin-install.1.md +18 -18
  158. data/man/ronin-ips.1.md +21 -21
  159. data/man/ronin-net-proxy.1.md +24 -24
  160. data/man/ronin-repos.1.md +18 -18
  161. data/man/ronin-uninstall.1.md +14 -14
  162. data/man/ronin-update.1.md +14 -14
  163. data/man/ronin-urls.1.md +22 -22
  164. data/man/ronin-wordlist.1.md +14 -13
  165. data/man/ronin.1.md +1 -1
  166. data/spec/arch_spec.rb +59 -46
  167. data/spec/author_spec.rb +14 -14
  168. data/spec/campaign_spec.rb +8 -0
  169. data/spec/credential_spec.rb +11 -8
  170. data/spec/database_spec.rb +6 -6
  171. data/spec/email_address_spec.rb +23 -20
  172. data/spec/host_name_spec.rb +24 -22
  173. data/spec/installation_spec.rb +6 -6
  174. data/spec/ip_address_spec.rb +31 -26
  175. data/spec/license_spec.rb +15 -9
  176. data/spec/mac_address_spec.rb +17 -8
  177. data/spec/model/has_authors_spec.rb +56 -37
  178. data/spec/model/has_description_spec.rb +36 -23
  179. data/spec/model/has_license_spec.rb +38 -28
  180. data/spec/model/has_name_spec.rb +36 -19
  181. data/spec/model/has_title_spec.rb +27 -14
  182. data/spec/model/has_version_spec.rb +64 -35
  183. data/spec/model/model_spec.rb +57 -33
  184. data/spec/model/models/{basic_model.rb → base_model.rb} +1 -1
  185. data/spec/model/models/{custom_model.rb → inherited_model.rb} +2 -3
  186. data/spec/os_spec.rb +24 -20
  187. data/spec/password_spec.rb +17 -9
  188. data/spec/port_spec.rb +30 -22
  189. data/spec/repository_spec.rb +59 -60
  190. data/spec/ronin_spec.rb +4 -4
  191. data/spec/script/buildable_spec.rb +8 -8
  192. data/spec/script/deployable_spec.rb +7 -7
  193. data/spec/script/path_spec.rb +42 -40
  194. data/spec/script/script_spec.rb +23 -23
  195. data/spec/script/testable_spec.rb +20 -20
  196. data/spec/service_spec.rb +14 -8
  197. data/spec/software_spec.rb +30 -17
  198. data/spec/spec_helper.rb +4 -4
  199. data/spec/ui/cli/classes/test_command.rb +2 -4
  200. data/spec/ui/cli/cli_spec.rb +5 -5
  201. data/spec/ui/cli/command_spec.rb +34 -30
  202. data/spec/url_query_param_spec.rb +23 -14
  203. data/spec/url_scheme_spec.rb +12 -9
  204. data/spec/url_spec.rb +64 -61
  205. data/spec/vendor_spec.rb +15 -8
  206. metadata +122 -150
  207. data/.gemtest +0 -0
data/bin/ronin-repos CHANGED
@@ -2,24 +2,19 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
- if File.directory?(File.join(root_dir,'.git'))
7
- Dir.chdir(root_dir) do |path|
8
- require 'bundler'
9
-
5
+ root = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.file?(File.join(root,'Gemfile.lock'))
7
+ Dir.chdir(root) do
10
8
  begin
11
- Bundler.setup(:default)
12
- rescue Bundler::BundlerError => e
9
+ require 'bundler/setup'
10
+ rescue LoadError => e
13
11
  warn e.message
14
- warn "Run `bundle install` to install missing gems"
15
- exit e.status_code
12
+ warn "Run `gem install bundler` to install Bundler"
13
+ exit -1
16
14
  end
17
15
  end
18
16
  end
19
17
 
20
- lib_dir = File.join(root_dir,'lib')
21
- $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
-
23
18
  require 'ronin/ui/cli/commands/repos'
24
19
 
25
20
  Ronin::UI::CLI::Commands::Repos.start
data/bin/ronin-uninstall CHANGED
@@ -2,24 +2,19 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
- if File.directory?(File.join(root_dir,'.git'))
7
- Dir.chdir(root_dir) do |path|
8
- require 'bundler'
9
-
5
+ root = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.file?(File.join(root,'Gemfile.lock'))
7
+ Dir.chdir(root) do
10
8
  begin
11
- Bundler.setup(:default)
12
- rescue Bundler::BundlerError => e
9
+ require 'bundler/setup'
10
+ rescue LoadError => e
13
11
  warn e.message
14
- warn "Run `bundle install` to install missing gems"
15
- exit e.status_code
12
+ warn "Run `gem install bundler` to install Bundler"
13
+ exit -1
16
14
  end
17
15
  end
18
16
  end
19
17
 
20
- lib_dir = File.join(root_dir,'lib')
21
- $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
-
23
18
  require 'ronin/ui/cli/commands/uninstall'
24
19
 
25
20
  Ronin::UI::CLI::Commands::Uninstall.start
data/bin/ronin-update CHANGED
@@ -2,24 +2,19 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
- if File.directory?(File.join(root_dir,'.git'))
7
- Dir.chdir(root_dir) do |path|
8
- require 'bundler'
9
-
5
+ root = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.file?(File.join(root,'Gemfile.lock'))
7
+ Dir.chdir(root) do
10
8
  begin
11
- Bundler.setup(:default)
12
- rescue Bundler::BundlerError => e
9
+ require 'bundler/setup'
10
+ rescue LoadError => e
13
11
  warn e.message
14
- warn "Run `bundle install` to install missing gems"
15
- exit e.status_code
12
+ warn "Run `gem install bundler` to install Bundler"
13
+ exit -1
16
14
  end
17
15
  end
18
16
  end
19
17
 
20
- lib_dir = File.join(root_dir,'lib')
21
- $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
-
23
18
  require 'ronin/ui/cli/commands/update'
24
19
 
25
20
  Ronin::UI::CLI::Commands::Update.start
data/bin/ronin-urls CHANGED
@@ -2,24 +2,19 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
- if File.directory?(File.join(root_dir,'.git'))
7
- Dir.chdir(root_dir) do |path|
8
- require 'bundler'
9
-
5
+ root = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.file?(File.join(root,'Gemfile.lock'))
7
+ Dir.chdir(root) do
10
8
  begin
11
- Bundler.setup(:default)
12
- rescue Bundler::BundlerError => e
9
+ require 'bundler/setup'
10
+ rescue LoadError => e
13
11
  warn e.message
14
- warn "Run `bundle install` to install missing gems"
15
- exit e.status_code
12
+ warn "Run `gem install bundler` to install Bundler"
13
+ exit -1
16
14
  end
17
15
  end
18
16
  end
19
17
 
20
- lib_dir = File.join(root_dir,'lib')
21
- $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
-
23
18
  require 'ronin/ui/cli/commands/urls'
24
19
 
25
20
  Ronin::UI::CLI::Commands::Urls.start
data/bin/ronin-wordlist CHANGED
@@ -2,24 +2,19 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
- if File.directory?(File.join(root_dir,'.git'))
7
- Dir.chdir(root_dir) do |path|
8
- require 'bundler'
9
-
5
+ root = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.file?(File.join(root,'Gemfile.lock'))
7
+ Dir.chdir(root) do
10
8
  begin
11
- Bundler.setup(:default)
12
- rescue Bundler::BundlerError => e
9
+ require 'bundler/setup'
10
+ rescue LoadError => e
13
11
  warn e.message
14
- warn "Run `bundle install` to install missing gems"
15
- exit e.status_code
12
+ warn "Run `gem install bundler` to install Bundler"
13
+ exit -1
16
14
  end
17
15
  end
18
16
  end
19
17
 
20
- lib_dir = File.join(root_dir,'lib')
21
- $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
-
23
18
  require 'ronin/ui/cli/commands/wordlist'
24
19
 
25
20
  Ronin::UI::CLI::Commands::Wordlist.start
data/gemspec.yml CHANGED
@@ -1,14 +1,14 @@
1
1
  name: ronin
2
- summary: A Ruby platform for exploit development and security research.
2
+ summary: A Ruby platform for vulnerability research and exploit development.
3
3
  description:
4
- Ronin is a Ruby platform for exploit development and security research.
5
- Ronin allows for the rapid development and distribution of code, exploits
6
- or payloads via Repositories.
4
+ Ronin is a Ruby platform for vulnerability research and exploit development.
5
+ Ronin allows for the rapid development and distribution of code, Exploits
6
+ Payloads, Scanners, etc, via Repositories.
7
7
 
8
- license: GPL-3
8
+ license: GPL-3.0
9
9
  authors: Postmodern
10
10
  email: postmodern.mod3@gmail.com
11
- homepage: http://ronin-ruby.github.com/
11
+ homepage: https://ronin-rb.dev
12
12
  has_yard: true
13
13
  post_install_message: |
14
14
  *************************************************************************
@@ -81,10 +81,10 @@ dependencies:
81
81
  ripl-short_errors: ~> 0.1
82
82
  ripl-color_result: ~> 0.3
83
83
  # Ronin dependencies:
84
- ronin-support: ~> 0.5
84
+ ronin-support: ~> 0.5, >= 0.5.2
85
85
 
86
86
  development_dependencies:
87
- bundler: ~> 1.0
87
+ bundler: ~> 2.0
88
88
  yard: ~> 0.8
89
89
  yard-dm: ~> 0.1
90
90
  yard-dm-is-predefined: ~> 0.2
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  require 'ronin/config'
@@ -68,11 +68,11 @@ complete(:anywhere => /[a-z]+:\/\/([^:\/\?]+(:\d+)?(\/[^\?;]*(\?[^\?;]*)?)?)?/)
68
68
  query = Ronin::URL.all('scheme.name' => match[1])
69
69
 
70
70
  if match[2]
71
- unless (match[4] || match[3])
72
- query = query.all('host_name.address.like' => "#{match[2]}%")
73
- else
74
- query = query.all('host_name.address' => match[2])
75
- end
71
+ query = unless (match[4] || match[3])
72
+ query.all('host_name.address.like' => "#{match[2]}%")
73
+ else
74
+ query.all('host_name.address' => match[2])
75
+ end
76
76
  end
77
77
 
78
78
  if match[3]
@@ -80,11 +80,11 @@ complete(:anywhere => /[a-z]+:\/\/([^:\/\?]+(:\d+)?(\/[^\?;]*(\?[^\?;]*)?)?)?/)
80
80
  end
81
81
 
82
82
  if match[4]
83
- unless match[5]
84
- query = query.all(:path.like => "#{match[4]}%")
85
- else
86
- query = query.all(:path => match[4])
87
- end
83
+ query = unless match[5]
84
+ query.all(:path.like => "#{match[4]}%")
85
+ else
86
+ query.all(:path => match[4])
87
+ end
88
88
  end
89
89
 
90
90
  if match[5]
@@ -93,19 +93,19 @@ complete(:anywhere => /[a-z]+:\/\/([^:\/\?]+(:\d+)?(\/[^\?;]*(\?[^\?;]*)?)?)?/)
93
93
  params[0..-2].each do |name,value|
94
94
  query = query.all(
95
95
  'query_params.name.name' => name,
96
- 'query_params.value' => value
96
+ 'query_params.value' => value
97
97
  )
98
98
  end
99
99
 
100
100
  if (param = params.last)
101
- if param[1].empty?
102
- query = query.all('query_params.name.name.like' => "#{param[0]}%")
103
- else
104
- query = query.all(
105
- 'query_params.name.name' => param[0],
106
- 'query_params.value.like' => "#{param[1]}%"
107
- )
108
- end
101
+ query = if param[1].empty?
102
+ query.all('query_params.name.name.like' => "#{param[0]}%")
103
+ else
104
+ query.all(
105
+ 'query_params.name.name' => param[0],
106
+ 'query_params.value.like' => "#{param[1]}%"
107
+ )
108
+ end
109
109
  end
110
110
  end
111
111
 
@@ -139,7 +139,7 @@ complete(:anywhere => /[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]*/) do |email|
139
139
  user, host = email.split('@',2)
140
140
 
141
141
  Ronin::EmailAddress.all(
142
- 'user_name.name' => user,
142
+ 'user_name.name' => user,
143
143
  'host_name.address.like' => "#{host}%"
144
144
  )
145
145
  end
data/lib/ronin.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  #
data/lib/ronin/address.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  require 'ronin/model'
@@ -86,10 +86,9 @@ module Ronin
86
86
  # @api public
87
87
  #
88
88
  def self.[](key)
89
- if key.kind_of?(String)
90
- first(:address => key)
91
- else
92
- super(key)
89
+ case key
90
+ when String then first(:address => key)
91
+ else super(key)
93
92
  end
94
93
  end
95
94
 
data/lib/ronin/arch.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  require 'ronin/model'
data/lib/ronin/author.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  require 'ronin/model'
@@ -57,10 +57,8 @@ module Ronin
57
57
  # @api public
58
58
  #
59
59
  def to_s
60
- if self.email
61
- "#{self.name} <#{self.email}>"
62
- else
63
- super
60
+ if self.email then "#{self.name} <#{self.email}>"
61
+ else super
64
62
  end
65
63
  end
66
64
 
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  require 'open_namespace'
@@ -53,7 +53,7 @@ module Ronin
53
53
  const = super(name)
54
54
 
55
55
  if (const && const < DataMapper::Resource)
56
- const.finalize
56
+ DataMapper.finalize
57
57
  end
58
58
 
59
59
  return const
@@ -81,7 +81,7 @@ module Ronin
81
81
 
82
82
  # if the loaded Class is a DataMapper Resource, re-finalize
83
83
  if const < DataMapper::Resource
84
- const.finalize
84
+ DataMapper.finalize
85
85
  end
86
86
 
87
87
  return const
@@ -1,7 +1,7 @@
1
1
  #
2
- # Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
- # This file is part of Ronin.
4
+ # This file is part of ronin.
5
5
  #
6
6
  # Ronin is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
14
14
  # GNU General Public License for more details.
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
- # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
17
+ # along with Ronin. If not, see <https://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
20
  #