ronin 1.0.0.rc3 → 1.0.0

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.
data/.yardopts CHANGED
@@ -1,5 +1,4 @@
1
1
  --markup markdown --title 'Ronin Documentation' --protected
2
- --plugin yard-contextify
3
2
  --plugin yard-parameters
4
3
  --plugin yard-dm
5
4
  --plugin yard-dm-is-predefined
data/ChangeLog.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 1.0.0 / 2011-03-15
1
+ ### 1.0.0 / 2011-03-25
2
2
 
3
3
  * Upgraded to the GPL-3 license.
4
4
  * Require Ruby >= 1.8.7.
@@ -12,12 +12,12 @@
12
12
  * Require dm-serializer ~> 1.1.0.
13
13
  * Require dm-aggregates ~> 1.1.0.
14
14
  * Require dm-timestamps ~> 1.1.0.
15
- * Require dm-is-predefined ~> 0.3.1.
15
+ * Require dm-is-predefined ~> 0.3, >= 0.3.1.
16
16
  * Require uri-query_params ~> 0.5, >= 0.5.2.
17
17
  * Require open_namespace ~> 0.3.
18
18
  * Require parameters ~> 0.2, >= 0.2.3.
19
19
  * Require data_paths ~> 0.2, >= 0.2.1.
20
- * Require contextify ~> 0.2.
20
+ * Require object_loader ~> 1.0.
21
21
  * Require env ~> 0.1, >= 0.1.2.
22
22
  * Require pullr ~> 0.1, >= 0.1.2.
23
23
  * Require hexdump ~> 0.1.
@@ -27,7 +27,7 @@
27
27
  * Require ripl-short_errors ~> 0.1.
28
28
  * Require ripl-color_result ~> 0.2.
29
29
  * Require thor ~> 0.14.3.
30
- * Require ronin-support ~> 0.1.0.
30
+ * Require ronin-support ~> 0.1.
31
31
  * Added `ronin/bootstrap` which only loads configuration and the Database.
32
32
  * Added {Ronin::Database::Migrations}.
