ronin-db 0.1.0.beta1-java → 0.1.0.beta2-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/Gemfile +1 -6
  4. data/README.md +3 -3
  5. data/gemspec.yml +8 -1
  6. data/lib/ronin/db/cli/command.rb +1 -1
  7. data/lib/ronin/db/cli/commands/add.rb +1 -1
  8. data/lib/ronin/db/cli/commands/asn.rb +1 -1
  9. data/lib/ronin/db/cli/commands/creds.rb +1 -1
  10. data/lib/ronin/db/cli/commands/edit.rb +1 -1
  11. data/lib/ronin/db/cli/commands/emails.rb +1 -1
  12. data/lib/ronin/db/cli/commands/hosts.rb +1 -1
  13. data/lib/ronin/db/cli/commands/ips.rb +2 -2
  14. data/lib/ronin/db/cli/commands/irb.rb +1 -1
  15. data/lib/ronin/db/cli/commands/list.rb +1 -1
  16. data/lib/ronin/db/cli/commands/migrate.rb +1 -1
  17. data/lib/ronin/db/cli/commands/remove.rb +1 -1
  18. data/lib/ronin/db/cli/commands/urls.rb +1 -1
  19. data/lib/ronin/db/cli/database_command.rb +1 -1
  20. data/lib/ronin/db/cli/model_command.rb +1 -1
  21. data/lib/ronin/db/cli/modifiable.rb +1 -1
  22. data/lib/ronin/db/cli/resources_command.rb +1 -1
  23. data/lib/ronin/db/cli/ruby_shell.rb +1 -1
  24. data/lib/ronin/db/cli/uri_methods.rb +1 -1
  25. data/lib/ronin/db/cli.rb +6 -1
  26. data/lib/ronin/db/config_file.rb +1 -1
  27. data/lib/ronin/db/exceptions.rb +1 -1
  28. data/lib/ronin/db/home.rb +1 -1
  29. data/lib/ronin/db/root.rb +1 -1
  30. data/lib/ronin/db/version.rb +2 -2
  31. data/lib/ronin/db.rb +3 -3
  32. data/ronin-db.gemspec +2 -1
  33. metadata +9 -19
  34. data/spec/cli/commands/add_spec.rb +0 -220
  35. data/spec/cli/commands/edit_spec.rb +0 -12
  36. data/spec/cli/commands/irb_spec.rb +0 -26
  37. data/spec/cli/database_command_spec.rb +0 -53
  38. data/spec/cli/model_command_spec.rb +0 -237
  39. data/spec/cli/ruby_shell_spec.rb +0 -14
  40. data/spec/cli/uri_methods_spec.rb +0 -190
  41. data/spec/spec_helper.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fda62542d7e3cc84f8d6d835cdaca71db0a9e1f38bbee3022935b17039fc95fd
4
- data.tar.gz: 271084207abc32d30e9a47f6cc39b371fbf81d5d3d43a4487c4a948da204bc9b
3
+ metadata.gz: 4a7bd725d5d4c65c237cf90b8740e68d0ca6bfefefff00c5e9aa878bb3aacce0
4
+ data.tar.gz: dcb49fc79a5ac5d0c937edb5465478fa8b0e035d170f95cdaff9ede1cc6e51a1
5
5
  SHA512:
6
- metadata.gz: 5a4e7262739d0115ab9dbf11e88e899ca71f0a4f266dd9c4e49f6fcad506cd3cd223d5f580cda07c6ec779dc00c9475a3774fd8d4a28554b99ad9287e1593ac0
7
- data.tar.gz: 64016ad8d5be6b2a7d0b392ae3b976b88b629395c546570ce9c914dee465ff7353b846d5b4570ced210c98cb13da6f88e0ce1a5d44d153b08da76befddadce2a
6
+ metadata.gz: 62f2d7d0d837c5754f974674e2fb668076533f44164999ff52e8bdf01f0ac524898902900ec3597825f4333dc2bccbb11ac140ab441c4cfa878bf3ff87736565
7
+ data.tar.gz: a9fadcf60d1ac739caac77e192c92731fbc7e39fb0fd08d9804160579102613eeb7e3d58c72b04a4cbaa9f27fac7dfa6116fff5e492078cf42663a0074545d10
data/.yardopts CHANGED
@@ -1 +1 @@
1
- --markup markdown --title 'Ronin DB Documentation' --protected
1
+ --markup markdown --title 'Ronin::DB Documentation' --protected
data/Gemfile CHANGED
@@ -2,12 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'sqlite3', '~> 1.0', platform: :mri
6
-
7
- platform :jruby do
8
- gem 'jruby-openssl', '~> 0.7'
9
- gem 'activerecord-jdbcsqlite3-adapter', '~> 70.0.pre'
10
- end
5
+ gem 'jruby-openssl', '~> 0.7', platform: :jruby
11
6
 
