rambo 0.5.2 → 0.5.3
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/README.md +70 -0
- data/bin/rambo +71 -0
- data/lib/rambo/env.rb +1 -1
- metadata +18 -9
- data/README +0 -32
data/README.md
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
Rambo - The alternative web framework for Ruby
|
2
|
+
==============================================
|
3
|
+
|
4
|
+
Installation
|
5
|
+
------------
|
6
|
+
|
7
|
+
To install the gem:
|
8
|
+
|
9
|
+
sudo gem install rambo
|
10
|
+
|
11
|
+
Hello World Example
|
12
|
+
-------------------
|
13
|
+
|
14
|
+
Smallest example, create a file called HomeController.rb with:
|
15
|
+
|
16
|
+
class HomeController < Rambo::Controller
|
17
|
+
def index
|
18
|
+
"hello world"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
Now create a config.ru file to tell rack how to run the application eg:
|
23
|
+
|
24
|
+
#!/usr/bin/env ruby
|
25
|
+
|
26
|
+
require 'rubygems'
|
27
|
+
require 'rambo'
|
28
|
+
|
29
|
+
app = Rambo::Server.new
|
30
|
+
|
31
|
+
run app
|
32
|
+
|
33
|
+
Now you can run it with your favourite rack-based server, eg:
|
34
|
+
|
35
|
+
thin start -R config.ru
|
36
|
+
|
37
|
+
Creating a new application
|
38
|
+
--------------------------
|
39
|
+
|
40
|
+
Use the rambo executable to create a new skeleton application:
|
41
|
+
|
42
|
+
rambo blog
|
43
|
+
|
44
|
+
This should generate the minimal skeleton like this:
|
45
|
+
|
46
|
+
Generating application blog ...
|
47
|
+
creating blog/
|
48
|
+
creating blog/controller/BlogController.rb
|
49
|
+
creating blog/rambo.yml
|
50
|
+
creating blog/config.ru
|
51
|
+
|
52
|
+
Run the example using:
|
53
|
+
|
54
|
+
rackup
|
55
|
+
|
56
|
+
Head over to:
|
57
|
+
|
58
|
+
http://localhost:9292/
|
59
|
+
|
60
|
+
Features
|
61
|
+
--------
|
62
|
+
|
63
|
+
* No Ruby object base class modifications
|
64
|
+
* Lightweight and fast
|
65
|
+
* Rack-based so works with most web servers (thin, mongrel, passenger)
|
66
|
+
* Web applications can be deployed to Heroku
|
67
|
+
* fast static file serving
|
68
|
+
* Template agnostic
|
69
|
+
* Database agnostic
|
70
|
+
* Library only 60k
|
data/bin/rambo
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
app_name = ARGV[0]
|
4
|
+
|
5
|
+
unless app_name
|
6
|
+
puts "usage: rambo <application_name>"
|
7
|
+
exit(0)
|
8
|
+
end
|
9
|
+
|
10
|
+
if File.exist?(app_name)
|
11
|
+
puts "folder with name #{app_name} already exists, exiting."
|
12
|
+
exit(0)
|
13
|
+
end
|
14
|
+
|
15
|
+
puts "Generating application #{app_name} ..."
|
16
|
+
|
17
|
+
puts "creating #{app_name}/"
|
18
|
+
Dir.mkdir(app_name)
|
19
|
+
Dir.mkdir("#{app_name}/view")
|
20
|
+
Dir.mkdir("#{app_name}/controller")
|
21
|
+
|
22
|
+
default_controller = "#{app_name.downcase.gsub(/^[a-z]|\s+[a-z]/) { |a| a.upcase }}Controller"
|
23
|
+
puts "creating #{app_name}/controller/#{default_controller}.rb"
|
24
|
+
|
25
|
+
controller_content =<<EOF
|
26
|
+
class #{default_controller} < Rambo::Controller
|
27
|
+
def index
|
28
|
+
@message = "Response from #{default_controller}#index"
|
29
|
+
erb :index
|
30
|
+
end
|
31
|
+
|
32
|
+
def ping
|
33
|
+
"pong"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
EOF
|
37
|
+
|
38
|
+
File.open("#{app_name}/controller/#{default_controller}.rb", 'w') { |f| f.write(controller_content) }
|
39
|
+
|
40
|
+
puts "creating #{app_name}/view/index.erb"
|
41
|
+
|
42
|
+
view_content =<<EOF
|
43
|
+
<h3><%= @message %></h3>
|
44
|
+
EOF
|
45
|
+
|
46
|
+
File.open("#{app_name}/view/index.erb", 'w') { |f| f.write(view_content) }
|
47
|
+
|
48
|
+
puts "creating #{app_name}/view/layout.erb"
|
49
|
+
|
50
|
+
layout_content =<<EOF
|
51
|
+
<h1>Rambo Application: #{app_name}</h1>
|
52
|
+
<%= yield %>
|
53
|
+
EOF
|
54
|
+
|
55
|
+
File.open("#{app_name}/view/layout.erb", 'w') { |f| f.write(layout_content) }
|
56
|
+
|
57
|
+
puts "creating #{app_name}/rambo.yml"
|
58
|
+
|
59
|
+
config_content =<<EOF
|
60
|
+
rambo:
|
61
|
+
default_controller: #{app_name}
|
62
|
+
reload_classes: true
|
63
|
+
EOF
|
64
|
+
|
65
|
+
File.open("#{app_name}/rambo.yml", 'w') { |f| f.write(config_content) }
|
66
|
+
|
67
|
+
puts "creating #{app_name}/config.ru"
|
68
|
+
|
69
|
+
rack_config = "require 'rubygems'\nrequire 'rambo'\napp=Rambo::Server.new\nrun app\n"
|
70
|
+
|
71
|
+
File.open("#{app_name}/config.ru", 'w') { |f| f.write(rack_config) }
|
data/lib/rambo/env.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rambo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Taylor
|
@@ -11,18 +11,27 @@ cert_chain: []
|
|
11
11
|
|
12
12
|
date: 2009-12-30 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rack
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.1
|
24
|
+
version:
|
25
|
+
description: rambo is an alternative web framework for ruby
|
17
26
|
email: moomerman@gmail.com
|
18
|
-
executables:
|
19
|
-
|
27
|
+
executables:
|
28
|
+
- rambo
|
20
29
|
extensions: []
|
21
30
|
|
22
31
|
extra_rdoc_files: []
|
23
32
|
|
24
33
|
files:
|
25
|
-
- README
|
34
|
+
- README.md
|
26
35
|
- lib/rambo.rb
|
27
36
|
- lib/rambo/application_context.rb
|
28
37
|
- lib/rambo/application_request.rb
|
@@ -67,7 +76,7 @@ requirements: []
|
|
67
76
|
rubyforge_project: rambo
|
68
77
|
rubygems_version: 1.3.5
|
69
78
|
signing_key:
|
70
|
-
specification_version:
|
71
|
-
summary: rambo is an
|
79
|
+
specification_version: 2
|
80
|
+
summary: rambo is an alternative web framework for ruby based on rack
|
72
81
|
test_files: []
|
73
82
|
|
data/README
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
To install the gem:
|
2
|
-
|
3
|
-
gem sources -a http://gems.github.com
|
4
|
-
sudo gem install moomerman-rambo
|
5
|
-
|
6
|
-
Smallest example (see the hello app in the example folder)
|
7
|
-
|
8
|
-
class HomeController < Rambo::Controller
|
9
|
-
def index
|
10
|
-
"hello world"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
To run the Blog example:
|
15
|
-
|
16
|
-
git clone git://github.com/moomerman/rambo.git
|
17
|
-
cd rambo/example/blog/
|
18
|
-
rake db:setup # check config.yml for your specific db settings
|
19
|
-
rake server
|
20
|
-
|
21
|
-
head over to http://localhost:4000/
|
22
|
-
|
23
|
-
Features:
|
24
|
-
= No Ruby object base class modifications
|
25
|
-
= Lightweight and fast
|
26
|
-
= Rack-based so works with most web servers (thin, mongrel, passenger)
|
27
|
-
= Ability to proxy request to n backend app servers [experimental]
|
28
|
-
= Request caching built in
|
29
|
-
= fast static file serving
|
30
|
-
= works with erb or haml templates (more to come)
|
31
|
-
= DataMapper integration
|
32
|
-
= Library only 60k
|