ronin 0.1.2 → 0.1.3

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 (169) hide show
  1. data/History.txt +58 -25
  2. data/Manifest.txt +15 -16
  3. data/README.txt +16 -11
  4. data/Rakefile +9 -7
  5. data/TODO.txt +6 -1
  6. data/lib/ronin.rb +1 -1
  7. data/lib/ronin/arch.rb +7 -15
  8. data/lib/ronin/author.rb +1 -1
  9. data/lib/ronin/cache.rb +1 -1
  10. data/lib/ronin/cache/cache.rb +1 -1
  11. data/lib/ronin/cache/config.rb +1 -1
  12. data/lib/ronin/cache/exceptions.rb +1 -1
  13. data/lib/ronin/cache/exceptions/extension_not_found.rb +1 -1
  14. data/lib/ronin/cache/exceptions/overlay_cached.rb +1 -1
  15. data/lib/ronin/cache/exceptions/overlay_not_found.rb +1 -1
  16. data/lib/ronin/cache/extension.rb +15 -190
  17. data/lib/ronin/cache/extension_cache.rb +2 -2
  18. data/lib/ronin/cache/maintainer.rb +1 -1
  19. data/lib/ronin/cache/overlay.rb +8 -7
  20. data/lib/ronin/cache/overlay_cache.rb +1 -1
  21. data/lib/ronin/cache/ronin.rb +1 -1
  22. data/lib/ronin/chars.rb +1 -1
  23. data/lib/ronin/chars/char_set.rb +1 -1
  24. data/lib/ronin/chars/chars.rb +1 -1
  25. data/lib/ronin/code/emittable.rb +1 -1
  26. data/lib/ronin/code/reference.rb +1 -1
  27. data/lib/ronin/code/symbol_table.rb +1 -1
  28. data/lib/ronin/code/token.rb +1 -1
  29. data/lib/ronin/config.rb +16 -9
  30. data/lib/ronin/database.rb +2 -113
  31. data/lib/ronin/database/database.rb +124 -0
  32. data/lib/ronin/{exceptions/unknown_context.rb → database/exceptions.rb} +2 -5
  33. data/lib/ronin/{exceptions/context_not_found.rb → database/exceptions/invalid_config.rb} +4 -2
  34. data/lib/ronin/extensions.rb +1 -1
  35. data/lib/ronin/extensions/hash.rb +1 -1
  36. data/lib/ronin/extensions/meta.rb +1 -1
  37. data/lib/ronin/extensions/string.rb +1 -1
  38. data/lib/ronin/extensions/uri.rb +1 -1
  39. data/lib/ronin/extensions/uri/http.rb +1 -1
  40. data/lib/ronin/extensions/uri/query_params.rb +1 -1
  41. data/lib/ronin/formatting.rb +1 -1
  42. data/lib/ronin/formatting/binary.rb +1 -1
  43. data/lib/ronin/formatting/digest.rb +1 -1
  44. data/lib/ronin/formatting/extensions.rb +1 -1
  45. data/lib/ronin/formatting/extensions/binary.rb +1 -1
  46. data/lib/ronin/formatting/extensions/binary/integer.rb +1 -1
  47. data/lib/ronin/formatting/extensions/binary/string.rb +1 -1
  48. data/lib/ronin/formatting/extensions/digest.rb +1 -1
  49. data/lib/ronin/formatting/extensions/digest/string.rb +1 -1
  50. data/lib/ronin/formatting/extensions/html.rb +1 -1
  51. data/lib/ronin/formatting/extensions/html/string.rb +1 -1
  52. data/lib/ronin/formatting/extensions/http.rb +1 -1
  53. data/lib/ronin/formatting/extensions/http/string.rb +1 -1
  54. data/lib/ronin/formatting/extensions/text.rb +1 -1
  55. data/lib/ronin/formatting/extensions/text/string.rb +1 -1
  56. data/lib/ronin/formatting/html.rb +1 -1
  57. data/lib/ronin/formatting/http.rb +1 -1
  58. data/lib/ronin/formatting/text.rb +1 -1
  59. data/lib/ronin/{pending_context.rb → has_license.rb} +21 -22
  60. data/lib/ronin/hexdump.rb +1 -1
  61. data/lib/ronin/hexdump/extensions.rb +1 -1
  62. data/lib/ronin/hexdump/extensions/file.rb +1 -1
  63. data/lib/ronin/hexdump/extensions/kernel.rb +1 -1
  64. data/lib/ronin/hexdump/hexdump.rb +1 -1
  65. data/lib/ronin/license.rb +10 -15
  66. data/lib/ronin/model.rb +14 -12
  67. data/lib/ronin/models.rb +2 -2
  68. data/lib/ronin/network.rb +1 -1
  69. data/lib/ronin/network/esmtp.rb +1 -1
  70. data/lib/ronin/network/extensions.rb +1 -1
  71. data/lib/ronin/network/extensions/esmtp.rb +1 -1
  72. data/lib/ronin/network/extensions/esmtp/net.rb +1 -1
  73. data/lib/ronin/network/extensions/http.rb +1 -1
  74. data/lib/ronin/network/extensions/http/net.rb +1 -1
  75. data/lib/ronin/network/extensions/imap.rb +1 -1
  76. data/lib/ronin/network/extensions/imap/net.rb +1 -1
  77. data/lib/ronin/network/extensions/pop3.rb +1 -1
  78. data/lib/ronin/network/extensions/pop3/net.rb +1 -1
  79. data/lib/ronin/network/extensions/smtp.rb +1 -1
  80. data/lib/ronin/network/extensions/smtp/net.rb +1 -1
  81. data/lib/ronin/network/extensions/tcp.rb +1 -1
  82. data/lib/ronin/network/extensions/tcp/net.rb +17 -1
  83. data/lib/ronin/network/extensions/telnet.rb +1 -1
  84. data/lib/ronin/network/extensions/telnet/net.rb +1 -1
  85. data/lib/ronin/network/extensions/udp.rb +1 -1
  86. data/lib/ronin/network/extensions/udp/net.rb +1 -1
  87. data/lib/ronin/network/http.rb +1 -1
  88. data/lib/ronin/network/http/exceptions.rb +1 -1
  89. data/lib/ronin/network/http/exceptions/unknown_request.rb +1 -1
  90. data/lib/ronin/network/imap.rb +1 -1
  91. data/lib/ronin/network/pop3.rb +1 -1
  92. data/lib/ronin/network/smtp.rb +1 -1
  93. data/lib/ronin/network/smtp/email.rb +1 -1
  94. data/lib/ronin/network/smtp/smtp.rb +1 -1
  95. data/lib/ronin/network/tcp.rb +1 -1
  96. data/lib/ronin/network/telnet.rb +1 -1
  97. data/lib/ronin/network/udp.rb +1 -1
  98. data/lib/ronin/objectify.rb +24 -0
  99. data/lib/ronin/{exceptions/invalid_database_config.rb → objectify/exceptions.rb} +3 -5
  100. data/lib/ronin/{exceptions → objectify/exceptions}/object_context_not_found.rb +1 -1
  101. data/lib/ronin/{exceptions → objectify/exceptions}/unknown_object_context.rb +1 -1
  102. data/lib/ronin/{object_context.rb → objectify/objectify.rb} +54 -45
  103. data/lib/ronin/path.rb +1 -1
  104. data/lib/ronin/platform.rb +3 -1
  105. data/lib/ronin/product.rb +2 -1
  106. data/lib/ronin/ronin.rb +10 -10
  107. data/lib/ronin/rpc.rb +1 -1
  108. data/lib/ronin/rpc/call.rb +1 -1
  109. data/lib/ronin/rpc/client.rb +1 -1
  110. data/lib/ronin/rpc/console.rb +1 -1
  111. data/lib/ronin/rpc/exceptions.rb +1 -1
  112. data/lib/ronin/rpc/exceptions/not_implemented.rb +1 -1
  113. data/lib/ronin/rpc/exceptions/response_missing.rb +1 -1
  114. data/lib/ronin/rpc/response.rb +1 -1
  115. data/lib/ronin/rpc/service.rb +1 -1
  116. data/lib/ronin/rpc/shell.rb +1 -1
  117. data/lib/ronin/sessions.rb +1 -1
  118. data/lib/ronin/sessions/esmtp.rb +6 -8
  119. data/lib/ronin/sessions/http.rb +1 -1
  120. data/lib/ronin/sessions/imap.rb +6 -8
  121. data/lib/ronin/sessions/pop3.rb +6 -8
  122. data/lib/ronin/sessions/session.rb +1 -1
  123. data/lib/ronin/sessions/smtp.rb +6 -8
  124. data/lib/ronin/sessions/tcp.rb +48 -36
  125. data/lib/ronin/sessions/telnet.rb +7 -10
  126. data/lib/ronin/sessions/udp.rb +28 -29
  127. data/lib/ronin/sessions/web.rb +5 -7
  128. data/lib/ronin/target.rb +1 -0
  129. data/lib/ronin/translators/translator.rb +1 -1
  130. data/lib/ronin/ui/command_line.rb +1 -1
  131. data/lib/ronin/ui/command_line/command.rb +1 -1
  132. data/lib/ronin/ui/command_line/command_line.rb +7 -2
  133. data/lib/ronin/ui/command_line/commands.rb +2 -2
  134. data/lib/ronin/ui/command_line/commands/add.rb +8 -8
  135. data/lib/ronin/ui/command_line/commands/default.rb +1 -1
  136. data/lib/ronin/ui/command_line/commands/extension.rb +13 -26
  137. data/lib/ronin/ui/command_line/commands/help.rb +1 -1
  138. data/lib/ronin/ui/command_line/commands/install.rb +7 -7
  139. data/lib/ronin/ui/command_line/commands/list.rb +13 -7
  140. data/lib/ronin/ui/command_line/commands/overlay.rb +1 -1
  141. data/lib/ronin/ui/command_line/commands/remove.rb +4 -4
  142. data/lib/ronin/ui/command_line/commands/uninstall.rb +4 -4
  143. data/lib/ronin/ui/command_line/commands/update.rb +3 -3
  144. data/lib/ronin/ui/command_line/exceptions.rb +1 -1
  145. data/lib/ronin/ui/command_line/exceptions/unknown_command.rb +1 -1
  146. data/lib/ronin/ui/command_line/options.rb +1 -1
  147. data/lib/ronin/ui/command_line/param_parser.rb +73 -0
  148. data/lib/ronin/ui/console.rb +1 -1
  149. data/lib/ronin/ui/shell.rb +1 -1
  150. data/lib/ronin/version.rb +2 -2
  151. data/lib/ronin/web.rb +1 -1
  152. data/lib/ronin/web/web.rb +1 -1
  153. data/spec/chars/char_set_spec.rb +116 -118
  154. data/spec/chars/chars_spec.rb +54 -63
  155. data/spec/formatting/{binary_spec.rb → binary/integer_spec.rb} +0 -19
  156. data/spec/formatting/binary/string_spec.rb +32 -0
  157. data/spec/{object_context/object_context_spec.rb → objectify/objectify_spec.rb} +5 -3
  158. data/spec/path_spec.rb +21 -23
  159. data/spec/translators/translator_spec.rb +38 -40
  160. data/spec/ui/command_line/param_parser_spec.rb +58 -0
  161. data/static/extension.rb +9 -0
  162. metadata +43 -24
  163. data/lib/ronin/context.rb +0 -236
  164. data/spec/context/context_spec.rb +0 -84
  165. data/spec/context/helpers/book_context.rb +0 -15
  166. data/spec/context/helpers/book_review_context.rb +0 -21
  167. data/spec/context/helpers/contexts/neuromancer_review.rb +0 -15
  168. data/spec/context/helpers/contexts/snow_crash.rb +0 -8
  169. data/static/extension.rb.erb +0 -16
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,4 @@
21
21
  #++