12
7
  # gem 'command_kit', '0.4.0', github: 'postmodern/command_kit',
13
8
  # branch: 'main'
data/README.md CHANGED
@@ -204,8 +204,8 @@ and [ronin-db-activerecord].
204
204
  ## Requirements
205
205
 
206
206
  * [Ruby] >= 3.0.0
207
- * [libsqlite3][sqlite] ~> 1.0
208
- (or [activerecord-jdbcsqlite3-adapter] ~> 70.0.pre on JRuby)
207
+ * [libsqlite3][sqlite]
208
+ * [sqlite3] (or [activerecord-jdbcsqlite3-adapter] ~> 70.0.pre on JRuby)
209
209
  * [ronin-db-activerecord] ~> 0.1
210
210
  * [ronin-support] ~> 1.0
211
211
  * [ronin-core] ~> 0.1
@@ -244,7 +244,7 @@ local database console.
244
244
 
245
245
  ## License
246
246
 
247
- Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
247
+ Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
248
248
 
249
249
  ronin-db is free software: you can redistribute it and/or modify
250
250
  it under the terms of the GNU Lesser General Public License as published
data/gemspec.yml CHANGED
@@ -13,6 +13,13 @@ email: postmodern.mod3@gmail.com
13
13
  homepage: https://ronin-rb.dev
14
14
  has_yard: true
15
15
 
16
+ metadata:
17
+ documentation_uri: https://ronin-rb.dev/docs/ronin-db
18
+ source_code_uri: https://github.com/ronin-rb/ronin-db
19
+ bug_tracker_uri: https://github.com/ronin-rb/ronin-db/issues
20
+ changelog_uri: https://github.com/ronin-rb/ronin-db/blob/main/ChangeLog.md
21
+ rubygems_mfa_required: 'true'
22
+
16
23
  generated_files:
17
24
  - man/ronin-db-add.1
18
25
  - man/ronin-db-asn.1
@@ -31,7 +38,7 @@ generated_files:
31
38
  required_ruby_version: ">= 3.0.0"
32
39
 
33
40
  ruby_dependencies:
34
- sqlite: ~> 1.0
41
+ sqlite3: ~> 1.0
35
42
 
36
43
  jruby_dependencies:
37
44
  activerecord-jdbcsqlite3-adapter: ~> 70.0.pre
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -26,7 +26,7 @@ module Ronin
26
26
  class CLI
27
27
  module Commands
28
28
  #
29
- # Manages {IPAddress IPAddresses}.
29
+ # Manages IP addresses in the database.
30
30
  #
31
31
  # ## Usage
32
32
  #
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
data/lib/ronin/db/cli.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,8 +18,11 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
+ require 'ronin/db/version'
22
+
21
23
  require 'command_kit/commands'
22
24
  require 'command_kit/commands/auto_load'
25
+ require 'command_kit/options/version'
23
26
 
24
27
  module Ronin
25
28
  module DB
@@ -30,8 +33,10 @@ module Ronin
30
33
  dir: "#{__dir__}/cli/commands",
31
34
  namespace: "#{self}::Commands"
32
35
  )
36
+ include CommandKit::Options::Version
33
37
 
34
38
  command_name 'ronin-db'
39
+ version Ronin::DB::VERSION
35
40
 
36
41
  end
37
42
  end
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
data/lib/ronin/db/home.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
data/lib/ronin/db/root.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -21,6 +21,6 @@
21
21
  module Ronin
22
22
  module DB
23
23
  # ronin-db version
24
- VERSION = '0.1.0.beta1'
24
+ VERSION = '0.1.0.beta2'
25
25
  end
26
26
  end
data/lib/ronin/db.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -73,8 +73,8 @@ module Ronin
73
73
  #
74
74
  # Connects to the Database.
75
75
  #
76
- # @param [Symbol, Hash] uri
77
- # The optional default repository to setup instead of {repositories}.
76
+ # @param [Symbol, Hash] database
77
+ # The optional database name or Hash of database information.
78
78
  #
79
79
  # @param [Boolean] migrate
80
80
  # Specifies whether to hard or lazy migrate the database.
data/ronin-db.gemspec CHANGED
@@ -27,6 +27,8 @@ Gem::Specification.new do |gem|
27
27
  gem.files = `git ls-files`.split($/)