33
33
  * Added {Ronin::Model::HasUniqueName}.
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  * [Website](http://ronin-ruby.github.com)
4
4
  * [Source](http://github.com/ronin-ruby/ronin)
5
5
  * [Issues](http://github.com/ronin-ruby/ronin/issues)
6
- * [Documentation](http://rubydoc.info/github/ronin-ruby/ronin/frames)
6
+ * [Documentation](http://rubydoc.info/gems/ronin/frames)
7
7
  * [Mailing List](http://groups.google.com/group/ronin-ruby)
8
8
  * irc.freenode.net #ronin
9
9
 
@@ -148,7 +148,7 @@ Remove a Database:
148
148
  * [dm-timestamps](http://github.com/datamapper/dm-timestamps#readme)
149
149
  ~> 1.1.0
150
150
  * [dm-is-predefined](http://github.com/postmodern/dm-is-predefined#readme)
151
- ~> 0.3.1
151
+ ~> 0.3, >= 0.3.1
152
152
  * [uri-query_params](http://github.com/postmodern/uri-query_params#readme)
153
153
  ~> 0.5, >= 0.5.2
154
154
  * [open_namespace](http://github.com/postmodern/open_namespace#readme)
@@ -157,8 +157,8 @@ Remove a Database:
157
157
  ~> 0.2, >= 0.2.3
158
158
  * [data_paths](http://github.com/postmodern/data_paths#readme)
159
159
  ~> 0.2, >= 0.2.1
160
- * [contextify](http://github.com/postmodern/contextify#readme)
161
- ~> 0.2
160
+ * [object_loader](http://github.com/postmodern/object_loader#readme)
161
+ ~> 1.0
162
162
  * [env](http://github.com/postmodern/env#readme)
163
163
  ~> 0.1, >= 0.1.2
164
164
  * [pullr](http://github.com/postmodern/pullr#readme)
@@ -168,7 +168,7 @@ Remove a Database:
168
168
  * [thor](http://github.com/wycats/thor#readme)
169
169
  ~> 0.14.3
170
170
  * [ronin-support](http://github.com/ronin-ruby/ronin-support#readme)
171
- ~> 0.1.0
171
+ ~> 0.1
172
172
 
173
173
  ## Install
174
174
 
data/gemspec.yml CHANGED
@@ -36,25 +36,25 @@ required_ruby_version: ">= 1.8.7"
36
36
 
37
37
  dependencies:
38
38
  # DataMapper adapters
39
- dm-do-adapter: ~> 1.1.0.rc3
40
- dm-sqlite-adapter: ~> 1.1.0.rc3
39
+ dm-do-adapter: ~> 1.1.0
40
+ dm-sqlite-adapter: ~> 1.1.0
41
41
  # DataMapper dependencies
42
- dm-core: ~> 1.1.0.rc3
43
- dm-types: ~> 1.1.0.rc3
44
- dm-constraints: ~> 1.1.0.rc3
45
- dm-migrations: ~> 1.1.0.rc3
46
- dm-validations: ~> 1.1.0.rc3
47
- dm-serializer: ~> 1.1.0.rc3
48
- dm-aggregates: ~> 1.1.0.rc3
49
- dm-timestamps: ~> 1.1.0.rc3
42
+ dm-core: ~> 1.1.0
43
+ dm-types: ~> 1.1.0
44
+ dm-constraints: ~> 1.1.0
45
+ dm-migrations: ~> 1.1.0
46
+ dm-validations: ~> 1.1.0
47
+ dm-serializer: ~> 1.1.0
48
+ dm-aggregates: ~> 1.1.0
49
+ dm-timestamps: ~> 1.1.0
50
50
  # DataMapper plugins
51
- dm-is-predefined: ~> 0.3.1
51
+ dm-is-predefined: ~> 0.3, >= 0.3.1
52
52
  # Library dependencies
53
53
  uri-query_params: ~> 0.5, >= 0.5.2
54
54
  open_namespace: ~> 0.3
55
55
  parameters: ~> 0.2, >= 0.2.3
56
56
  data_paths: ~> 0.2, >= 0.2.1
57
- contextify: ~> 0.2
57
+ object_loader: ~> 1.0
58
58
  env: ~> 0.1, >= 0.1.2
59
59
  pullr: ~> 0.1, >= 0.1.2
60
60
  hexdump: ~> 0.1
@@ -65,12 +65,11 @@ dependencies:
65
65
  ripl-color_result: ~> 0.3
66
66
  thor: ~> 0.14.3
67
67
  # Ronin dependencies:
68
- ronin-support: ~> 0.1.0.rc2
68
+ ronin-support: ~> 0.1
69
69
 
70
70
  development_dependencies:
71
71
  bundler: ~> 1.0.10
72
72
  yard: ~> 0.6.4
73
- yard-contextify: ~> 0.1.0
74
73
  yard-parameters: ~> 0.1.0
75
74
  yard-dm: ~> 0.1.1
76
75
  yard-dm-is-predefined: ~> 0.2.0
@@ -20,7 +20,7 @@
20
20
  require 'ronin/support/inflector'
21
21
  require 'ronin/model'
22
22
 
23
- require 'contextify'
23
+ require 'object_loader'
24
24
 
25
25
  module Ronin
26
26
  autoload :Repository, 'ronin/repository'
@@ -119,15 +119,13 @@ module Ronin
119
119
  def fresh_object
120
120
  begin
121
121
  # load the first found context
122
- blocks = Contextify.load_blocks(self.path)
122
+ blocks = ObjectLoader.load_blocks(self.path)
123
123
  rescue Exception => e
124
124
  @cache_exception = e
125
125
  return nil
126
126
  end
127
127
 
128
- blocks.each do |name,block|
129
- model = Contextify.contexts[name]
130
-
128
+ blocks.each do |model,block|
131
129
  if model < Cacheable
132
130
  # create the fresh object
133
131
  object = model.new()
@@ -32,7 +32,7 @@ module Ronin
32
32
  column :id, Integer, :serial => true
33
33
  column :type, String, :not_null => true
34
34
  column :version, Integer
35
- column :address, String, :not_null => true
35
+ column :address, String, :length => 256, :not_null => true
36
36
  column :organization_id, Integer
37
37
  column :created_at, Time, :not_null => true
38
38
  end
@@ -26,7 +26,7 @@ module Ronin
26
26
  up do
27
27
  create_table :ronin_url_query_params do
28
28
  column :id, Integer, :serial => true
29
- column :name, String, :not_null => true
29
+ column :name, String, :length => 256, :not_null => true
30
30
  column :value, Text
31
31
  column :url_id, Integer, :not_null => true
32
32
  end
@@ -32,6 +32,11 @@ module Ronin
32
32
  #
33
33
  class HostName < Address
34
34
 
35
+ # The address of the host name
36
+ property :address, String, :length => 256,
37
+ :required => true,
38
+ :unique => true
39
+
35
40
  # The IP Address associations
36
41
  has 0..n, :host_name_ip_addresses, :model => 'HostNameIPAddress'
37
42
 
@@ -17,16 +17,14 @@
17
17
  # along with Ronin. If not, see <http://www.gnu.org/licenses/>.
18
18
  #
19
19
 
20
- require 'enumerator'
21
-
22
20
  module Ronin
23
21
  #
24
22
  # The {Installation} module provides methods which help reflect on the
25
23
  # installation of Ronin on the system.
26
24
  #
27
25
  module Installation
26
+ # The loaded gemspecs of all installed ronin libraries
28
27
  @gems = {}
29
- @paths = {}
30
28
 
31
29
  #
32
30
  # Finds the installed Ronin libraries via RubyGems.
@@ -37,7 +35,7 @@ module Ronin
37
35
  # @since 1.0.0
38
36
  #
39
37
  def Installation.gems
40
- Installation.load_gemspecs! if @gems.empty?
38
+ load_gemspecs! if @gems.empty?
41
39
  return @gems
42
40
  end
43
41
 
@@ -50,20 +48,7 @@ module Ronin
50
48
  # @since 1.0.0
51
49
  #
52
50
  def Installation.libraries
53
- Installation.gems.keys
54
- end
55
-
56
- #
57
- # The installation paths of installed Ronin libraries.
58
- #
59
- # @return [Hash{String => String}]
60
- # The paths to the installed Ronin libraries.
61
- #
62
- # @since 1.0.0
63
- #
64
- def Installation.paths
65
- Installation.load_gemspecs! if @paths.empty?
66
- return @paths
51
+ gems.keys
67
52
  end
68
53
 
69
54
  #
@@ -84,17 +69,16 @@ module Ronin
84
69
  #
85
70
  # @since 1.0.0
86
71
  #
87
- def Installation.each_file(directory)
88
- return enum_for(:each_file,directory) unless block_given?
89
-
90
- directory = File.join(directory,'')
72
+ def Installation.each_file(pattern)
73
+ return enum_for(:each_file,pattern) unless block_given?
91
74
 
92
75
  # query the installed gems
93
- Installation.gems.each_value do |gem|
94
- gem.files.each do |file|
95
- if file[0...directory.length] == directory
96
- yield file[directory.length..-1]
97
- end
76
+ gems.each_value do |gem|
77
+ gem_root = gem.full_gem_path
78
+ slice_index = gem_root.length + 1
79
+
80
+ Dir.glob(File.join(gem_root,pattern)) do |path|
81
+ yield path[slice_index..-1]
98
82
  end
99
83
  end
100
84
 
@@ -102,25 +86,36 @@ module Ronin
102
86
  end
103
87
 
104
88
  #
105
- # Requires all files within the given directory.
89
+ # Enumerates over every file in a directory.
106
90
  #
107
91
  # @param [String] directory
108
- # A directory that resides within `lib/`.
92
+ # The directory to search within.
93
+ #
94
+ # @param [String, Symbol] ext
95
+ # The optional file extension to search for.
96
+ #
97
+ # @yield [name]
98
+ # The given block will be passed each matching file-name.
109
99
  #
110
- # @return [Boolean]
111
- # Specifies whether any files were successfully required.
100
+ # @yieldparam [String] name
101
+ # The basename of the matching path within the directory.
102
+ #
103
+ # @return [Enumerator]
104
+ # If no block is given, an Enumerator will be returned.
112
105
  #
113
106
  # @since 1.0.0
114
107
  #
115
- def Installation.require_all(directory)
116
- lib_dir = File.join('lib',directory)
117
- result = false
108
+ def Installation.each_file_in(directory,ext=nil)
109
+ return enum_for(:each_file_in,directory,ext) unless block_given?
118
110
 
119
- Installation.each_file(lib_dir) do |name|
120
- result |= (require File.join(directory,name))
121
- end
111
+ pattern = File.join(directory,'**','*')
112
+ pattern << ".#{ext}" if ext
113
+
114
+ slice_index = directory.length + 1
122
115
 
123
- return result
116
+ each_file(pattern) do |path|
117
+ yield path[slice_index..-1]
118
+ end
124
119
  end
125
120
 
126
121
  protected
@@ -138,13 +133,10 @@ module Ronin
138
133
 
139
134
  if ronin_gem
140
135
  @gems['ronin'] = ronin_gem
141
- @paths['ronin'] = ronin_gem.full_gem_path
142
136
 
143
137
  ronin_gem.dependent_gems.each do |gems|
144
138
  gem = gems.first
145
-
146
139
  @gems[gem.name] = gem
147
- @paths[gem.name] = gem.full_gem_path
148
140
  end
149
141
  else
150
142
  # if we cannot find an installed ronin gem, search the $LOAD_PATH
@@ -155,9 +147,7 @@ module Ronin
155
147
 
156
148
  if gemspec_path
157
149
  gem = Gem::SourceIndex.load_specification(gemspec_path)
158
-
159
150
  @gems[gem.name] = gem
160
- @paths[gem.name] = root_dir
161
151
  end
162
152
  end
163
153
  end
@@ -29,6 +29,11 @@ module Ronin
29
29
  #
30
30
  class MACAddress < Address
31
31
 
32
+ # The MAC address
33
+ property :address, String, :length => 17..17,
34
+ :required => true,
35
+ :unique => true
36
+
32
37
  # The IP Addresses the MAC Address hosts
33
38
  has 0..n, :ip_address_mac_addresses, :model => 'IPAddressMACAddress'
34
39
 
@@ -21,7 +21,7 @@ require 'ronin/model/cacheable/class_methods'
21
21
  require 'ronin/model/model'
22
22
  require 'ronin/cached_file'
23
23
 
24
- require 'contextify'
24
+ require 'object_loader'
25
25
  require 'set'
26
26
 
27
27
  module Ronin
@@ -38,18 +38,12 @@ module Ronin
38
38
  #
39
39
  # # Making a Model cacheable
40
40
  #
41
- # In order to make a Model cacheable, one must include the {Cacheable}
42
- # module and contextifying the model. Contextifying a model involves
43
- # calling the `contextify` method, which defines a top-level method
44
- # used for loading model instances from files.
41
+ # In order to make a Model cacheable, one must include the {Cacheable}.
45
42
  #
46
43
  # class MyModel
47
44
  #
48
45
  # include Ronin::Model::Cacheable
49
46
  #
50
- # # Defines the my_model method for loading instances from files
51
- # contextify :my_model
52
- #
53
47
  # # Primary key of the model
54
48
  # property :id, Serial
55
49
  #
@@ -104,7 +98,7 @@ module Ronin
104
98
  @models = Set[]
105
99
 
106
100
  def self.included(base)
107
- base.send :include, Contextify, Model
101
+ base.send :include, ObjectLoader, Model
108
102
  base.send :extend, ClassMethods
109
103
 
110
104
  base.module_eval do
@@ -151,7 +145,7 @@ module Ronin
151
145
  #
152
146
  def Cacheable.load_from(path)
153
147
  path = File.expand_path(path)
154
- obj = Contextify.load_contexts(path).find do |obj|
148
+ obj = ObjectLoader.load_objects(path).find do |obj|
155
149
  obj.class < Cacheable
156
150
  end
157
151
 
@@ -21,6 +21,8 @@ require 'ronin/ui/cli/exceptions/unknown_command'
21
21
  require 'ronin/ui/cli/commands'
22
22
  require 'ronin/installation'
23
23
 
24
+ require 'set'
25
+
24
26
  module Ronin
25
27
  module UI
26
28
  #
@@ -32,7 +34,8 @@ module Ronin
32
34
  # Name of the default to run
33
35
  DEFAULT_COMMAND = 'console'
34
36
 
35
- @commands = {}
37
+ # The loaded command names
38
+ @commands = SortedSet[]
36
39
 
37
40
  #
38
41
  # All command-line names of Commands available to the {CLI}.
@@ -46,18 +49,15 @@ module Ronin
46
49
  if @commands.empty?
47
50
  commands_dir = File.join('lib',Commands.namespace_root)
48
51
 
49
- Installation.each_file(commands_dir) do |path|
52
+ Installation.each_file_in(commands_dir,:rb) do |path|
50
53
  # remove the .rb file extension
51
54
  name = path.chomp('.rb')
52
55
 
53
56
  # replace any file separators with a ':', to mimic the
54
57
  # naming convention of Rake/Thor.
55
58
  name.tr!(File::SEPARATOR,':')
56
-
57
- # replace all '_' and '-' characters with a single '_' character
58
- name.gsub!(/[_-]+/,'_')
59
59
 
60
- @commands[name] = path
60
+ @commands << name
61
61
  end
62
62
  end
63
63
 
@@ -91,10 +91,6 @@ module Ronin
91
91
  def CLI.command(name)
92
92
  name = name.to_s
93
93
 
94
- # eventually someone is going to use a space or - which is going
95
- # mess things up we will take care of this ahead of time here
96
- name = name.gsub(/[\s_-]+/, '_')
97
-
98
94
  unless (command = Commands.require_const(name))
99
95
  raise(UnknownCommand,"unable to load the command #{name.dump}",caller)
100
96
  end
@@ -43,8 +43,7 @@ module Ronin
43
43
  print_error "unknown command #{command.dump}"
44
44
  end
45
45
  else
46
- print_array CLI.commands.keys.sort,
47
- :title => 'Available commands'
46
+ print_array CLI.commands, :title => 'Available commands'
48
47
  end
49
48
  end
50
49
 
@@ -34,6 +34,10 @@ module Ronin
34
34
  # The primary-key of the URL query param
35
35
  property :id, Serial
36
36
 
37
+ property :name, String, :length => 256,
38
+ :required => true,
39
+ :index => true
40
+
37
41
  # The value of the URL query param
38
42
  property :value, Text
39
43
 
data/lib/ronin/version.rb CHANGED
@@ -19,5 +19,5 @@
19
19
 
20
20
  module Ronin
21
21
  # Ronin version
22
- VERSION = '1.0.0.rc3'
22
+ VERSION = '1.0.0'
23
23
  end
@@ -98,6 +98,12 @@ describe CachedFile do
98
98
  end
99
99
  end
100
100
 
101
+ let(:name_error) do
102
+ test2.cached_files.find do |cached_file|
103
+ cached_file.path.basename == Pathname.new('name_errors.rb')
104
+ end
105
+ end
106
+
101
107
  let(:no_method_error) do
102
108
  test2.cached_files.find do |cached_file|
103
109
  cached_file.path.basename == Pathname.new('no_method_errors.rb')
@@ -136,6 +142,11 @@ describe CachedFile do
136
142
  load_error.cache_exception.class.should == LoadError
137
143
  end
138
144
 
145
+ it "should store NameError exceptions" do
146
+ name_error.cache_exception.should_not be_nil
147
+ name_error.cache_exception.class.should == NameError
148
+ end
149
+
139
150
  it "should store NoMethodError exceptions" do
140
151
  no_method_error.cache_exception.should_not be_nil
141
152
  no_method_error.cache_exception.class.should == NoMethodError
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  @var = 1
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  raise("Exception when caching a file")
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'totally/does/not/exist'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  cache do
6
6
  self.content = 'this is a LoadError test'
@@ -0,0 +1,7 @@
1
+ Foo.object do
2
+
3
+ cache do
4
+ self.content = 'this is a NameError test'
5
+ end
6
+
7
+ end
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- onin_cacheable_model do
3
+ CacheableModel.objectttttt do
4
4
 
5
5
  cache do
6
6
  self.content = 'this is a NoMethodError test'
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  def
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  @var = 2
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'model/models/cacheable_model'
2
2
 
3
- ronin_cacheable_model do
3
+ CacheableModel.object do
4
4
 
5
5
  cache do
6
6
  # intentionally do not set the content property
@@ -6,16 +6,43 @@ describe Installation do
6
6
  subject.gems['ronin'].should_not be_nil
7
7
  end
8
8
 
9
- it "should find the installation path of the 'ronin' library" do
10
- subject.paths['ronin'].should_not be_nil
11
- end
12
-
13
9
  it "should provide the names of the installed Ronin libraries" do
14
10
  subject.libraries.should include('ronin')
15
11
  end
16
12
 
17
13
  describe "each_file" do
18
14
  let(:directory) { 'lib/ronin/ui/cli/commands' }
15
+ let(:pattern) { File.join(directory,'*.rb') }
16
+ let(:expected) {
17
+ %w[
18
+ campaigns.rb
19
+ console.rb
20
+ creds.rb
21
+ database.rb
22
+ emails.rb
23
+ exec.rb
24
+ help.rb
25
+ hosts.rb
26
+ ips.rb
27
+ repos.rb
28
+ urls.rb
29
+ ].map { |name| File.join(directory,name) }
30
+ }
31
+
32
+ it "should enumerate over the files which match a glob pattern" do
33
+ subject.each_file(pattern).to_a.should =~ expected
34
+ end
35
+
36
+ it "should return an Enumerator when no block is given" do
37
+ subject.each_file(pattern).all? { |file|
38
+ expected.include?(file)
39
+ }.should == true
40
+ end
41
+ end
42
+
43
+ describe "each_file_in" do
44
+ let(:directory) { 'lib/ronin/ui/cli/commands' }
45
+ let(:ext) { :rb }
19
46
  let(:expected) {
20
47
  %w[
21
48
  campaigns.rb
@@ -32,12 +59,12 @@ describe Installation do
32
59
  ]
33
60
  }
34
61
 
35
- it "should enumerate over the files within a certain directory" do
36
- subject.each_file(directory).to_a.should =~ expected
62
+ it "should enumerate over the files which match a glob pattern" do
63
+ subject.each_file_in(directory,ext).to_a.should =~ expected
37
64
  end
38
65
 
39
66
  it "should return an Enumerator when no block is given" do
40
- subject.each_file(directory).all? { |file|
67
+ subject.each_file_in(directory,ext).all? { |file|
41
68
  expected.include?(file)
42
69
  }.should == true
43
70
  end
@@ -4,8 +4,6 @@ class CacheableModel
4
4
 
5
5
  include Ronin::Model::Cacheable
6
6
 
7
- contextify :ronin_cacheable_model
8
-
9
7
  property :id, Serial
10
8
 
11
9
  property :content, String, :required => true
@@ -7,7 +7,7 @@ require 'ronin/repository'
7
7
  describe Repository do
8
8
  include Helpers::Repositories
9
9
 
10
- subject { Repository }
10
+ subject { described_class }
11
11
 
12
12
  describe "find" do
13
13
  it "should be able to retrieve an Repository by name" do
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 1.0.0.rc3
4
+ prerelease:
5
+ version: 1.0.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Postmodern
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-11 00:00:00 -08:00
13
+ date: 2011-03-25 00:00:00 -04:00
14
14
  default_executable: ronin
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 1.1.0.rc3
23
+ version: 1.1.0
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: *id001
@@ -31,7 +31,7 @@ dependencies:
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: 1.1.0.rc3
34
+ version: 1.1.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: *id002
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.1.0.rc3
45
+ version: 1.1.0
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: *id003
@@ -53,7 +53,7 @@ dependencies:
53
53
  requirements:
54
54
  - - ~>
55
55
  - !ruby/object:Gem::Version
56
- version: 1.1.0.rc3
56
+ version: 1.1.0
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: *id004
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirements:
65
65
  - - ~>
66
66
  - !ruby/object:Gem::Version
67
- version: 1.1.0.rc3
67
+ version: 1.1.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: *id005
@@ -75,7 +75,7 @@ dependencies:
75
75
  requirements:
76
76
  - - ~>
77
77
  - !ruby/object:Gem::Version
78
- version: 1.1.0.rc3
78
+ version: 1.1.0
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: *id006
@@ -86,7 +86,7 @@ dependencies:
86
86
  requirements:
87
87
  - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: 1.1.0.rc3
89
+ version: 1.1.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: *id007
@@ -97,7 +97,7 @@ dependencies:
97
97
  requirements:
98
98
  - - ~>
99
99
  - !ruby/object:Gem::Version
100
- version: 1.1.0.rc3
100
+ version: 1.1.0
101
101
  type: :runtime
102
102
  prerelease: false
103
103
  version_requirements: *id008
@@ -108,7 +108,7 @@ dependencies:
108
108
  requirements:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
- version: 1.1.0.rc3
111
+ version: 1.1.0
112
112
  type: :runtime
113
113
  prerelease: false
114
114
  version_requirements: *id009
@@ -119,7 +119,7 @@ dependencies:
119
119
  requirements:
120
120
  - - ~>
121
121
  - !ruby/object:Gem::Version
122
- version: 1.1.0.rc3
122
+ version: 1.1.0
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: *id010
@@ -128,9 +128,12 @@ dependencies:
128
128
  requirement: &id011 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ~>
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: 0.3.1
134
+ - - ~>
135
+ - !ruby/object:Gem::Version
136
+ version: "0.3"
134
137
  type: :runtime
135
138
  prerelease: false
136
139
  version_requirements: *id011
@@ -188,13 +191,13 @@ dependencies:
188
191
  prerelease: false
189
192
  version_requirements: *id015
190
193
  - !ruby/object:Gem::Dependency
191
- name: contextify
194
+ name: object_loader
192
195
  requirement: &id016 !ruby/object:Gem::Requirement
193
196
  none: false
194
197
  requirements:
195
198
  - - ~>
196
199
  - !ruby/object:Gem::Version
197
- version: "0.2"
200
+ version: "1.0"
198
201
  type: :runtime
199
202
  prerelease: false
200
203
  version_requirements: *id016
@@ -310,7 +313,7 @@ dependencies:
310
313
  requirements:
311
314
  - - ~>
312
315
  - !ruby/object:Gem::Version
313
- version: 0.1.0.rc2
316
+ version: "0.1"
314
317
  type: :runtime
315
318
  prerelease: false
316
319
  version_requirements: *id026
@@ -337,7 +340,7 @@ dependencies:
337
340
  prerelease: false
338
341
  version_requirements: *id028
339
342
  - !ruby/object:Gem::Dependency
340
- name: yard-contextify
343
+ name: yard-parameters
341
344
  requirement: &id029 !ruby/object:Gem::Requirement
342
345
  none: false
343
346
  requirements:
@@ -347,20 +350,9 @@ dependencies:
347
350
  type: :development
348
351
  prerelease: false
349
352
  version_requirements: *id029
350
- - !ruby/object:Gem::Dependency
351
- name: yard-parameters
352
- requirement: &id030 !ruby/object:Gem::Requirement
353
- none: false
354
- requirements:
355
- - - ~>
356
- - !ruby/object:Gem::Version
357
- version: 0.1.0
358
- type: :development
359
- prerelease: false
360
- version_requirements: *id030
361
353
  - !ruby/object:Gem::Dependency
362
354
  name: yard-dm
363
- requirement: &id031 !ruby/object:Gem::Requirement
355
+ requirement: &id030 !ruby/object:Gem::Requirement
364
356
  none: false
365
357
  requirements:
366
358
  - - ~>
@@ -368,10 +360,10 @@ dependencies:
368
360
  version: 0.1.1
369
361
  type: :development
370
362
  prerelease: false
371
- version_requirements: *id031
363
+ version_requirements: *id030
372
364
  - !ruby/object:Gem::Dependency
373
365
  name: yard-dm-is-predefined
374
- requirement: &id032 !ruby/object:Gem::Requirement
366
+ requirement: &id031 !ruby/object:Gem::Requirement
375
367
  none: false
376
368
  requirements:
377
369
  - - ~>
@@ -379,23 +371,23 @@ dependencies:
379
371
  version: 0.2.0
380
372
  type: :development
381
373
  prerelease: false
382
- version_requirements: *id032
374
+ version_requirements: *id031
383
375
  description: Ronin is a Ruby platform for exploit development and security research. Ronin allows for the rapid development and distribution of code, exploits or payloads over many common Source-Code-Management (SCM) systems.
384
376
  email:
385
377
  - postmodern.mod3@gmail.com
386
378
  executables:
387
- - ronin-repos
388
- - ronin-emails
389
- - ronin-ips
390
- - ronin-help
391
- - ronin-urls
392
379
  - ronin-hosts
393
- - ronin-exec
394
- - ronin-database
395
- - ronin-campaigns
396
- - ronin-creds
380
+ - ronin-help
381
+ - ronin-emails
397
382
  - ronin
398
383
  - ronin-console
384
+ - ronin-campaigns
385
+ - ronin-exec
386
+ - ronin-repos
387
+ - ronin-creds
388
+ - ronin-ips
389
+ - ronin-database
390
+ - ronin-urls
399
391
  extensions: []
400
392
 
401
393
  extra_rdoc_files:
@@ -613,6 +605,7 @@ files:
613
605
  - spec/helpers/repos/test1/ronin.yml
614
606
  - spec/helpers/repos/test2/cache/cacheable_model/exceptions.rb
615
607
  - spec/helpers/repos/test2/cache/cacheable_model/load_errors.rb
608
+ - spec/helpers/repos/test2/cache/cacheable_model/name_errors.rb
616
609
  - spec/helpers/repos/test2/cache/cacheable_model/no_method_errors.rb
617
610
  - spec/helpers/repos/test2/cache/cacheable_model/syntax_errors.rb
618
611
  - spec/helpers/repos/test2/cache/cacheable_model/two.rb
@@ -707,39 +700,39 @@ signing_key:
707
700
  specification_version: 3
708
701
  summary: A Ruby platform for exploit development and security research.
709
702
  test_files:
710
- - spec/mac_address_spec.rb
711
- - spec/database_spec.rb
712
- - spec/author_spec.rb
713
- - spec/vendor_spec.rb
714
- - spec/url_spec.rb
715
703
  - spec/port_spec.rb
716
- - spec/model/has_version_spec.rb
717
- - spec/model/has_license_spec.rb
718
- - spec/model/has_description_spec.rb
719
- - spec/model/has_title_spec.rb
720
- - spec/model/model_spec.rb
721
- - spec/model/has_authors_spec.rb
722
- - spec/model/has_name_spec.rb
723
- - spec/model/cacheable_spec.rb
724
- - spec/license_spec.rb
725
- - spec/campaign_spec.rb
726
- - spec/password_spec.rb
727
- - spec/arch_spec.rb
728
- - spec/repository_spec.rb
729
- - spec/url_scheme_spec.rb
730
- - spec/software_spec.rb
731
- - spec/url_query_param_spec.rb
732
- - spec/cached_file_spec.rb
704
+ - spec/credential_spec.rb
733
705
  - spec/ui/cli/command_spec.rb
734
706
  - spec/ui/output_spec.rb
735
- - spec/ronin_spec.rb
707
+ - spec/installation_spec.rb
708
+ - spec/vendor_spec.rb
709
+ - spec/campaign_spec.rb
710
+ - spec/engine/engine_spec.rb
736
711
  - spec/engine/buildable_spec.rb
737
712
  - spec/engine/verifiable_spec.rb
738
- - spec/engine/engine_spec.rb
739
713
  - spec/engine/deployable_spec.rb
714
+ - spec/arch_spec.rb
740
715
  - spec/os_spec.rb
716
+ - spec/database_spec.rb
717
+ - spec/password_spec.rb
718
+ - spec/model/cacheable_spec.rb
719
+ - spec/model/has_version_spec.rb
720
+ - spec/model/has_authors_spec.rb
721
+ - spec/model/model_spec.rb
722
+ - spec/model/has_title_spec.rb
723
+ - spec/model/has_name_spec.rb
724
+ - spec/model/has_description_spec.rb
725
+ - spec/model/has_license_spec.rb
726
+ - spec/license_spec.rb
727
+ - spec/author_spec.rb
741
728
  - spec/service_spec.rb
742
- - spec/installation_spec.rb
743
- - spec/host_name_spec.rb
729
+ - spec/software_spec.rb
744
730
  - spec/email_address_spec.rb
745
- - spec/credential_spec.rb
731
+ - spec/mac_address_spec.rb
732
+ - spec/url_query_param_spec.rb
733
+ - spec/url_scheme_spec.rb
734
+ - spec/url_spec.rb
735
+ - spec/repository_spec.rb
736
+ - spec/cached_file_spec.rb
737
+ - spec/host_name_spec.rb
738
+ - spec/ronin_spec.rb