22
22
  #
23
23
 
24
- module Ronin
25
- class UnknownContext < RuntimeError
26
- end
27
- end
24
+ require 'ronin/database/exceptions/invalid_config'
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -22,6 +22,8 @@
22
22
  #
23
23
 
24
24
  module Ronin
25
- class ContextNotFound < RuntimeError
25
+ module Database
26
+ class InvalidConfig < RuntimeError
27
+ end
26
28
  end
27
29
  end
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -21,30 +21,29 @@
21
21
  #++
22
22
  #
23
23
 
24
- module Ronin
25
- class PendingContext
24
+ require 'ronin/model'
25
+ require 'ronin/license'
26
26
 
27
- # The path being loaded
28
- attr_reader :path
27
+ module Ronin
28
+ module HasLicense
29
+ def self.included(base)
30
+ base.module_eval do
31
+ include Ronin::Model
29
32
 
30
- # The blocks to be loaded
31
- attr_accessor :blocks
33
+ # The license
34
+ belongs_to :license, :class_name => 'Ronin::License'
32
35
 
33
- #
34
- # Creates a new PendingContext object with the specified _path_.
35
- #
36
- def initialize(path)
37
- @path = File.expand_path(path)
38
- @blocks = {}
36
+ #
37
+ # Returns all models having the predefined license with the
38
+ # predefined _name_.
39
+ #
40
+ # LicensedModel.licensed_under(:cc_by_nc)
41
+ # # => [#<Ronin::LicensedModel: ...>, ...]
42
+ #
43
+ def self.licensed_under(name)
44
+ self.all(:license => Ronin::License[name])
45
+ end
46
+ end
39
47
  end
