ronin 0.2.4 → 0.3.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.tar.gz.sig +0 -0
- data/History.txt +95 -0
- data/Manifest.txt +55 -25
- data/README.txt +64 -52
- data/Rakefile +21 -14
- data/bin/ronin +1 -1
- data/bin/ronin-add +1 -1
- data/bin/ronin-console +1 -1
- data/bin/ronin-help +1 -1
- data/bin/ronin-install +1 -1
- data/bin/ronin-list +1 -1
- data/bin/ronin-remove +1 -1
- data/bin/ronin-uninstall +1 -1
- data/bin/ronin-update +1 -1
- data/lib/ronin.rb +2 -4
- data/lib/ronin/arch.rb +66 -21
- data/lib/ronin/author.rb +27 -18
- data/lib/ronin/cacheable.rb +63 -23
- data/lib/ronin/code/emittable.rb +1 -4
- data/lib/ronin/code/reference.rb +2 -5
- data/lib/ronin/code/symbol_table.rb +1 -4
- data/lib/ronin/code/token.rb +1 -4
- data/lib/ronin/config.rb +31 -10
- data/lib/ronin/database.rb +1 -4
- data/lib/ronin/database/database.rb +42 -23
- data/lib/ronin/database/exceptions.rb +1 -4
- data/lib/ronin/database/exceptions/invalid_config.rb +1 -4
- data/lib/ronin/environment.rb +1 -5
- data/lib/ronin/extensions.rb +1 -5
- data/lib/ronin/extensions/array.rb +8 -6
- data/lib/ronin/extensions/file.rb +9 -4
- data/lib/ronin/extensions/ip_addr.rb +33 -13
- data/lib/ronin/extensions/kernel.rb +44 -9
- data/lib/ronin/extensions/meta.rb +1 -4
- data/lib/ronin/extensions/string.rb +8 -7
- data/lib/ronin/extensions/uri.rb +1 -4
- data/lib/ronin/extensions/uri/http.rb +1 -48
- data/lib/ronin/extensions/uri/query_params.rb +27 -8
- data/lib/ronin/formatting.rb +1 -4
- data/lib/ronin/formatting/binary.rb +1 -4
- data/lib/ronin/formatting/digest.rb +1 -4
- data/lib/ronin/formatting/extensions.rb +1 -4
- data/lib/ronin/formatting/extensions/binary.rb +1 -4
- data/lib/ronin/formatting/extensions/binary/file.rb +3 -28
- data/lib/ronin/formatting/extensions/binary/integer.rb +31 -12
- data/lib/ronin/formatting/extensions/binary/string.rb +59 -36
- data/lib/ronin/formatting/extensions/digest.rb +1 -4
- data/lib/ronin/formatting/extensions/digest/string.rb +31 -9
- data/lib/ronin/formatting/extensions/http.rb +1 -4
- data/lib/ronin/formatting/extensions/http/string.rb +16 -9
- data/lib/ronin/formatting/extensions/text.rb +1 -4
- data/lib/ronin/formatting/extensions/text/array.rb +17 -7
- data/lib/ronin/formatting/extensions/text/string.rb +70 -27
- data/lib/ronin/formatting/http.rb +1 -4
- data/lib/ronin/formatting/text.rb +1 -4
- data/lib/ronin/license.rb +72 -65
- data/lib/ronin/model.rb +1 -4
- data/lib/ronin/model/has_description.rb +37 -8
- data/lib/ronin/model/has_license.rb +12 -8
- data/lib/ronin/model/has_name.rb +10 -7
- data/lib/ronin/model/has_version.rb +14 -4
- data/lib/ronin/model/model.rb +71 -14
- data/lib/ronin/network.rb +1 -4
- data/lib/ronin/network/esmtp.rb +1 -4
- data/lib/ronin/network/extensions.rb +1 -4
- data/lib/ronin/network/extensions/esmtp.rb +1 -4
- data/lib/ronin/network/extensions/esmtp/net.rb +49 -21
- data/lib/ronin/network/extensions/http.rb +1 -4
- data/lib/ronin/network/extensions/http/net.rb +319 -531
- data/lib/ronin/network/extensions/imap.rb +1 -4
- data/lib/ronin/network/extensions/imap/net.rb +50 -23
- data/lib/ronin/network/extensions/pop3.rb +1 -4
- data/lib/ronin/network/extensions/pop3/net.rb +40 -17
- data/lib/ronin/network/extensions/smtp.rb +1 -4
- data/lib/ronin/network/extensions/smtp/net.rb +49 -21
- data/lib/ronin/network/extensions/tcp.rb +1 -4
- data/lib/ronin/network/extensions/tcp/net.rb +234 -31
- data/lib/ronin/network/extensions/telnet.rb +1 -4
- data/lib/ronin/network/extensions/telnet/net.rb +83 -51
- data/lib/ronin/network/extensions/udp.rb +1 -4
- data/lib/ronin/network/extensions/udp/net.rb +164 -27
- data/lib/ronin/{sessions.rb → network/helpers.rb} +10 -13
- data/lib/ronin/network/helpers/esmtp.rb +129 -0
- data/lib/ronin/{sessions/session.rb → network/helpers/helper.rb} +25 -17
- data/lib/ronin/network/helpers/http.rb +444 -0
- data/lib/ronin/network/helpers/imap.rb +115 -0
- data/lib/ronin/network/helpers/pop3.rb +110 -0
- data/lib/ronin/network/helpers/smtp.rb +123 -0
- data/lib/ronin/network/helpers/tcp.rb +309 -0
- data/lib/ronin/network/helpers/telnet.rb +158 -0
- data/lib/ronin/network/helpers/udp.rb +197 -0
- data/lib/ronin/network/http.rb +3 -156
- data/lib/ronin/network/http/exceptions.rb +1 -4
- data/lib/ronin/network/http/exceptions/unknown_request.rb +1 -4
- data/lib/ronin/network/http/http.rb +214 -0
- data/lib/ronin/network/http/proxy.rb +308 -0
- data/lib/ronin/network/imap.rb +7 -6
- data/lib/ronin/network/pop3.rb +7 -6
- data/lib/ronin/network/smtp.rb +1 -4
- data/lib/ronin/network/smtp/email.rb +34 -18
- data/lib/ronin/network/smtp/smtp.rb +19 -7
- data/lib/ronin/network/tcp.rb +1 -4
- data/lib/ronin/network/telnet.rb +25 -12
- data/lib/ronin/network/udp.rb +1 -4
- data/lib/ronin/os.rb +43 -21
- data/lib/ronin/path.rb +29 -9
- data/lib/ronin/platform.rb +1 -4
- data/lib/ronin/platform/exceptions.rb +1 -4
- data/lib/ronin/platform/exceptions/extension_not_found.rb +1 -4
- data/lib/ronin/platform/exceptions/overlay_cached.rb +1 -4
- data/lib/ronin/platform/exceptions/overlay_not_found.rb +1 -4
- data/lib/ronin/platform/extension.rb +195 -52
- data/lib/ronin/platform/extension_cache.rb +60 -24
- data/lib/ronin/platform/maintainer.rb +15 -8
- data/lib/ronin/platform/object_cache.rb +29 -8
- data/lib/ronin/platform/overlay.rb +82 -26
- data/lib/ronin/platform/overlay_cache.rb +179 -56
- data/lib/ronin/platform/platform.rb +154 -58
- data/lib/ronin/platform/ronin.rb +38 -11
- data/lib/ronin/product.rb +17 -17
- data/lib/ronin/rpc.rb +1 -4
- data/lib/ronin/rpc/call.rb +1 -4
- data/lib/ronin/rpc/client.rb +1 -4
- data/lib/ronin/rpc/console.rb +1 -4
- data/lib/ronin/rpc/exceptions.rb +1 -4
- data/lib/ronin/rpc/exceptions/not_implemented.rb +1 -4
- data/lib/ronin/rpc/exceptions/response_missing.rb +1 -4
- data/lib/ronin/rpc/response.rb +1 -4
- data/lib/ronin/rpc/service.rb +1 -4
- data/lib/ronin/rpc/shell.rb +1 -4
- data/lib/ronin/scanners.rb +1 -4
- data/lib/ronin/scanners/exceptions.rb +1 -4
- data/lib/ronin/scanners/exceptions/unknown_category.rb +1 -4
- data/lib/ronin/scanners/scanner.rb +82 -26
- data/lib/ronin/static.rb +1 -4
- data/lib/ronin/static/finders.rb +1 -4
- data/lib/ronin/static/static.rb +16 -7
- data/lib/ronin/templates.rb +2 -4
- data/lib/ronin/templates/erb.rb +24 -10
- data/lib/ronin/templates/template.rb +130 -0
- data/lib/ronin/ui.rb +2 -6
- data/lib/ronin/ui/command_line.rb +1 -4
- data/lib/ronin/ui/command_line/command.rb +137 -68
- data/lib/ronin/ui/command_line/command_line.rb +52 -29
- data/lib/ronin/ui/command_line/commands/add.rb +39 -67
- data/lib/ronin/ui/command_line/commands/console.rb +23 -27
- data/lib/ronin/ui/command_line/commands/help.rb +10 -29
- data/lib/ronin/ui/command_line/commands/install.rb +31 -56
- data/lib/ronin/ui/command_line/commands/list.rb +34 -52
- data/lib/ronin/ui/command_line/commands/remove.rb +12 -32
- data/lib/ronin/ui/command_line/commands/uninstall.rb +11 -31
- data/lib/ronin/ui/command_line/commands/update.rb +15 -35
- data/lib/ronin/ui/command_line/exceptions.rb +1 -4
- data/lib/ronin/ui/command_line/exceptions/unknown_command.rb +1 -4
- data/lib/ronin/ui/console.rb +54 -23
- data/lib/ronin/ui/hexdump.rb +1 -4
- data/lib/ronin/ui/hexdump/extensions.rb +1 -4
- data/lib/ronin/ui/hexdump/extensions/file.rb +8 -6
- data/lib/ronin/ui/hexdump/extensions/kernel.rb +4 -5
- data/lib/ronin/ui/hexdump/hexdump.rb +8 -5
- data/lib/ronin/{sessions/exceptions.rb → ui/output.rb} +3 -5
- data/lib/ronin/ui/output/handler.rb +121 -0
- data/lib/ronin/ui/output/helpers.rb +110 -0
- data/lib/ronin/ui/output/output.rb +144 -0
- data/lib/ronin/ui/shell.rb +38 -12
- data/lib/ronin/version.rb +2 -5
- data/lib/ronin/{sessions/exceptions/variable_missing.rb → yard.rb} +2 -10
- data/lib/ronin/{ronin.rb → yard/handlers.rb} +5 -15
- data/lib/ronin/yard/handlers/ruby.rb +27 -0
- data/lib/ronin/yard/handlers/ruby/base.rb +27 -0
- data/lib/ronin/yard/handlers/ruby/belongs_to_handler.rb +45 -0
- data/lib/ronin/yard/handlers/ruby/eval_block_handler.rb +18 -0
- data/lib/ronin/yard/handlers/ruby/has_handler.rb +49 -0
- data/lib/ronin/yard/handlers/ruby/legacy.rb +26 -0
- data/lib/ronin/yard/handlers/ruby/legacy/belongs_to_handler.rb +41 -0
- data/lib/ronin/yard/handlers/ruby/legacy/eval_block_handler.rb +19 -0
- data/lib/ronin/yard/handlers/ruby/legacy/has_handler.rb +34 -0
- data/lib/ronin/yard/handlers/ruby/legacy/metaclass_eval_handler.rb +21 -0
- data/lib/ronin/yard/handlers/ruby/legacy/property_handler.rb +41 -0
- data/lib/ronin/yard/handlers/ruby/legacy/scanner_handler.rb +61 -0
- data/lib/ronin/yard/handlers/ruby/metaclass_eval_handler.rb +18 -0
- data/lib/ronin/yard/handlers/ruby/property_handler.rb +45 -0
- data/lib/ronin/yard/handlers/ruby/scanner_handler.rb +66 -0
- data/spec/author_spec.rb +3 -3
- data/spec/extensions/classes/some_class.rb +2 -0
- data/spec/extensions/kernel_spec.rb +17 -0
- data/spec/extensions/uri/http_spec.rb +0 -31
- data/spec/formatting/binary/integer_spec.rb +4 -0
- data/spec/formatting/text/string_spec.rb +96 -0
- data/spec/license_spec.rb +6 -6
- data/spec/model/classes/basic_model.rb +13 -0
- data/spec/model/classes/custom_model.rb +17 -0
- data/spec/model/classes/described_model.rb +10 -0
- data/spec/model/has_description_spec.rb +42 -0
- data/spec/model/has_license_spec.rb +18 -4
- data/spec/model/model_spec.rb +68 -0
- data/spec/network/helpers/classes/test_helper.rb +11 -0
- data/spec/network/helpers/classes/uses_test_helper.rb +10 -0
- data/spec/network/helpers/helper_spec.rb +25 -0
- data/spec/network/{http_spec.rb → http/http_spec.rb} +0 -0
- data/spec/network/http/proxy_spec.rb +116 -0
- data/spec/os_spec.rb +4 -4
- data/spec/platform/extension_cache_spec.rb +14 -0
- data/spec/platform/extension_spec.rb +11 -0
- data/spec/platform/platform_spec.rb +8 -0
- data/spec/product_spec.rb +9 -9
- data/spec/spec_helper.rb +1 -1
- data/spec/templates/classes/{uses_erb.rb → example_erb.rb} +1 -1
- data/spec/templates/classes/example_template.rb +21 -0
- data/spec/templates/erb_spec.rb +2 -2
- data/spec/templates/helpers/static.rb +5 -0
- data/spec/templates/helpers/static/templates/_relative.erb +1 -0
- data/spec/templates/helpers/static/templates/example.erb +1 -0
- data/spec/templates/template_spec.rb +41 -0
- data/spec/ui/command_line/classes/test_command.rb +23 -0
- data/spec/ui/command_line/command_spec.rb +31 -0
- data/spec/ui/output_spec.rb +29 -0
- data/static/ronin/platform/overlay.xsl +135 -114
- data/tasks/spec.rb +1 -0
- data/tasks/yard.rb +18 -0
- metadata +98 -59
- metadata.gz.sig +0 -0
- data/TODO.txt +0 -15
- data/lib/ronin/extensions/hash.rb +0 -62
- data/lib/ronin/sessions/esmtp.rb +0 -57
- data/lib/ronin/sessions/http.rb +0 -678
- data/lib/ronin/sessions/imap.rb +0 -54
- data/lib/ronin/sessions/pop3.rb +0 -52
- data/lib/ronin/sessions/smtp.rb +0 -57
- data/lib/ronin/sessions/tcp.rb +0 -100
- data/lib/ronin/sessions/telnet.rb +0 -55
- data/lib/ronin/sessions/udp.rb +0 -73
- data/lib/ronin/ui/command_line/options.rb +0 -136
- data/lib/ronin/ui/diagnostics.rb +0 -66
- data/lib/ronin/ui/verbose.rb +0 -58
- data/spec/extensions/hash_spec.rb +0 -38
- data/spec/sessions/classes/test_session.rb +0 -11
- data/spec/sessions/classes/uses_test_session.rb +0 -10
- data/spec/sessions/session_spec.rb +0 -25
- data/spec/ui/verbose_spec.rb +0 -17
|
@@ -11,4 +11,12 @@ describe Platform do
|
|
|
11
11
|
it "should be able to load custom overlay caches" do
|
|
12
12
|
Platform.overlays.should_not be_empty
|
|
13
13
|
end
|
|
14
|
+
|
|
15
|
+
it "should have specific extensions" do
|
|
16
|
+
Platform.has_extension?('test').should == true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "should provide the names of all available extensions" do
|
|
20
|
+
Platform.extension_names.should == ['hello', 'random', 'test']
|
|
21
|
+
end
|
|
14
22
|
end
|
data/spec/product_spec.rb
CHANGED
|
@@ -4,20 +4,20 @@ require 'helpers/database'
|
|
|
4
4
|
|
|
5
5
|
describe Product do
|
|
6
6
|
it "should require name and version attributes" do
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
product = Product.new
|
|
8
|
+
product.should_not be_valid
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
product.name = 'test'
|
|
11
|
+
product.should_not be_valid
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
product.version = '0.1.0'
|
|
14
|
+
product.should be_valid
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
it "should default the vendor to the name of the product" do
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
product = Product.new(:name => 'Adobe', :version => '0.1.0')
|
|
19
|
+
product.vendor.should == product.name
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
product.should be_valid
|
|
22
22
|
end
|
|
23
23
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'ronin/templates/template'
|
|
2
|
+
|
|
3
|
+
class ExampleTemplate
|
|
4
|
+
|
|
5
|
+
include Ronin::Templates::Template
|
|
6
|
+
|
|
7
|
+
def enter_example_template(&block)
|
|
8
|
+
enter_template(File.join('templates','example.erb'),&block)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def enter_relative_template(&block)
|
|
12
|
+
enter_template(File.join('templates','example.erb')) do |path|
|
|
13
|
+
enter_template('_relative.erb',&block)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def enter_missing_template(&block)
|
|
18
|
+
enter_template('totally_missing.erb',&block)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
data/spec/templates/erb_spec.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
require 'ronin/templates/erb'
|
|
2
2
|
|
|
3
3
|
require 'spec_helper'
|
|
4
|
-
require 'templates/classes/
|
|
4
|
+
require 'templates/classes/example_erb'
|
|
5
5
|
|
|
6
6
|
describe Templates::Erb do
|
|
7
7
|
before(:all) do
|
|
8
|
-
@uses_erb=
|
|
8
|
+
@uses_erb= ExampleErb.new
|
|
9
9
|
@uses_erb.x = 2
|
|
10
10
|
@uses_erb.y = 3
|
|
11
11
|
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This is a template that will be called using a relative path.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Example template.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'ronin/templates/template'
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
require 'templates/classes/example_template'
|
|
5
|
+
require 'templates/helpers/static'
|
|
6
|
+
|
|
7
|
+
describe Templates::Template do
|
|
8
|
+
before(:all) do
|
|
9
|
+
@example_template = File.join(STATIC_TEMPLATE_DIR,'templates','example.erb')
|
|
10
|
+
@relative_template = File.join(STATIC_TEMPLATE_DIR,'templates','_relative.erb')
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
before(:each) do
|
|
14
|
+
@template = ExampleTemplate.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "should return the result of the block when entering a template" do
|
|
18
|
+
@template.enter_example_template { |path|
|
|
19
|
+
'result'
|
|
20
|
+
}.should == 'result'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "should be able to find templates relative to the current one" do
|
|
24
|
+
@template.enter_example_template do |path|
|
|
25
|
+
path.should == @example_template
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should be able to find static templates" do
|
|
30
|
+
@template.enter_relative_template do |path|
|
|
31
|
+
path.should == @relative_template
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "should raise a RuntimeError when entering an unknown template" do
|
|
36
|
+
lambda {
|
|
37
|
+
@template.enter_missing_template do |path|
|
|
38
|
+
end
|
|
39
|
+
}.should raise_error(RuntimeError)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'ronin/ui/command_line/command'
|
|
2
|
+
|
|
3
|
+
class TestCommand < Ronin::UI::CommandLine::Command
|
|
4
|
+
|
|
5
|
+
map '-m' => :mapped_task
|
|
6
|
+
|
|
7
|
+
no_tasks do
|
|
8
|
+
def test_name
|
|
9
|
+
self.name
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
desc 'default [ARGS]', 'Tests the default task'
|
|
14
|
+
def default(*arguments)
|
|
15
|
+
'default task'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
desc "mapped_task", "An example mapped task"
|
|
19
|
+
def mapped_task
|
|
20
|
+
'mapped task'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'ronin/ui/command_line/command'
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
require 'ui/command_line/classes/test_command'
|
|
5
|
+
|
|
6
|
+
describe UI::CommandLine::Command do
|
|
7
|
+
it "should provide a help task by default" do
|
|
8
|
+
UI::CommandLine::Command.tasks['help'].should_not be_nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "should have a name" do
|
|
12
|
+
TestCommand.new.test_name.should == 'test_command'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should have a default task" do
|
|
16
|
+
TestCommand.start([]).should == 'default task'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "should call the default task for missing tasks" do
|
|
20
|
+
TestCommand.start(['missing']).should == 'default task'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "should still respond to option mappings" do
|
|
24
|
+
TestCommand.start(['-m']).should == 'mapped task'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "should have zero indentation by default" do
|
|
28
|
+
command = TestCommand.new
|
|
29
|
+
command.instance_variable_get('@indent').should == 0
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'ronin/ui/output'
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe UI::Output do
|
|
6
|
+
it "should be quiet by default" do
|
|
7
|
+
UI::Output.should be_quiet
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "may become verbose or quiet" do
|
|
11
|
+
UI::Output.verbose = true
|
|
12
|
+
UI::Output.should be_verbose
|
|
13
|
+
UI::Output.should_not be_quiet
|
|
14
|
+
|
|
15
|
+
UI::Output.verbose = false
|
|
16
|
+
UI::Output.should be_quiet
|
|
17
|
+
UI::Output.should_not be_verbose
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "may become silent or quiet" do
|
|
21
|
+
UI::Output.silent = false
|
|
22
|
+
UI::Output.should be_quiet
|
|
23
|
+
UI::Output.should_not be_silent
|
|
24
|
+
|
|
25
|
+
UI::Output.silent = true
|
|
26
|
+
UI::Output.should be_silent
|
|
27
|
+
UI::Output.should_not be_quiet
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -5,155 +5,128 @@
|
|
|
5
5
|
<xsl:template match="/ronin-overlay">
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>Ronin Overlay :: <xsl:value-of select="
|
|
8
|
+
<title>Ronin Overlay :: <xsl:value-of select="title/." /></title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
|
10
10
|
<style type="text/css">
|
|
11
|
+
html {
|
|
12
|
+
height: 100%;
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
body {
|
|
12
|
-
|
|
13
|
-
font-size: 0.9em;
|
|
16
|
+
height: 100%;
|
|
14
17
|
margin: 0;
|
|
15
18
|
padding: 0;
|
|
19
|
+
font-family: sans-serif;
|
|
20
|
+
font-size: 1.0em;
|
|
21
|
+
background: url(http://ronin.rubyforge.org/images/diamond.png) repeat top left;
|
|
22
|
+
over-flow: auto;
|
|
16
23
|
}
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
padding: 1em;
|
|
21
|
-
border: 20px solid black;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
#overlay p {
|
|
25
|
-
margin: 0.125em;
|
|
26
|
-
padding: 0;
|
|
25
|
+
img {
|
|
26
|
+
border: none;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
#
|
|
30
|
-
margin
|
|
29
|
+
#content {
|
|
30
|
+
margin: 1em 10em 1em 10em;
|
|
31
|
+
padding: 1em 1em 1em 1em;
|
|
32
|
+
border: 20px solid black;
|
|
33
|
+
background-color: white;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
#
|
|
36
|
+
#content a {
|
|
34
37
|
color: black;
|
|
35
38
|
font-weight: bold;
|
|
36
39
|
text-decoration: none;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
#
|
|
40
|
-
|
|
42
|
+
#content pre.shell {
|
|
43
|
+
margin: 0.5em 0 0.5em 0;
|
|
44
|
+
padding: 0.5em;
|
|
45
|
+
color: white;
|
|
46
|
+
background-color: black;
|
|
47
|
+
white-space: pre;
|
|
48
|
+
over-flow: auto;
|
|
41
49
|
}
|
|
42
50
|
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
#overlay-license {
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
#overlay-url {
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
#overlay-description {
|
|
51
|
+
#content a:hover {
|
|
52
|
+
color: #BD0000;
|
|
53
53
|
}
|
|
54
54
|
</style>
|
|
55
55
|
<style type="text/css" media="print">
|
|
56
|
-
#
|
|
56
|
+
#content {
|
|
57
57
|
border: none;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
#
|
|
60
|
+
#content a {
|
|
61
61
|
font-weight: normal;
|
|
62
62
|
}
|
|
63
63
|
</style>
|
|
64
64
|
</head>
|
|
65
65
|
|
|
66
66
|
<body>
|
|
67
|
-
<
|
|
68
|
-
<
|
|
69
|
-
|
|
67
|
+
<div id="page">
|
|
68
|
+
<div id="banner">
|
|
69
|
+
<a href="http://ronin.rubyforge.org/">
|
|
70
|
+
<img id="logo" src="http://ronin.rubyforge.org/images/logo.png" />
|
|
71
|
+
</a>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div id="content">
|
|
75
|
+
<h2><xsl:value-of select="title/." /></h2>
|
|
76
|
+
<xsl:apply-templates select="description" />
|
|
77
|
+
|
|
78
|
+
<xsl:apply-templates select="dependencies" />
|
|
79
|
+
|
|
80
|
+
<xsl:apply-templates select="source" />
|
|
81
|
+
|
|
82
|
+
<xsl:apply-templates select="maintainers" />
|
|
83
|
+
|
|
84
|
+
<xsl:apply-templates select="license" />
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
70
87
|
</body>
|
|
71
88
|
</html>
|
|
72
89
|
</xsl:template>
|
|
73
90
|
|
|
74
|
-
<xsl:template match="/ronin-overlay/
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
91
|
+
<xsl:template match="/ronin-overlay/description">
|
|
92
|
+
<p><xsl:value-of select="." /></p>
|
|
93
|
+
|
|
94
|
+
<xsl:if test="@href">
|
|
95
|
+
<p>
|
|
96
|
+
<a>
|
|
97
|
+
<xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute>
|
|
98
|
+
[ Continued ]
|
|
99
|
+
</a>
|
|
100
|
+
</p>
|
|
101
|
+
</xsl:if>
|
|
83
102
|
</xsl:template>
|
|
84
103
|
|
|
85
|
-
<xsl:template match="/ronin-overlay/
|
|
86
|
-
<
|
|
87
|
-
<td valign="top">
|
|
88
|
-
<p><strong>License:</strong></p>
|
|
89
|
-
</td>
|
|
90
|
-
<td valign="top">
|
|
91
|
-
<p><xsl:value-of select="." /></p>
|
|
92
|
-
</td>
|
|
93
|
-
</tr>
|
|
94
|
-
</xsl:template>
|
|
104
|
+
<xsl:template match="/ronin-overlay/dependencies">
|
|
105
|
+
<h2>Dependencies</h2>
|
|
95
106
|
|
|
96
|
-
|
|
97
|
-
<
|
|
98
|
-
<
|
|
99
|
-
|
|
100
|
-
</td>
|
|
101
|
-
<td valign="top">
|
|
102
|
-
<p>
|
|
103
|
-
<a>
|
|
104
|
-
<xsl:attribute name="href"><xsl:value-of select="." /></xsl:attribute>
|
|
105
|
-
<xsl:value-of select="." />
|
|
106
|
-
</a>
|
|
107
|
-
</p>
|
|
108
|
-
</td>
|
|
109
|
-
</tr>
|
|
107
|
+
<p>Before installing this Overlay you will need to install some other things first.</p>
|
|
108
|
+
<xsl:if test="gem">
|
|
109
|
+
<pre class="shell">$ <xsl:for-each select="gem"> <xsl:value-of select="." /></xsl:for-each></pre>
|
|
110
|
+
</xsl:if>
|
|
110
111
|
</xsl:template>
|
|
111
112
|
|
|
112
|
-
<xsl:template match="/ronin-overlay/source
|
|
113
|
-
<
|
|
114
|
-
<td valign="top">
|
|
115
|
-
<p><strong>View Source:</strong></p>
|
|
116
|
-
</td>
|
|
117
|
-
<td valign="top">
|
|
118
|
-
<p>
|
|
119
|
-
<a>
|
|
120
|
-
<xsl:attribute name="href"><xsl:value-of select="." /></xsl:attribute>
|
|
121
|
-
<xsl:value-of select="." />
|
|
122
|
-
</a>
|
|
123
|
-
</p>
|
|
124
|
-
</td>
|
|
125
|
-
</tr>
|
|
126
|
-
</xsl:template>
|
|
113
|
+
<xsl:template match="/ronin-overlay/source">
|
|
114
|
+
<h2>Install</h2>
|
|
127
115
|
|
|
128
|
-
|
|
129
|
-
<
|
|
130
|
-
<td valign="top">
|
|
131
|
-
<p><strong>Website:</strong></p>
|
|
132
|
-
</td>
|
|
133
|
-
<td valign="top">
|
|
134
|
-
<p>
|
|
135
|
-
<a>
|
|
136
|
-
<xsl:attribute name="href"><xsl:value-of select="." /></xsl:attribute>
|
|
137
|
-
<xsl:value-of select="." />
|
|
138
|
-
</a>
|
|
139
|
-
</p>
|
|
140
|
-
</td>
|
|
141
|
-
</tr>
|
|
116
|
+
<p>To install this Overlay, simply run the following command:</p>
|
|
117
|
+
<pre class="shell">$ ronin install <xsl:value-of select="." /></pre>
|
|
142
118
|
</xsl:template>
|
|
143
119
|
|
|
144
120
|
<xsl:template match="/ronin-overlay/maintainers">
|
|
145
|
-
<
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
<xsl:apply-templates />
|
|
151
|
-
</td>
|
|
152
|
-
</tr>
|
|
121
|
+
<h2>Maintainers</h2>
|
|
122
|
+
|
|
123
|
+
<ul>
|
|
124
|
+
<xsl:apply-templates select="maintainer" />
|
|
125
|
+
</ul>
|
|
153
126
|
</xsl:template>
|
|
154
127
|
|
|
155
128
|
<xsl:template match="/ronin-overlay/maintainers/maintainer">
|
|
156
|
-
<
|
|
129
|
+
<li>
|
|
157
130
|
<xsl:choose>
|
|
158
131
|
<xsl:when test="email">
|
|
159
132
|
<a>
|
|
@@ -163,20 +136,68 @@
|
|
|
163
136
|
</xsl:when>
|
|
164
137
|
|
|
165
138
|
<xsl:otherwise>
|
|
166
|
-
<
|
|
139
|
+
<xsl:value-of select="name/." />
|
|
167
140
|
</xsl:otherwise>
|
|
168
141
|
</xsl:choose>
|
|
169
|
-
</
|
|
142
|
+
</li>
|
|
170
143
|
</xsl:template>
|
|
171
144
|
|
|
172
|
-
<xsl:template match="/ronin-overlay/
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
<
|
|
178
|
-
<
|
|
179
|
-
|
|
180
|
-
|
|
145
|
+
<xsl:template match="/ronin-overlay/license">
|
|
146
|
+
<h2>License</h2>
|
|
147
|
+
|
|
148
|
+
<p>
|
|
149
|
+
This Overlay is licensed under the
|
|
150
|
+
<a>
|
|
151
|
+
<xsl:attribute name="target">blank</xsl:attribute>
|
|
152
|
+
|
|
153
|
+
<xsl:choose>
|
|
154
|
+
<xsl:when test="@href">
|
|
155
|
+
<xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute>
|
|
156
|
+
</xsl:when>
|
|
157
|
+
|
|
158
|
+
<xsl:when test=". = 'GPL-2'">
|
|
159
|
+
<xsl:attribute name="href">http://www.gnu.org/licenses/gpl-2.0.html</xsl:attribute>
|
|
160
|
+
</xsl:when>
|
|
161
|
+
|
|
162
|
+
<xsl:when test=". = 'GPL-3'">
|
|
163
|
+
<xsl:attribute name="href">http://www.gnu.org/licenses/gpl-3.0.html</xsl:attribute>
|
|
164
|
+
</xsl:when>
|
|
165
|
+
|
|
166
|
+
<xsl:when test=". = 'BSD'">
|
|
167
|
+
<xsl:attribute name="href">http://www.opensource.org/licenses/bsd-license.php</xsl:attribute>
|
|
168
|
+
</xsl:when>
|
|
169
|
+
|
|
170
|
+
<xsl:when test=". = 'MIT'">
|
|
171
|
+
<xsl:attribute name="href">http://www.opensource.org/licenses/mit-license.html</xsl:attribute>
|
|
172
|
+
</xsl:when>
|
|
173
|
+
|
|
174
|
+
<xsl:when test=". = 'CC-by'">
|
|
175
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/by/3.0/</xsl:attribute>
|
|
176
|
+
</xsl:when>
|
|
177
|
+
|
|
178
|
+
<xsl:when test=". = 'CC-by-nd'">
|
|
179
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/by-nd/3.0/</xsl:attribute>
|
|
180
|
+
</xsl:when>
|
|
181
|
+
|
|
182
|
+
<xsl:when test=". = 'CC-by-nc-nd'">
|
|
183
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/by-nc-nd/3.0/</xsl:attribute>
|
|
184
|
+
</xsl:when>
|
|
185
|
+
|
|
186
|
+
<xsl:when test=". = 'CC-by-nc'">
|
|
187
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/by-nc/3.0/</xsl:attribute>
|
|
188
|
+
</xsl:when>
|
|
189
|
+
|
|
190
|
+
<xsl:when test=". = 'CC-by-nc-sa'">
|
|
191
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/by-nc-sa/3.0/</xsl:attribute>
|
|
192
|
+
</xsl:when>
|
|
193
|
+
|
|
194
|
+
<xsl:when test=". = 'CC-sa'">
|
|
195
|
+
<xsl:attribute name="href">http://creativecommons.org/licenses/sa/3.0/</xsl:attribute>
|
|
196
|
+
</xsl:when>
|
|
197
|
+
</xsl:choose>
|
|
198
|
+
|
|
199
|
+
<xsl:value-of select="." />
|
|
200
|
+
</a> license.
|
|
201
|
+
</p>
|
|
181
202
|
</xsl:template>
|
|
182
203
|
</xsl:stylesheet>
|