ronin 1.0.0.rc3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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