40
-
41
- #
42
- # Iterates over each block in the pending context, passing their name
43
- # and value to the given _block_.
44
- #
45
- def each_block(&block)
46
- @blocks.each(&block)
47
- end
48
-
49
48
  end
50
49
  end
data/lib/ronin/hexdump.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
data/lib/ronin/license.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Ronin - A Ruby platform designed for information security and data
4
4
  # exploration tasks.
5
5
  #
6
- # Copyright (c) 2006-2008 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -24,11 +24,15 @@
24
24
  require 'ronin/model'
25
25
  require 'ronin/extensions/string'
26
26
 
27
+ require 'dm-predefined'
28
+
27
29
  module Ronin
28
30
  class License
29
31
 
30
32
  include Model
33
+ include DataMapper::Predefined
31
34
 
35
+ # Primary key
32
36
  property :id, Serial
33
37
 
34
38
  # License name
@@ -60,20 +64,8 @@ module Ronin
60
64
  # <tt>:description</tt>:: The description of the license.
61
65
  # <tt>:url</tt>:: The URL to the license.
62
66
  #
63
- def License.define(name,options={})
64
- name = name.to_s
65
- description = options[:description].to_s
66
- url = options[:url].to_s
67
-
68
- meta_def(name.to_method_name) do
69
- License.first_or_create(
70
- :name => name,
71
- :description => description,
72
- :url => url
73
- )
74
- end
75
-
76
- return nil
67
+ def self.define(name,options={})
68
+ super(name.to_method_name,options.merge(:name => name))
77
69
  end
78
70
 
79
71
  # Creative Commons Licenses
@@ -89,5 +81,8 @@ module Ronin
89
81
  define 'GPL-3', :description => 'GNU Public License v3.0', :url => 'http://www.gnu.org/licenses/gpl-3.0.txt'
90
82
  define 'LGPL-3', :description => 'GNU Lesser General Public License v3.0', :url => 'http://www.gnu.org/licenses/lgpl-3.0.txt'
91
83
 
84
+ # The MIT Licence
85
+ define 'MIT', :description => 'The MIT Licence', :url => 'http://www.opensource.org/licenses/mit-license.php'
86
+
92
87
  end
93
88
  end