ronin 1.1.0.rc2 → 1.1.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog.md CHANGED
@@ -4,6 +4,7 @@
4
4
  * Require data_paths ~> 0.3.
5
5
  * Require ronin-support ~> 0.2.
6
6
  * Added `ronin/repositories`, for quickly loading all repositories.
7
+ * Added {Ronin#script}.
7
8
  * Added {Ronin::AutoLoad}.
8
9
  * Added {Ronin::Arch.arm}.
9
10
  * Added {Ronin::Arch.mips}.
@@ -54,6 +55,9 @@
54
55
  * Set the length of {Ronin::License.url} to 256.
55
56
  * Merged `Ronin::Model::Cacheable` into {Ronin::Script}.
56
57
  * Repositories can now cache/load scripts from the `scripts/` directory.
58
+ * Disable {Ronin::UI::Console.short_errors} if the `VERBOSE` environment
59
+ variable is set.
60
+ * Disable {Ronin::UI::Console.color} if the `STDOUT` is a tty.
57
61
  * Set {Ronin::UI::Output.handler} to {Ronin::UI::Output::Terminal::Raw},
58
62
  when `STDOUT` is not a tty.
59
63
  * {Ronin::UI::CLI::ModelCommand#setup} now automatically calls
@@ -61,6 +65,7 @@
61
65
  * Merged `query_method` into {Ronin::UI::CLI::ModelCommand#query}.
62
66
  * Allow {Ronin::UI::CLI::ModelCommand.query_option} to map to Model
63
67
  properties.
68
+ * Use DataMapper query-paths to improve performance of query-helper methods.
64
69
 
65
70
  ### 1.0.0 / 2011-03-25
66
71
 
data/gemspec.yml CHANGED
@@ -65,7 +65,7 @@ dependencies:
65
65
  thor: ~> 0.14.3
66
66
  # Ronin dependencies:
67
67
  # ronin-support: ~> 0.2
68
- ronin-support: ~> 0.2.0.rc1
68
+ ronin-support: ~> 0.2.0.rc2
69
69
 
70
70
  development_dependencies:
71
71
  bundler: ~> 1.0.10
@@ -64,7 +64,7 @@ module Ronin
64
64
  # @api public
65
65
  #
66
66
  def self.targeting(addr)
67
- all(:addresses => {:address => addr})
67
+ all('addresses.address' => addr)
68
68
  end
69
69
 
70
70
  #
@@ -81,7 +81,7 @@ module Ronin
81
81
  # @api public
82
82
  #
83
83
  def self.targeting_orgs(names)
84
- all(:organizations => {:name => names})
84
+ all('organizations.name' => names)
85
85
  end
86
86
 
87
87
  #
@@ -67,7 +67,7 @@ module Ronin
67
67
  # @api public
68
68
  #
69
69
  def self.with_hosts(names)
70
- all(:host_name => {:address => names})
70
+ all('host_name.address' => names)
71
71
  end
72
72
 
73
73
  #
@@ -84,7 +84,7 @@ module Ronin
84
84
  # @api public
85
85
  #
86
86
  def self.with_ips(ips)
87
- all(:ip_addresses => {:address => ips})
87
+ all('ip_addresses.address' => ips)
88
88
  end
89
89
 
90
90
  #
@@ -101,7 +101,7 @@ module Ronin
101
101
  # @api public
102
102
  #
103
103
  def self.with_users(names)
104
- all(:user_name => {:name => names})
104
+ all('user_name.name' => names)
105
105
  end
106
106
 
107
107
  #
@@ -68,7 +68,7 @@ module Ronin
68
68
  # @api public
69
69
  #
70
70
  def self.with_ips(ips)
71
- all(:ip_addresses => {:address => ips})
71
+ all('ip_addresses.address' => ips)
72
72
  end
73
73
 
74
74
  #
@@ -85,7 +85,7 @@ module Ronin
85
85
  # @api public
86
86
  #
87
87
  def self.with_ports(numbers)
88
- all(:ports => {:number => numbers})
88
+ all('ports.number' => numbers)
89
89
  end
90
90
 
91
91
  #
@@ -117,7 +117,7 @@ module Ronin
117
117
  # @api public
118
118
  #
119
119
  def self.with_macs(macs)
120
- all(:mac_addresses => {:address => macs})
120
+ all('mac_addresses.address' => macs)
121
121
  end
122
122
 
123
123
  #
@@ -134,7 +134,7 @@ module Ronin
134
134
  # @api public
135
135
  #
136
136
  def self.with_hosts(names)
137
- all(:host_names => {:address => names})
137
+ all('host_names.address' => names)
138
138
  end
139
139
 
140
140
  #
@@ -151,7 +151,7 @@ module Ronin
151
151
  # @api public
152
152
  #
153
153
  def self.with_ports(numbers)
154
- all(:ports => {:number => numbers})
154
+ all('ports.number' => numbers)
155
155
  end
156
156
 
157
157
  #
@@ -51,16 +51,16 @@ module Ronin
51
51
  # @api public
52
52
  #
53
53
  def licensed_under(license)
54
- license = case license
55
- when License
56
- license
57
- when Symbol
58
- License.predefined_resource(license)
59
- else
60
- {:name => license.to_s}
61
- end
54
+ query = case license
55
+ when License
56
+ {:license => license}
57
+ when Symbol
58
+ {:license => License.predefined_resource(license)}
59
+ else
60
+ {'license.name' => license.to_s}
61
+ end
62
62
 
63
- all(:license => license)
63
+ all(query)
64
64
  end
65
65
  end
66
66
  end
data/lib/ronin/ronin.rb CHANGED
@@ -36,4 +36,23 @@ module Ronin
36
36
  def self.included(base)
37
37
  base.send :extend, ClassMethods
38
38
  end
39
+
40
+ #
41
+ # Convenience method for loading Ronin {Script}s.
42
+ #
43
+ # @param [String] path
44
+ # The path to the file.
45
+ #
46
+ # @return [Script]
47
+ # The loaded script.
48
+ #
49
+ # @see Script.load_from
50
+ #
51
+ # @since 1.1.0
52
+ #
53
+ # @api public
54
+ #
55
+ def script(path)
56
+ Script.load_from(path)
57
+ end
39
58
  end
@@ -33,6 +33,15 @@ require 'data_paths/finders'
33
33
  require 'parameters'
34
34
 
35
35
  module Ronin
36
+ #
37
+ # {Script} is a high-level module that enables a Class to load
38
+ # instances from files and cache them into the {Database}.
39
+ # Classes that include {Script}, may also include Script sub-modules
40
+ # that define behaviors of the Script Class:
41
+ #
42
+ # * {Buildable}
43
+ # * {Testable}
44
+ # * {Deployable}
36
45
  #
37
46
  # @since 1.1.0
38
47
  #
@@ -90,11 +99,9 @@ module Ronin
90
99
  # @return [Script]
91
100
  # The loaded script.
92
101
  #
93
- # @see Cacheable.load_from
94
- #
95
102
  # @since 1.1.0
96
103
  #
97
- # @api public
104
+ # @api semipublic
98
105
  #
99
106
  def Script.load_from(path)
100
107
  path = File.expand_path(path)
@@ -126,7 +126,6 @@ module Ronin
126
126
  :aliases => '-Q'
127
127
 
128
128
  class_option :color, :type => :boolean, :default => true
129
- class_option :no_color, :type => :boolean, :default => false
130
129
 
131
130
  #
132
131
  # Sets the namespace of a new {Command} class.
@@ -225,15 +224,15 @@ module Ronin
225
224
  # @api semipublic
226
225
  #
227
226
  def setup
228
- UI::Output.verbose! if self.options.verbose?
229
- UI::Output.quiet! if self.options.quiet?
230
- UI::Output.silent! if self.options.silent?
231
-
232
- if self.options.no_color?
233
- UI::Output.handler = UI::Output::Terminal::Raw
234
- elsif self.options.color?
235
- UI::Output.handler = UI::Output::Terminal::Color
236
- end
227
+ Output.verbose! if self.options.verbose?
228
+ Output.quiet! if self.options.quiet?
229
+ Output.silent! if self.options.silent?
230
+
231
+ Output.handler = if self.options.color?
232
+ Output::Terminal::Color
233
+ else
234
+ Output::Terminal::Raw
235
+ end
237
236
  end
238
237
 
239
238
  #
@@ -51,8 +51,8 @@ module Ronin
51
51
  return
52
52
  end
53
53
 
54
- UI::Console.color = false if options.nocolor?
55
- UI::Console.short_errors = false if options.backtrace?
54
+ UI::Console.color = !(options.color?)
55
+ UI::Console.short_errors = !(options.backtrace?)
56
56
 
57
57
  options[:require].each do |path|
58
58
  UI::Console.auto_load << path
@@ -31,8 +31,8 @@ module Ronin
31
31
  # The history file for the Console session
32
32
  HISTORY_FILE = File.join(Config::PATH,'console.log')
33
33
 
34
- @@color = true
35
- @@short_errors = true
34
+ @@color = !(STDOUT.tty?)
35
+ @@short_errors = !(ENV.has_key?('VERBOSE'))
36
36
  @@auto_load = []
37
37
  @@setup_blocks = []
38
38
 
@@ -26,7 +26,12 @@ module Ronin
26
26
  # Controls {Output} from Ronin.
27
27
  #
28
28
  module Output
29
- @mode = :quiet
29
+ @mode = if ENV['VERBOSE']
30
+ :verbose
31
+ else
32
+ :quiet
33
+ end
34
+
30
35
  @handler = if STDOUT.tty?
31
36
  Terminal::Color
32
37
  else
data/lib/ronin/url.rb CHANGED
@@ -87,7 +87,7 @@ module Ronin
87
87
  # @api public
88
88
  #
89
89
  def self.http
90
- all(:scheme => {:name => 'http'})
90
+ all('scheme.name' => 'http')
91
91
  end
92
92
 
93
93
  #
@@ -101,7 +101,7 @@ module Ronin
101
101
  # @api public
102
102
  #
103
103
  def self.https
104
- all(:scheme => {:name => 'https'})
104
+ all('scheme.name' => 'https')
105
105
  end
106
106
 
107
107
  #
@@ -118,7 +118,7 @@ module Ronin
118
118
  # @api public
119
119
  #
120
120
  def self.hosts(names)
121
- all(:host => {:address => names})
121
+ all('host.address' => names)
122
122
  end
123
123
 
124
124
  #
@@ -135,7 +135,7 @@ module Ronin
135
135
  # @api public
136
136
  #
137
137
  def self.ports(numbers)
138
- all(:port => {:number => numbers})
138
+ all('port.number' => numbers)
139
139
  end
140
140
 
141
141
  #
@@ -186,7 +186,7 @@ module Ronin
186
186
  # @api public
187
187
  #
188
188
  def self.query_param(name)
189
- all(:query_params => {:name => name})
189
+ all('query_params.name' => name)
190
190
  end
191
191
 
192
192
  #
@@ -203,7 +203,7 @@ module Ronin
203
203
  # @api public
204
204
  #
205
205
  def self.query_value(value)
206
- all(:query_params => {:value => value})
206
+ all('query_params.value' => value)
207
207
  end
208
208
 
209
209
  #
data/lib/ronin/version.rb CHANGED
@@ -19,5 +19,5 @@
19
19
 
20
20
  module Ronin
21
21
  # Ronin version
22
- VERSION = '1.1.0.rc2'
22
+ VERSION = '1.1.0.rc3'
23
23
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: ronin
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 1.1.0.rc2
5
+ version: 1.1.0.rc3
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-05-20 00:00:00 Z
13
+ date: 2011-06-07 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: dm-sqlite-adapter
@@ -284,7 +284,7 @@ dependencies:
284
284
  requirements:
285
285
  - - ~>
286
286
  - !ruby/object:Gem::Version
287
- version: 0.2.0.rc1
287
+ version: 0.2.0.rc2
288
288
  type: :runtime
289
289
  prerelease: false
290
290
  version_requirements: *id024