28
28
  gem.files = glob[gemspec['files']] if gemspec['files']
29
29
  gem.files += Array(gemspec['generated_files'])
30
+ # exclude test files from the packages gem
31
+ gem.files -= glob[gemspec['test_files'] || 'spec/{**/}*']
30
32
 
31
33
  gem.executables = gemspec.fetch('executables') do
32
34
  glob['bin/*'].map { |path| File.basename(path) }
@@ -34,7 +36,6 @@ Gem::Specification.new do |gem|
34
36
  gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
35
37
 
36
38
  gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
37
- gem.test_files = glob[gemspec['test_files'] || 'spec/{**/}*_spec.rb']
38
39
  gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
39
40
 
40
41
  gem.require_paths = Array(gemspec.fetch('require_paths') {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta1
4
+ version: 0.1.0.beta2
5
5
  platform: java
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-01 00:00:00.000000000 Z
11
+ date: 2023-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -159,18 +159,15 @@ files:
159
159
  - man/ronin-db-urls.1
160
160
  - man/ronin-db-urls.1.md
161
161
  - ronin-db.gemspec
162
- - spec/cli/commands/add_spec.rb
163
- - spec/cli/commands/edit_spec.rb
164
- - spec/cli/commands/irb_spec.rb
165
- - spec/cli/database_command_spec.rb
166
- - spec/cli/model_command_spec.rb
167
- - spec/cli/ruby_shell_spec.rb
168
- - spec/cli/uri_methods_spec.rb
169
- - spec/spec_helper.rb
170
162
  homepage: https://ronin-rb.dev
171
163
  licenses:
172
164
  - LGPL-3.0
173
- metadata: {}
165
+ metadata:
166
+ documentation_uri: https://ronin-rb.dev/docs/ronin-db
167
+ source_code_uri: https://github.com/ronin-rb/ronin-db
168
+ bug_tracker_uri: https://github.com/ronin-rb/ronin-db/issues
169
+ changelog_uri: https://github.com/ronin-rb/ronin-db/blob/main/ChangeLog.md
170
+ rubygems_mfa_required: 'true'
174
171
  post_install_message:
175
172
  rdoc_options: []
176
173
  require_paths:
@@ -190,11 +187,4 @@ rubygems_version: 3.3.25
190
187
  signing_key:
191
188
  specification_version: 4
192
189
  summary: A common database library for managing and querying security data
193
- test_files:
194
- - spec/cli/commands/add_spec.rb
195
- - spec/cli/commands/edit_spec.rb
196
- - spec/cli/commands/irb_spec.rb
197
- - spec/cli/database_command_spec.rb
198
- - spec/cli/model_command_spec.rb
199
- - spec/cli/ruby_shell_spec.rb
200
- - spec/cli/uri_methods_spec.rb
190
+ test_files: []
@@ -1,220 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/commands/add'
3
-
4
- describe Ronin::DB::CLI::Commands::Add do
5
- describe "options" do
6
- before { subject.parse_options(argv) }
7
-
8
- describe "--adapter" do
9
- let(:adapter) { 'sqlite3' }
10
- let(:argv) { ['--adapter', adapter] }
11
-
12
- it "must set #config[:adapter]" do
13
- expect(subject.config[:adapter]).to eq(adapter)
14
- end
15
- end
16
-
17
- describe "--sqlite3" do
18
- let(:database) { '/path/to/file.sqlite3' }
19
- let(:argv) { ['--sqlite3', database] }
20
-
21
- it "must set #config[:adapter] to 'sqlite3'" do
22
- expect(subject.config[:adapter]).to eq('sqlite3')
23
- end
24
-
25
- it "must set #config[:database] to the given path" do
26
- expect(subject.config[:database]).to eq(database)
27
- end
28
-
29
- context "when the argument is a relative path" do
30
- let(:database) { 'file.sqlite3' }
31
-
32
- it "must expand the relative path before setting #config[:database]" do
33
- expect(subject.config[:database]).to eq(File.expand_path(database))
34
- end
35
- end
36
- end
37
-
38
- describe "--mysql2" do
39
- let(:argv) { ['--mysql2'] }
40
-
41
- it "must set #config[:adapter] to 'mysql2'" do
42
- expect(subject.config[:adapter]).to eq('mysql2')
43
- end
44
- end
45
-
46
- describe "--postgresql" do
47
- let(:argv) { ['--postgresql'] }
48
-
49
- it "must set #config[:adapter] to 'postgresql'" do
50
- expect(subject.config[:adapter]).to eq('postgresql')
51
- end
52
- end
53
-
54
- describe "--host" do
55
- let(:host) { 'example.com' }
56
- let(:argv) { ['--host', host] }
57
-
58
- it "must set #config[:host]" do
59
- expect(subject.config[:host]).to eq(host)
60
- end
61
- end
62
-
63
- describe "--port" do
64
- let(:port) { 1234 }
65
- let(:argv) { ['--port', port.to_s] }
66
-
67
- it "must set #config[:port]" do
68
- expect(subject.config[:port]).to eq(port)
69
- end
70
- end
71
-
72
- describe "--username" do
73
- let(:username) { 'foo' }
74
- let(:argv) { ['--username', username] }
75
-
76
- it "must set #config[:username]" do
77
- expect(subject.config[:username]).to eq(username)
78
- end
79
- end
80
-
81
- describe "--password" do
82
- let(:password) { 'secret' }
83
- let(:argv) { ['--password', password] }
84
-
85
- it "must set #config[:password]" do
86
- expect(subject.config[:password]).to eq(password)
87
- end
88
- end
89
-
90
- describe "--database" do
91
- let(:database) { 'foo' }
92
- let(:argv) { ['--database', database] }
93
-
94
- it "must set #config[:database]" do
95
- expect(subject.config[:database]).to eq(database)
96
- end
97
- end
98
- end
99
-
100
- describe "#initialize" do
101
- it "must initialize #config to an empty Hash" do
102
- expect(subject.config).to eq({})
103
- end
104
- end
105
-
106
- describe "#run" do
107
- let(:adapter) { 'sqlite3' }
108
- let(:database) { '/path/to/test.sqlite3' }
109
- let(:name) { 'test' }
110
-
111
- let(:config_file_hash) { {} }
112
-
113
- context "when given a URI argument" do
114
- let(:uri) { "#{adapter}:#{database}" }
115
-
116
- it "must parse the URI, call ConfigFile.edit, and add #config to it with the given NAME argument" do
117
- expect(Ronin::DB::ConfigFile).to receive(:edit).and_yield(config_file_hash)
118
-
119
- subject.run(name,uri)
120
-
121
- expect(config_file_hash[name]).to eq(
122
- {
123
- adapter: adapter,
124
- database: database
125
- }
126
- )
127
- end
128
- end
129
-
130
- context "when given options instead of a URI argument" do
131
- let(:argv) do
132
- [
133
- '--adapter', adapter,
134
- '--database', database
135
- ]
136
- end
137
-
138
- before { subject.parse_options(argv) }
139
-
140
- it "must call ConfigFile.edit and add #config to it with the given NAME argument" do
141
- expect(Ronin::DB::ConfigFile).to receive(:edit).and_yield(config_file_hash)
142
-
143
- subject.run(name)
144
-
145
- expect(config_file_hash[name]).to eq(
146
- {
147
- adapter: adapter,
148
- database: database
149
- }
150
- )
151
- end
152
- end
153
-
154
- context "when #config[:adapter] is not set" do
155
- let(:argv) { ['--database', '/path/to/db.sqlite3'] }
156
-
157
- before { subject.parse_options(argv) }
158
-
159
- it "must print an error message and exit with 1" do
160
- expect {
161
- subject.run(name)
162
- }.to output("add: must specify a URI or the --adapter option#{$/}").to_stderr.and(raise_error(SystemExit))
163
- end
164
- end
165
-
166
- context "when #config[:database] is not set" do
167
- let(:argv) { ['--adapter', 'sqlite3'] }
168
-
169
- before { subject.parse_options(argv) }
170
-
171
- it "must print an error message and exit with 1" do
172
- expect {
173
- subject.run(name)
174
- }.to output("add: must specify a URI or the --database option#{$/}").to_stderr.and(raise_error(SystemExit))
175
- end
176
- end
177
- end
178
-
179
- describe "#read_password" do
180
- let(:password) { 'secret' }
181
-
182
- it "must call #ask_secret with 'Password' and set config[:password]" do
183
- expect(subject).to receive(:ask_secret).with('Password').and_return(password)
184
-
185
- subject.read_password
186
-
187
- expect(subject.config[:password]).to eq(password)
188
- end
189
- end
190
-
191
- describe "#validate_config!" do
192
- context "when #config[:adapter] is not set" do
193
- before do
194
- subject.config[:database] = '/path/to/db.sqlite3'
195
- end
196
-
197
- it "must print an error message and exit with 1" do
198
- expect(subject).to receive(:exit).with(1)
199
-
200
- expect {
201
- subject.validate_config!
202
- }.to output("add: must specify a URI or the --adapter option#{$/}").to_stderr
203
- end
204
- end
205
-
206
- context "when #config[:database] is not set" do
207
- before do
208
- subject.config[:adapter] = 'sqlite3'
209
- end
210
-
211
- it "must print an error message and exit with 1" do
212
- expect(subject).to receive(:exit).with(1)
213
-
214
- expect {
215
- subject.validate_config!
216
- }.to output("add: must specify a URI or the --database option#{$/}").to_stderr
217
- end
218
- end
219
- end
220
- end
@@ -1,12 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/commands/edit'
3
-
4
- describe Ronin::DB::CLI::Commands::Edit do
5
- describe "#run" do
6
- it "must edit the ConfigFile::PATH" do
7
- expect(subject).to receive(:edit).with(Ronin::DB::ConfigFile::PATH)
8
-
9
- subject.run
10
- end
11
- end
12
- end
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/commands/irb'
3
-
4
- describe Ronin::DB::CLI::Commands::Irb do
5
- describe "#run" do
6
- it "must call #connet, then #load_models, then CLI::RubyShell.start" do
7
- expect(subject).to receive(:connect)
8
- expect(subject).to receive(:load_models)
9
- expect(Ronin::DB::CLI::RubyShell).to receive(:start)
10
-
11
- subject.run
12
- end
13
-
14
- context "when #options[:no_connect] is set" do
15
- before { subject.options[:no_connect] = true }
16
-
17
- it "must not call #connet or #load_models" do
18
- expect(subject).to_not receive(:connect)
19
- expect(subject).to_not receive(:load_models)
20
- expect(Ronin::DB::CLI::RubyShell).to receive(:start)
21
-
22
- subject.run
23
- end
24
- end
25
- end
26
- end
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/database_command'
3
-
4
- describe Ronin::DB::CLI::DatabaseCommand do
5
- describe "#config" do
6
- context "when neither options[:db] nor options[:db_uri] are set" do
7
- it "must default to connecting to the :default database" do
8
- expect(subject.config).to eq(Ronin::DB.config[:default])
9
- end
10
- end
11
-
12
- context "when options[:db] is set" do
13
- let(:db_name) { :test }
14
- let(:config) do
15
- {
16
- db_name => {
17
- adapter: 'sqlite3',
18
- database: '/path/to/db.sqlite3'
19
- }
20
- }
21
- end
22
-
23
- before do
24
- allow(Ronin::DB).to receive(:config).and_return(config)
25
-
26
- subject.options[:db] = db_name
27
- end
28
-
29
- it "must return the database configuration for options[:db]" do
30
- expect(subject.config).to eq(Ronin::DB.config[db_name])
31
- end
32
- end
33
-
34
- context "when options[:db_uri] is set" do
35
- let(:db_uri) { "postgres://user:password@host:1234/database" }
36
- let(:parsed_uri) { subject.parse_uri(subject.options[:db_uri]) }
37
-
38
- before { subject.options[:db_uri] = db_uri }
39
-
40
- it "must return the parsed URI for options[:db_uri]" do
41
- expect(subject.config).to eq(parsed_uri)
42
- end
43
- end
44
- end
45
-
46
- describe "#connect" do
47
- it "must call ActiveRecord::Base.establish_connection with #config" do
48
- expect(ActiveRecord::Base).to receive(:establish_connection).with(subject.config)
49
-
50
- subject.connect
51
- end
52
- end
53
- end
@@ -1,237 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/model_command'
3
- require 'ronin/db/ip_address'
4
- require 'ronin/db/host_name'
5
-
6
- describe Ronin::DB::CLI::ModelCommand do
7
- it "must inherit from Ronin::DB::CLI::DatabaseCommand" do
8
- expect(described_class).to be < Ronin::DB::CLI::DatabaseCommand
9
- end
10
-
11
- describe ".model_file" do
12
- subject { test_class }
13
-
14
- context "and when model_file is not set in the class" do
15
- module TestModelCommand
16
- class WithNoModelFileSet < Ronin::DB::CLI::ModelCommand
17
- end
18
- end
19
-
20
- let(:test_class) { TestModelCommand::WithNoModelFileSet }
21
-
22
- it do
23
- expect {
24
- subject.model_file
25
- }.to raise_error(NotImplementedError,"#{subject} did not define model_file")
26
- end
27
- end
28
-
29
- context "and when model_file is set in the class" do
30
- module TestModelCommand
31
- class WithModelFileSet < Ronin::DB::CLI::ModelCommand
32
- model_file 'ronin/db/test'
33
- end
34
- end
35
-
36
- let(:test_class) { TestModelCommand::WithModelFileSet }
37
-
38
- it "must return the set model_file" do
39
- expect(subject.model_file).to eq('ronin/db/test')
40
- end
41
- end
42
-
43
- context "but when the model_file was set in the superclass" do
44
- module TestModelCommand
45
- class InheritsItsModelFile < WithModelFileSet
46
- end
47
- end
48
-
49
- let(:test_class) { TestModelCommand::InheritsItsModelFile }
50
-
51
- it "must return the model_file set in the superclass" do
52
- expect(subject.model_file).to eq('ronin/db/test')
53
- end
54
-
55
- context "but the model_file is overridden in the sub-class" do
56
- module TestModelCommand
57
- class OverridesItsInheritedModelFile < WithModelFileSet
58
- model_file 'ronin/db/test2'
59
- end
60
- end
61
-
62
- let(:test_class) do
63
- TestModelCommand::OverridesItsInheritedModelFile
64
- end
65
-
66
- it "must return the model_file set in the sub-class" do
67
- expect(subject.model_file).to eq('ronin/db/test2')
68
- end
69
-
70
- it "must not modify the superclass'es model_file" do
71
- expect(subject.superclass.model_file).to eq('ronin/db/test')
72
- end
73
- end
74
- end
75
- end
76
-
77
- describe ".model_name" do
78
- subject { test_class }
79
-
80
- context "and when model_name is not set in the class" do
81
- module TestModelCommand
82
- class WithNoModelNameSet < Ronin::DB::CLI::ModelCommand
83
- end
84
- end
85
-
86
- let(:test_class) { TestModelCommand::WithNoModelNameSet }
87
-
88
- it do
89
- expect {
90
- subject.model_name
91
- }.to raise_error(NotImplementedError,"#{subject} did not define model_name")
92
- end
93
- end
94
-
95
- context "and when model_name is set in the class" do
96
- module TestModelCommand
97
- class WithModelNameSet < Ronin::DB::CLI::ModelCommand
98
- model_name 'Test'
99
- end
100
- end
101
-
102
- let(:test_class) { TestModelCommand::WithModelNameSet }
103
-
104
- it "must return the set model_name" do
105
- expect(subject.model_name).to eq('Test')
106
- end
107
- end
108
-
109
- context "but when the model_name was set in the superclass" do
110
- module TestModelCommand
111
- class InheritsItsModelName < WithModelNameSet
112
- end
113
- end
114
-
115
- let(:test_class) { TestModelCommand::InheritsItsModelName }
116
-
117
- it "must return the model_name set in the superclass" do
118
- expect(subject.model_name).to eq('Test')
119
- end
120
-
121
- context "but the model_name is overridden in the sub-class" do
122
- module TestModelCommand
123
- class OverridesItsInheritedModelName < WithModelNameSet
124
- model_name 'Test2'
125
- end
126
- end
127
-
128
- let(:test_class) do
129
- TestModelCommand::OverridesItsInheritedModelName
130
- end
131
-
132
- it "must return the model_name set in the sub-class" do
133
- expect(subject.model_name).to eq('Test2')
134
- end
135
-
136
- it "must not modify the superclass'es model_name" do
137
- expect(subject.superclass.model_name).to eq('Test')
138
- end
139
- end
140
- end
141
- end
142
-
143
- describe ".model_name" do
144
- end
145
-
146
- module TestModelCommand
147
- class TestCommand < Ronin::DB::CLI::ModelCommand
148
- model_file 'ronin/db/ip_address'
149
- model_name 'IPAddress'
150
- end
151
- end
152
-
153
- let(:test_command) { TestModelCommand::TestCommand }
154
- subject { test_command.new }
155
-
156
- describe "#initialize" do
157
- it "must initialize #query_method_calls to an empty Array" do
158
- expect(subject.query_method_calls).to eq([])
159
- end
160
- end
161
-
162
- describe "#model" do
163
- it "must resolve the class for the model within Ronin::DB::" do
164
- expect(subject.model).to be(Ronin::DB.const_get(subject.class.model_name))
165
- end
166
- end
167
-
168
- describe "#query" do
169
- let(:host) { 'example.com' }
170
- let(:ipv4) { '93.184.216.34' }
171
- let(:ipv6) { '2606:2800:220:1:248:1893:25c8:1946' }
172
-
173
- before do
174
- host_name = Ronin::DB::HostName.create(name: host)
175
-
176
- Ronin::DB::IPAddress.create(address: '127.0.0.1', version: 4)
177
- Ronin::DB::IPAddress.create(
178
- address: ipv4,
179
- version: 4,
180
- host_names: [host_name]
181
- )
182
- Ronin::DB::IPAddress.create(
183
- address: ipv6,
184
- version: 6,
185
- host_names: [host_name]
186
- )
187
- Ronin::DB::IPAddress.create(address: '::1', version: 6)
188
- end
189
-
190
- context "when #query_method_calls is empty" do
191
- it "must return a ActiveRecord_Relation object" do
192
- expect(subject.query).to be_kind_of(
193
- subject.model.const_get('ActiveRecord_Relation')
194
- )
195
- end
196
- end
197
-
198
- context "when #query_method_calls contains a :where method call" do
199
- before do
200
- subject.query_method_calls << [:where, [], {version: 4}]
201
- end
202
-
203
- it "must invoke #where with the given arguments on the query" do
204
- expect(subject.query).to eq(
205
- Ronin::DB::IPAddress.where(version: 4)
206
- )
207
- end
208
- end
209
-
210
- context "when #query_method_calls contains a scoped query method call" do
211
- before do
212
- subject.query_method_calls << [:with_host_name, [host]]
213
- end
214
-
215
- it "must invoke the scoped query method on the query" do
216
- expect(subject.query).to eq(
217
- Ronin::DB::IPAddress.with_host_name(host)
218
- )
219
- end
220
- end
221
-
222
- after do
223
- Ronin::DB::IPAddress.destroy_all
224
- Ronin::DB::HostName.destroy_all
225
- end
226
- end
227
-
228
- describe "#print_record" do
229
- let(:record) { Ronin::DB::IPAddress.new(address: '127.0.0.1') }
230
-
231
- it "must print the record using #puts" do
232
- expect {
233
- subject.print_record(record)
234
- }.to output("#{record}#{$/}").to_stdout
235
- end
236
- end
237
- end
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/ruby_shell'
3
-
4
- describe Ronin::DB::CLI::RubyShell do
5
- describe "#initialize" do
6
- it "must default #name to 'ronin-db'" do
7
- expect(subject.name).to eq('ronin-db')
8
- end
9
-
10
- it "must default #context to Ronin::DB" do
11
- expect(subject.context).to be(Ronin::DB)
12
- end
13
- end
14
- end
@@ -1,190 +0,0 @@
1
- require 'spec_helper'
2
- require 'ronin/db/cli/uri_methods'
3
-
4
- describe Ronin::DB::CLI::URIMethods do
5
- subject do
6
- obj = Object.new
7
- obj.extend described_class
8
- obj
9
- end
10
-
11
- describe "#normalize_adapter" do
12
- context "when given 'sqlite'" do
13
- it "must return 'sqlite3'" do
14
- expect(subject.normalize_adapter('sqlite')).to eq('sqlite3')
15
- end
16
- end
17
-
18
- context "when given 'sqlite3'" do
19
- it "must return 'sqlite3'" do
20
- expect(subject.normalize_adapter('sqlite3')).to eq('sqlite3')
21
- end
22
- end
23
-
24
- context "when given 'mysql'" do
25
- it "must return 'mysql2'" do
26
- expect(subject.normalize_adapter('mysql')).to eq('mysql2')
27
- end
28
- end
29
-
30
- context "when given 'mysql2'" do
31
- it "must return 'mysql2'" do
32
- expect(subject.normalize_adapter('mysql2')).to eq('mysql2')
33
- end
34
- end
35
-
36
- context "when given 'postgresql'" do
37
- it "must return 'postgresql'" do
38
- expect(subject.normalize_adapter('postgresql')).to eq('postgresql')
39
- end
40
- end
41
-
42
- context "when given 'postgres'" do
43
- it "must return 'postgresql'" do
44
- expect(subject.normalize_adapter('postgres')).to eq('postgresql')
45
- end
46
- end
47
-
48
- context "when given 'psql'" do
49
- it "must return 'postgresql'" do
50
- expect(subject.normalize_adapter('psql')).to eq('postgresql')
51
- end
52
- end
53
-
54
- context "when given 'pg'" do
55
- it "must return 'postgresql'" do
56
- expect(subject.normalize_adapter('pg')).to eq('postgresql')
57
- end
58
- end
59
- end
60
-
61
- describe "#normalize_sqlite3_path" do
62
- context "when given a relative path" do
63
- let(:path) { 'file.sqlite3' }
64
-
65
- it "must return an absolute path" do
66
- expect(subject.normalize_sqlite3_path(path)).to eq(
67
- File.expand_path(path)
68
- )
69
- end
70
- end
71
-
72
- context "when given an absolute path" do
73
- let(:path) { '/path/to/file.sqlite3' }
74
-
75
- it "must return the absolute path" do
76
- expect(subject.normalize_sqlite3_path(path)).to eq(path)
77
- end
78
- end
79
-
80
- context "when given ':memory:'" do
81
- let(:path) { ':memory:' }
82
-
83
- it "must return ':memory:'" do
84
- expect(subject.normalize_sqlite3_path(path)).to eq(path)
85
- end
86
- end
87
- end
88
-
89
- describe "#parse_uri" do
90
- [:sqlite3, :sqlite].each do |adapter|
91
- let(:adapter) { adapter }
92
-
93
- context "when given '#{adapter}:path'" do
94
- let(:path) { "db.sqlite3" }
95
- let(:uri) { "#{adapter}:#{path}" }
96
-
97
- it "must return {adapter: 'sqlite3', database: absolute_path}" do
98
- expect(subject.parse_uri(uri)).to eq(
99
- {
100
- adapter: 'sqlite3',
101
- database: File.expand_path(path)
102
- }
103
- )
104
- end
105
- end
106
-
107
- context "when given '#{adapter}:/path'" do
108
- let(:path) { "/db.sqlite3" }
109
- let(:uri) { "#{adapter}:#{path}" }
110
-
111
- it "must return {adapter: 'sqlite3', database: '/path'}" do
112
- expect(subject.parse_uri(uri)).to eq(
113
- {
114
- adapter: 'sqlite3',
115
- database: path
116
- }
117
- )
118
- end
119
- end
120
-
121
- context "when given '#{adapter}::memory:'" do
122
- let(:path) { ":memory:" }
123
- let(:uri) { "#{adapter}:#{path}" }
124
-
125
- it "must return {adapter: 'sqlite3', database: ':memory:'}" do
126
- expect(subject.parse_uri(uri)).to eq(
127
- {
128
- adapter: 'sqlite3',
129
- database: path
130
- }
131
- )
132
- end
133
- end
134
- end
135
-
136
- [:mysql2, :mysql].each do |adapter|
137
- context "when given '#{adapter}://user:password@host:port/database'" do
138
- let(:adapter) { adapter }
139
- let(:user) { 'foo' }
140
- let(:password) { 'secret' }
141
- let(:host) { 'example.com' }
142
- let(:port) { 1234 }
143
- let(:database) { 'test' }
144
- let(:uri) do
145
- "#{adapter}://#{user}:#{password}@#{host}:#{port}/#{database}"
146
- end
147
-
148
- it "must return {adapter: 'mysql2', username: '...', password: '...', host: '...', port: ..., database: 'database'}" do
149
- expect(subject.parse_uri(uri)).to eq(
150
- {
151
- adapter: 'mysql2',
152
- username: user,
153
- password: password,
154
- host: host,
155
- port: port,
156
- database: database
157
- }
158
- )
159
- end
160
- end
161
- end
162
-
163
- [:postgresql, :postgres, :psql, :pg].each do |adapter|
164
- context "when given '#{adapter}://user:password@host:port/database'" do
165
- let(:adapter) { adapter }
166
- let(:user) { 'foo' }
167
- let(:password) { 'secret' }
168
- let(:host) { 'example.com' }
169
- let(:port) { 1234 }
170
- let(:database) { 'test' }
171
- let(:uri) do
172
- "#{adapter}://#{user}:#{password}@#{host}:#{port}/#{database}"
173
- end
174
-
175
- it "must return {adapter: 'postgresql', username: '...', password: '...', host: '...', port: ..., database: 'database'}" do
176
- expect(subject.parse_uri(uri)).to eq(
177
- {
178
- adapter: 'postgresql',
179
- username: user,
180
- password: password,
181
- host: host,
182
- port: port,
183
- database: database
184
- }
185
- )
186
- end
187
- end
188
- end
189
- end
190
- end
data/spec/spec_helper.rb DELETED
@@ -1,15 +0,0 @@
1
- require 'rspec'
2
- require 'simplecov'
3
- SimpleCov.start
4
-
5
- require 'active_record'
6
- ActiveRecord::Base.establish_connection(
7
- adapter: 'sqlite3', database: ':memory:'
8
- )
9
-
10
- RSpec.configure do |specs|
11
- specs.before(:suite) do
12
- require 'ronin/db/migrations'
13
- Ronin::DB::Migrations.migrate
14
- end
15
- end