iron_maiden 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ = LICENSE
2
+
3
+ == The MIT License
4
+
5
+ Copyright (c) 2009 James Thompson <james@plainprograms.com>
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,18 @@
1
+ = Iron Maiden
2
+
3
+ Iron Maiden is a helpful gem for those wanting to get their Rails or other
4
+ Rack-based applications bootstrapped with IronRuby and it's Rack IIS HTTP
5
+ Handler.
6
+
7
+ == Installation
8
+
9
+ gem source --add http://gemcutter.org
10
+ gem install iron_maiden
11
+
12
+ == Usage
13
+
14
+ gem torture [--public DocumentRoot]
15
+
16
+ OR
17
+
18
+ ironmaiden [--public DocumentRoot]
@@ -0,0 +1,52 @@
1
+ require 'rubygems/command_manager'
2
+
3
+ Gem::CommandManager.instance.register_command :torture
4
+
5
+ class Gem::Commands::TortureCommand < Gem::Command
6
+ def initialize
7
+ super 'torture', "Prepares a Rack application for deployment with IronRuby with the IIS Rack Handler"
8
+
9
+ add_option('-p', '--public PATH', 'Path to your Rack app\'s public document root')
10
+ end
11
+
12
+ def execute
13
+ explicit_path = get_one_optional_argument || './public'
14
+
15
+ unless File.directory? explicit_path
16
+ raise Gem::Exception, "supplied public path, or default ('public'), does not exist"
17
+ end
18
+
19
+ copy_ironruby_rack_template(explicit_path)
20
+ puts follow_up_directions
21
+ end
22
+
23
+ private
24
+
25
+ def copy_ironruby_rack_template(path)
26
+ # TODO: Add ERB processing based on environment details inferred or specified
27
+ template_files = Dir.glob(File.join(File.dirname(__FILE__), 'template') + '/*')
28
+ FileUtils.cp_r template_files, path
29
+ end
30
+
31
+ def follow_up_directions
32
+ <<-EOF
33
+ ================================================================================
34
+ | Your app has been successfully tortured by Iron Maiden! |
35
+ ================================================================================
36
+
37
+ The Web.config file added into your application's public root is setup to work
38
+ with Microsoft IIS 6 and 7. If you are using IIS 6 there are two additional
39
+ steps you will need to take for deployment.
40
+
41
+ First, in your application's deployment folder/site you need to open up the
42
+ properties, go to the ASP.NET tab and make sure the version is set to 2.x or
43
+ newer.
44
+
45
+ Second, also in your application's deployment folder/site properties you need to
46
+ add a wildcard handler. To do so ...
47
+
48
+
49
+ - Thank you for using IronMaiden
50
+ EOF
51
+ end
52
+ end
@@ -0,0 +1,48 @@
1
+ <?xml version="1.0"?>
2
+ <configuration>
3
+ <configSections>
4
+ <!-- custom configuration section for DLR hosting -->
5
+ <section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting, Version=0.9.5.1, Culture=neutral, PublicKeyToken=null" requirePermission="false"/>
6
+ </configSections>
7
+ <system.web>
8
+ <httpHandlers>
9
+ <add path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack"/>
10
+ </httpHandlers>
11
+ </system.web>
12
+ <system.webServer>
13
+ <handlers>
14
+ <!-- clear all other handlers first. Don't do this if you have other handlers you want to run -->
15
+ <clear/>
16
+ <!-- This hooks up the HttpHandler which will dispatch all requests to Rack -->
17
+ <add name="IronRuby" path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack" resourceType="Unspecified" requireAccess="Read" preCondition="integratedMode"/>
18
+ </handlers>
19
+ </system.webServer>
20
+ <system.web>
21
+ <!-- make this true if you want to compile any of the DLR code, IronRuby.Rack, or your own managed code -->
22
+ <compilation debug="false"/>
23
+ </system.web>
24
+ <!-- DLR configuration. Set debugMode to "true" if you want to debug your dynamic language code with VS -->
25
+ <microsoft.scripting debugMode="false">
26
+ <options>
27
+ <!--
28
+ Library paths. Requires that you have Ruby installed at C:\IronRuby
29
+ Note: paths are relative to this file's directory
30
+ -->
31
+ <set option="LibraryPaths" value=".;C:\IronRuby\lib\IronRuby;C:\IronRuby\lib\ruby\1.8;C:\IronRuby\lib\ruby\site_ruby;C:\IronRuby\lib\ruby\site_ruby\1.8"/>
32
+ </options>
33
+ </microsoft.scripting>
34
+ <appSettings>
35
+ <!-- Settings for IronRuby.Rack -->
36
+
37
+ <!-- Where is "config.ru" located: -->
38
+ <add key="AppRoot" value=".."/>
39
+
40
+ <!-- Log for IronRuby.Rack only: -->
41
+ <add key="Log" value="../log/ironrack.log"/>
42
+
43
+ <!-- Path to find RubyGems packages -->
44
+ <add key="GemPath" value="C:\IronRuby\lib\IronRuby\gems\1.8"/>
45
+
46
+ <!-- Other settings -->
47
+ </appSettings>
48
+ </configuration>
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iron_maiden
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - James Thompson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-10 00:00:00 -05:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Iron Maiden is a tool for easing deployment of IronRuby applications providing both a gem command and a convential command line interface.
17
+ email: james@plainprograms.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README
24
+ - LICENSE
25
+ files:
26
+ - README
27
+ - LICENSE
28
+ - lib/rubygems_plugin.rb
29
+ - lib/template/Web.config
30
+ - lib/template/bin/IronRuby.dll
31
+ - lib/template/bin/IronRuby.Libraries.dll
32
+ - lib/template/bin/IronRuby.Libraries.Yaml.dll
33
+ - lib/template/bin/IronRuby.Rack.dll
34
+ - lib/template/bin/Microsoft.Dynamic.dll
35
+ - lib/template/bin/Microsoft.Scripting.Core.dll
36
+ - lib/template/bin/Microsoft.Scripting.dll
37
+ - lib/template/bin/Microsoft.Scripting.ExtensionAttribute.dll
38
+ has_rdoc: true
39
+ homepage: http://github.com/jwthompson2/iron_maiden
40
+ licenses: []
41
+
42
+ post_install_message:
43
+ rdoc_options:
44
+ - --inline-source
45
+ - --charset=UTF-8
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: "0"
53
+ version:
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: "0"
59
+ version:
60
+ requirements: []
61
+
62
+ rubyforge_project:
63
+ rubygems_version: 1.3.5
64
+ signing_key:
65
+ specification_version: 3
66
+ summary: Iron Maiden is a tool for easing deployment of IronRuby applications.
67
+ test_files: []
68
+