ronin 0.1.4 → 0.2.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/History.txt +50 -0
- data/Manifest.txt +31 -19
- data/README.txt +27 -19
- data/Rakefile +1 -1
- data/TODO.txt +1 -7
- data/lib/ronin.rb +1 -11
- data/lib/ronin/database/database.rb +1 -1
- data/lib/ronin/{cache/config.rb → environment.rb} +10 -8
- data/lib/ronin/formatting.rb +0 -1
- data/lib/ronin/formatting/extensions.rb +0 -1
- data/lib/ronin/formatting/extensions/binary/integer.rb +10 -0
- data/lib/ronin/formatting/extensions/binary/string.rb +11 -0
- data/lib/ronin/formatting/extensions/http/string.rb +1 -1
- data/lib/ronin/network/extensions/http/net.rb +8 -0
- data/lib/ronin/objectify/objectify.rb +0 -47
- data/lib/ronin/os.rb +89 -0
- data/lib/ronin/platform.rb +4 -77
- data/lib/ronin/{cache → platform}/exceptions.rb +2 -2
- data/lib/ronin/{cache → platform}/exceptions/extension_not_found.rb +1 -1
- data/lib/ronin/{cache → platform}/exceptions/overlay_cached.rb +1 -1
- data/lib/ronin/{cache → platform}/exceptions/overlay_not_found.rb +1 -1
- data/lib/ronin/{cache → platform}/extension.rb +68 -177
- data/lib/ronin/{cache → platform}/extension_cache.rb +9 -7
- data/lib/ronin/{cache → platform}/maintainer.rb +1 -1
- data/lib/ronin/platform/object_cache.rb +94 -0
- data/lib/ronin/platform/overlay.rb +274 -0
- data/lib/ronin/platform/overlay_cache.rb +318 -0
- data/lib/ronin/platform/platform.rb +195 -0
- data/lib/ronin/{cache → platform}/ronin.rb +7 -6
- data/lib/ronin/target.rb +5 -5
- data/lib/ronin/ui.rb +4 -1
- data/lib/ronin/ui/command_line/command_line.rb +0 -1
- data/lib/ronin/ui/command_line/commands/add.rb +21 -6
- data/lib/ronin/ui/command_line/commands/default.rb +6 -1
- data/lib/ronin/ui/command_line/commands/extension.rb +3 -3
- data/lib/ronin/ui/command_line/commands/install.rb +16 -5
- data/lib/ronin/ui/command_line/commands/list.rb +31 -8
- data/lib/ronin/ui/command_line/commands/overlay.rb +10 -9
- data/lib/ronin/ui/command_line/commands/remove.rb +16 -5
- data/lib/ronin/ui/command_line/commands/uninstall.rb +16 -5
- data/lib/ronin/ui/command_line/commands/update.rb +16 -3
- data/lib/ronin/ui/console.rb +81 -77
- data/lib/ronin/ui/diagnostics.rb +73 -0
- data/lib/ronin/version.rb +1 -1
- data/spec/chars/chars_spec.rb +1 -3
- data/spec/formatting/binary/integer_spec.rb +48 -36
- data/spec/formatting/binary/string_spec.rb +66 -4
- data/spec/os_spec.rb +24 -0
- data/spec/platform/extension_cache_spec.rb +42 -0
- data/spec/platform/extension_spec.rb +62 -0
- data/spec/platform/helpers/overlays.rb +18 -0
- data/spec/platform/helpers/overlays.yaml.erb +10 -0
- data/spec/platform/helpers/overlays/hello/hello/extension.rb +7 -0
- data/spec/platform/helpers/overlays/hello/ronin.xml +26 -0
- data/spec/platform/helpers/overlays/test1/ronin.xml +26 -0
- data/spec/platform/helpers/overlays/test1/test/extension.rb +7 -0
- data/spec/platform/helpers/overlays/test2/ronin.xml +26 -0
- data/spec/platform/helpers/overlays/test2/test/extension.rb +7 -0
- data/spec/platform/overlay_cache_spec.rb +63 -0
- data/spec/platform/platform_spec.rb +14 -0
- data/spec/platform/ronin_spec.rb +22 -0
- data/spec/target_spec.rb +1 -1
- data/spec/ui/diagnostics_spec.rb +17 -0
- metadata +34 -22
- data/lib/ronin/cache.rb +0 -27
- data/lib/ronin/cache/cache.rb +0 -78
- data/lib/ronin/cache/overlay.rb +0 -470
- data/lib/ronin/cache/overlay_cache.rb +0 -216
- data/lib/ronin/formatting/extensions/html.rb +0 -24
- data/lib/ronin/formatting/extensions/html/string.rb +0 -75
- data/lib/ronin/formatting/html.rb +0 -24
- data/spec/formatting/html_spec.rb +0 -46
- data/spec/platform_spec.rb +0 -24
data/History.txt
CHANGED
@@ -1,3 +1,53 @@
|
|
1
|
+
=== 0.2.0 / 2009-02-06
|
2
|
+
|
3
|
+
* Moved the HTML formatting methods into the
|
4
|
+
{ronin-html}[http://ronin.rubyforge.org/html/] library.
|
5
|
+
* Added 'ronin/environment' which loads the Ronin Environment.
|
6
|
+
* Added the --database option to the DefaultCommand.
|
7
|
+
* Added the -C option to the add, install, list, update, remove and
|
8
|
+
uninstall commands.
|
9
|
+
* Added String#hex_escape.
|
10
|
+
* Added Net.http_ok?.
|
11
|
+
* Added UI::Diagnostics.
|
12
|
+
* Require Contextify >= 0.1.2 for the self.load_context_block method.
|
13
|
+
* Renamed Platform to Ronin::OS.
|
14
|
+
* Renamed Cache to Ronin::Platform.
|
15
|
+
* Refactored Ronin::Platform:
|
16
|
+
* Added Overlay#activate!.
|
17
|
+
* Added Overlay#deactivate!.
|
18
|
+
* Added a title attribute to Ronin::Platform::Overlay.
|
19
|
+
* Added a dirty flag to Ronin::Platform::OverlayCache to reduce
|
20
|
+
unnecessary writes.
|
21
|
+
* Added OverlayCache#has_extension?.
|
22
|
+
* Added Ronin::Platform::ObjectCache to handle the mass caching/mirroring
|
23
|
+
of object contexts.
|
24
|
+
* Added Platform.add.
|
25
|
+
* Added Platform.install.
|
26
|
+
* Added Platform.update.
|
27
|
+
* Added Platform.remove.
|
28
|
+
* Added Platform.uninstall.
|
29
|
+
* Added Platform::Extension#find_paths.
|
30
|
+
* Added specs for:
|
31
|
+
* Ronin::Platform.
|
32
|
+
* Ronin::Platform::Overlay.
|
33
|
+
* Ronin::Platform::OverlayCache.
|
34
|
+
* Ronin::Platform::Extension.
|
35
|
+
* Ronin::Platform::ExtensionCache.
|
36
|
+
* Shortened method names.
|
37
|
+
* Renamed OverlayCache#has_overlay? to OverlayCache#has?.
|
38
|
+
* Renamed OverlayCache#get_overlay to OverlayCache#get.
|
39
|
+
* Renamed OverlayCache#overlay_with to OverlayCache#with.
|
40
|
+
* Renamed Extension#was_setup? to Extension#setup?.
|
41
|
+
* Renamed Extension#was_toredown? to Extension#toredown?.
|
42
|
+
* Renamed Extension#perform_setup to Extension#setup!.
|
43
|
+
* Renamed Extension#perform_teardown to Extension#teardown!.
|
44
|
+
* Removed un-used or surpurfulous methods.
|
45
|
+
* Removed 'lib/ronin/platform/config.rb'.
|
46
|
+
* Allow Overlays to have their own <tt>lib/</tt> directories.
|
47
|
+
* Many bug fixes.
|
48
|
+
* Updated the README.txt.
|
49
|
+
* Fixed bug in UI::Console.auto_load and UI::Console.start.
|
50
|
+
|
1
51
|
=== 0.1.4 / 2009-01-22
|
2
52
|
|
3
53
|
* Moved Ronin::Web and Ronin::Sessions::Web into the ronin-web library.
|
data/Manifest.txt
CHANGED
@@ -20,7 +20,6 @@ lib/ronin/formatting.rb
|
|
20
20
|
lib/ronin/formatting/digest.rb
|
21
21
|
lib/ronin/formatting/binary.rb
|
22
22
|
lib/ronin/formatting/text.rb
|
23
|
-
lib/ronin/formatting/html.rb
|
24
23
|
lib/ronin/formatting/http.rb
|
25
24
|
lib/ronin/formatting/extensions.rb
|
26
25
|
lib/ronin/formatting/extensions/digest.rb
|
@@ -30,8 +29,6 @@ lib/ronin/formatting/extensions/binary/integer.rb
|
|
30
29
|
lib/ronin/formatting/extensions/binary/string.rb
|
31
30
|
lib/ronin/formatting/extensions/text.rb
|
32
31
|
lib/ronin/formatting/extensions/text/string.rb
|
33
|
-
lib/ronin/formatting/extensions/html.rb
|
34
|
-
lib/ronin/formatting/extensions/html/string.rb
|
35
32
|
lib/ronin/formatting/extensions/http.rb
|
36
33
|
lib/ronin/formatting/extensions/http/string.rb
|
37
34
|
lib/ronin/chars.rb
|
@@ -104,7 +101,7 @@ lib/ronin/author.rb
|
|
104
101
|
lib/ronin/license.rb
|
105
102
|
lib/ronin/has_license.rb
|
106
103
|
lib/ronin/arch.rb
|
107
|
-
lib/ronin/
|
104
|
+
lib/ronin/os.rb
|
108
105
|
lib/ronin/target.rb
|
109
106
|
lib/ronin/product.rb
|
110
107
|
lib/ronin/objectify.rb
|
@@ -113,20 +110,22 @@ lib/ronin/objectify/exceptions/object_context_not_found.rb
|
|
113
110
|
lib/ronin/objectify/exceptions/unknown_object_context.rb
|
114
111
|
lib/ronin/objectify/objectify.rb
|
115
112
|
lib/ronin/models.rb
|
116
|
-
lib/ronin/
|
117
|
-
lib/ronin/
|
118
|
-
lib/ronin/
|
119
|
-
lib/ronin/
|
120
|
-
lib/ronin/
|
121
|
-
lib/ronin/
|
122
|
-
lib/ronin/
|
123
|
-
lib/ronin/
|
124
|
-
lib/ronin/
|
125
|
-
lib/ronin/
|
126
|
-
lib/ronin/
|
127
|
-
lib/ronin/
|
128
|
-
lib/ronin/
|
113
|
+
lib/ronin/environment.rb
|
114
|
+
lib/ronin/platform.rb
|
115
|
+
lib/ronin/platform/exceptions.rb
|
116
|
+
lib/ronin/platform/exceptions/extension_not_found.rb
|
117
|
+
lib/ronin/platform/exceptions/overlay_cached.rb
|
118
|
+
lib/ronin/platform/exceptions/overlay_not_found.rb
|
119
|
+
lib/ronin/platform/maintainer.rb
|
120
|
+
lib/ronin/platform/overlay.rb
|
121
|
+
lib/ronin/platform/overlay_cache.rb
|
122
|
+
lib/ronin/platform/object_cache.rb
|
123
|
+
lib/ronin/platform/extension_cache.rb
|
124
|
+
lib/ronin/platform/extension.rb
|
125
|
+
lib/ronin/platform/platform.rb
|
126
|
+
lib/ronin/platform/ronin.rb
|
129
127
|
lib/ronin/ui.rb
|
128
|
+
lib/ronin/ui/diagnostics.rb
|
130
129
|
lib/ronin/ui/hexdump.rb
|
131
130
|
lib/ronin/ui/hexdump/hexdump.rb
|
132
131
|
lib/ronin/ui/hexdump/extensions.rb
|
@@ -170,17 +169,30 @@ spec/extensions/uri/query_params_spec.rb
|
|
170
169
|
spec/formatting/binary/integer_spec.rb
|
171
170
|
spec/formatting/binary/string_spec.rb
|
172
171
|
spec/formatting/digest_spec.rb
|
173
|
-
spec/formatting/html_spec.rb
|
174
172
|
spec/formatting/http_spec.rb
|
175
173
|
spec/formatting/text_spec.rb
|
176
174
|
spec/code/reference_spec.rb
|
177
175
|
spec/code/symbol_table_spec.rb
|
178
176
|
spec/license_spec.rb
|
179
177
|
spec/path_spec.rb
|
180
|
-
spec/
|
178
|
+
spec/os_spec.rb
|
181
179
|
spec/product_spec.rb
|
182
180
|
spec/target_spec.rb
|
183
181
|
spec/sessions/session_spec.rb
|
182
|
+
spec/platform/helpers/overlays.rb
|
183
|
+
spec/platform/helpers/overlays.yaml.erb
|
184
|
+
spec/platform/helpers/overlays/test1/ronin.xml
|
185
|
+
spec/platform/helpers/overlays/test1/test/extension.rb
|
186
|
+
spec/platform/helpers/overlays/test2/ronin.xml
|
187
|
+
spec/platform/helpers/overlays/test2/test/extension.rb
|
188
|
+
spec/platform/helpers/overlays/hello/ronin.xml
|
189
|
+
spec/platform/helpers/overlays/hello/hello/extension.rb
|
190
|
+
spec/platform/extension_spec.rb
|
191
|
+
spec/platform/overlay_cache_spec.rb
|
192
|
+
spec/platform/extension_cache_spec.rb
|
193
|
+
spec/platform/platform_spec.rb
|
194
|
+
spec/platform/ronin_spec.rb
|
195
|
+
spec/ui/diagnostics_spec.rb
|
184
196
|
spec/ui/command_line/param_parser_spec.rb
|
185
197
|
spec/ronin_spec.rb
|
186
198
|
static/overlay.xsl
|
data/README.txt
CHANGED
@@ -51,7 +51,6 @@ of Ronin.
|
|
51
51
|
* Binary
|
52
52
|
* HTTP
|
53
53
|
* URIs
|
54
|
-
* HTML
|
55
54
|
* Generating random text.
|
56
55
|
* Networking:
|
57
56
|
* TCP
|
@@ -68,7 +67,8 @@ of Ronin.
|
|
68
67
|
|
69
68
|
== REQUIREMENTS:
|
70
69
|
|
71
|
-
*
|
70
|
+
* {libsqlite3}[http://sqlite.org/]
|
71
|
+
* {DataMapper}[http://datamapper.org/]:
|
72
72
|
* dm-core >= 0.9.9
|
73
73
|
* data_objects >= 0.9.9
|
74
74
|
* do_sqlite3 >= 0.9.9
|
@@ -76,11 +76,11 @@ of Ronin.
|
|
76
76
|
* dm-aggregates >= 0.9.9
|
77
77
|
* dm-validations >= 0.9.9
|
78
78
|
* dm-serializer >= 0.9.9
|
79
|
-
* dm-prefined >= 0.1.0
|
80
|
-
* parameters >= 0.1.2
|
81
|
-
* contextify >= 0.1.0
|
82
|
-
* reverse-require >= 0.3.1
|
83
|
-
* repertoire >= 0.1.2
|
79
|
+
* {dm-prefined}[http://dm-predefined.rubyforge.org/] >= 0.1.0
|
80
|
+
* {parameters}[http://parameters.rubyforge.org/] >= 0.1.2
|
81
|
+
* {contextify}[http://contextify.rubyforge.org/] >= 0.1.0
|
82
|
+
* {reverse-require}[http://reverserequire.rubyforge.org/] >= 0.3.1
|
83
|
+
* {repertoire}[http://repertoire.rubyforge.org/] >= 0.1.2
|
84
84
|
|
85
85
|
== INSTALL:
|
86
86
|
|
@@ -122,55 +122,63 @@ of Ronin.
|
|
122
122
|
|
123
123
|
== RONIN LIBRARIES:
|
124
124
|
|
125
|
-
===
|
125
|
+
=== Ronin ASM
|
126
126
|
|
127
|
-
* http://ronin.rubyforge.org/
|
127
|
+
* http://ronin.rubyforge.org/asm/
|
128
128
|
* http://github.com/postmodern/ronin-asm
|
129
129
|
|
130
130
|
Ronin ASM is a Ruby library for Ronin that provides dynamic Assembly (ASM)
|
131
131
|
generation of programs or shellcode.
|
132
132
|
|
133
|
-
===
|
133
|
+
=== Ronin Dorks
|
134
134
|
|
135
|
-
* http://ronin.rubyforge.org/
|
135
|
+
* http://ronin.rubyforge.org/dorks/
|
136
136
|
* http://github.com/postmodern/ronin-dorks
|
137
137
|
|
138
138
|
Ronin Dorks is a Ruby library for Ronin that provides support for various
|
139
139
|
Google (tm) Dorks functionality.
|
140
140
|
|
141
|
-
===
|
141
|
+
=== Ronin Exploits
|
142
142
|
|
143
|
-
* http://ronin.rubyforge.org/
|
143
|
+
* http://ronin.rubyforge.org/exploits/
|
144
144
|
* http://github.com/postmodern/ronin-exploits
|
145
145
|
|
146
146
|
Ronin Exploits is a Ruby library for Ronin that provides exploitation and
|
147
147
|
payload crafting functionality.
|
148
148
|
|
149
|
-
===
|
149
|
+
=== Ronin HTML
|
150
150
|
|
151
|
-
* http://ronin.rubyforge.org/
|
151
|
+
* http://ronin.rubyforge.org/html/
|
152
152
|
* http://github.com/postmodern/ronin-html
|
153
153
|
|
154
154
|
Ronin HTML is a Ruby library for Ronin that provides support for generating
|
155
155
|
complex HTML/JavaScript or crafting XSS/CSRF attacks.
|
156
156
|
|
157
|
-
===
|
157
|
+
=== Ronin SQL
|
158
158
|
|
159
|
-
* http://ronin.rubyforge.org/
|
159
|
+
* http://ronin.rubyforge.org/sql/
|
160
160
|
* http://github.com/postmodern/ronin-sql
|
161
161
|
|
162
162
|
Ronin SQL is a Ruby library for Ronin that provids support for SQL related
|
163
163
|
security tasks, such as scanning for and exploiting SQL injections.
|
164
164
|
|
165
|
-
===
|
165
|
+
=== Ronin PHP
|
166
166
|
|
167
|
-
* http://ronin.rubyforge.org/
|
167
|
+
* http://ronin.rubyforge.org/php/
|
168
168
|
* http://github.com/postmodern/ronin-php
|
169
169
|
|
170
170
|
Ronin PHP is a Ruby library for Ronin that provides support for PHP related
|
171
171
|
security tasks, such as finding and exploiting Local File Inclusion (LFI)
|
172
172
|
and Remote File Inclusion (RFI).
|
173
173
|
|
174
|
+
=== Ronin Web
|
175
|
+
|
176
|
+
* http://ronin.rubyforge.org/web/
|
177
|
+
* http://github.com/postmodern/ronin-web
|
178
|
+
|
179
|
+
Ronin Web is a Ruby library for Ronin that provides support for web
|
180
|
+
scraping and spidering functionality.
|
181
|
+
|
174
182
|
== LICENSE:
|
175
183
|
|
176
184
|
Ronin - A Ruby platform designed for information security and data
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ Hoe.new('ronin', Ronin::VERSION) do |p|
|
|
19
19
|
['dm-validations', '>=0.9.9'],
|
20
20
|
['dm-predefined', '>=0.1.0'],
|
21
21
|
['parameters', '>=0.1.3'],
|
22
|
-
['contextify', '>=0.1.
|
22
|
+
['contextify', '>=0.1.2'],
|
23
23
|
['reverse-require', '>=0.3.1'],
|
24
24
|
['repertoire', '>=0.1.2']
|
25
25
|
]
|
data/TODO.txt
CHANGED
data/lib/ronin.rb
CHANGED
@@ -21,15 +21,5 @@
|
|
21
21
|
#++
|
22
22
|
#
|
23
23
|
|
24
|
-
require 'ronin/
|
25
|
-
require 'ronin/extensions'
|
26
|
-
require 'ronin/formatting'
|
27
|
-
require 'ronin/chars'
|
28
|
-
require 'ronin/path'
|
29
|
-
require 'ronin/network'
|
30
|
-
require 'ronin/models'
|
31
|
-
require 'ronin/ui'
|
32
|
-
require 'ronin/ronin'
|
24
|
+
require 'ronin/environment'
|
33
25
|
require 'ronin/version'
|
34
|
-
|
35
|
-
Ronin::Config.load
|
@@ -22,13 +22,15 @@
|
|
22
22
|
#
|
23
23
|
|
24
24
|
require 'ronin/config'
|
25
|
+
require 'ronin/extensions'
|
26
|
+
require 'ronin/formatting'
|
27
|
+
require 'ronin/chars'
|
28
|
+
require 'ronin/path'
|
29
|
+
require 'ronin/network'
|
30
|
+
require 'ronin/models'
|
31
|
+
require 'ronin/ui'
|
32
|
+
require 'ronin/ronin'
|
25
33
|
|
26
|
-
|
27
|
-
module Config
|
28
|
-
# Path to overlays directory
|
29
|
-
OVERLAY_DIR = File.join(Config::PATH,'overlays')
|
34
|
+
require 'pp'
|
30
35
|
|
31
|
-
|
32
|
-
OVERLAY_CACHE_PATH = File.join(Config::PATH,'overlays.yaml')
|
33
|
-
end
|
34
|
-
end
|
36
|
+
Ronin::Config.load
|
data/lib/ronin/formatting.rb
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
#++
|
22
22
|
#
|
23
23
|
|
24
|
+
require 'ronin/formatting/extensions/text'
|
24
25
|
require 'ronin/arch'
|
25
26
|
|
26
27
|
require 'base64'
|
@@ -56,6 +57,16 @@ class String
|
|
56
57
|
return integer
|
57
58
|
end
|
58
59
|
|
60
|
+
#
|
61
|
+
# Returns the hex escaped form of the string.
|
62
|
+
#
|
63
|
+
# "hello".hex_escape
|
64
|
+
# # => "\\x68\\x65\\x6c\\x6c\\x6f"
|
65
|
+
#
|
66
|
+
def hex_escape(options={})
|
67
|
+
format_bytes(options) { |b| "\\x%.2x" % b }
|
68
|
+
end
|
69
|
+
|
59
70
|
#
|
60
71
|
# XOR encodes the string using the specified _key_.
|
61
72
|
#
|
@@ -157,6 +157,14 @@ module Net
|
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
+
#
|
161
|
+
# Returns +true+ if a HTTP Head request with the given _options_ returns
|
162
|
+
# the HTTP status code of 200, returns +false+ otherwise.
|
163
|
+
#
|
164
|
+
def Net.http_ok?(options={})
|
165
|
+
Net.http_head(options).code == 200
|
166
|
+
end
|
167
|
+
|
160
168
|
#
|
161
169
|
# Performes an HTTP Lock request with the given _options_. If a _block_
|
162
170
|
# is given, it will be passed the response from the HTTP server.
|
@@ -164,53 +164,6 @@ module Ronin
|
|
164
164
|
return nil
|
165
165
|
end
|
166
166
|
|
167
|
-
#
|
168
|
-
# Cache all objects loaded from the paths within the specified
|
169
|
-
# _directory_.
|
170
|
-
#
|
171
|
-
def Objectify.cache_objects_in(directory)
|
172
|
-
directory = File.expand_path(directory)
|
173
|
-
paths = Dir[File.join(directory,'**','*.rb')]
|
174
|
-
|
175
|
-
paths.each { |path| Objectify.cache_objects(path) }
|
176
|
-
return nil
|
177
|
-
end
|
178
|
-
|
179
|
-
#
|
180
|
-
# Mirror all objects that were previously cached from paths within
|
181
|
-
# the specified _directory_. Also cache objects which have yet to
|
182
|
-
# be cached.
|
183
|
-
#
|
184
|
-
def Objectify.mirror_objects_in(directory)
|
185
|
-
directory = File.expand_path(directory)
|
186
|
-
new_paths = Dir[File.join(directory,'**','*.rb')]
|
187
|
-
|
188
|
-
Objectify.object_contexts.each_value do |base|
|
189
|
-
objects = base.all(:object_path.like => "#{directory}%")
|
190
|
-
new_paths -= objects.map { |obj| obj.object_path }
|
191
|
-
|
192
|
-
# mirror existing objects
|
193
|
-
objects.each { |obj| obj.mirror }
|
194
|
-
end
|
195
|
-
|
196
|
-
# cache the remaining new paths
|
197
|
-
new_paths.each { |path| Objectify.cache_objects(path) }
|
198
|
-
return nil
|
199
|
-
end
|
200
|
-
|
201
|
-
#
|
202
|
-
# Deletes all cached objects that existed in the specified _directory_.
|
203
|
-
#
|
204
|
-
def Objectify.expunge_objects_from(directory)
|
205
|
-
directory = File.expand_path(directory)
|
206
|
-
|
207
|
-
Objectify.object_contexts.each_value do |base|
|
208
|
-
base.all(:object_path.like => "#{directory}%").destroy!
|
209
|
-
end
|
210
|
-
|
211
|
-
return nil
|
212
|
-
end
|
213
|
-
|
214
167
|
#
|
215
168
|
# Loads a new object from the file pointed to by the +object_path+
|
216
169
|
# property.
|