racksh 0.9.7 → 0.9.8
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/CHANGELOG.txt +9 -2
- data/README.markdown +13 -5
- data/bin/racksh +0 -3
- data/lib/racksh/init.rb +9 -5
- data/lib/racksh/irb.rb +2 -0
- data/lib/racksh/session.rb +2 -2
- data/lib/racksh/version.rb +1 -1
- metadata +31 -13
data/CHANGELOG.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 0.9.8 / 2010-09-03
|
2
|
+
|
3
|
+
* added option to load racksh into existing irb session
|
4
|
+
|
5
|
+
=== 0.9.7 / ?
|
6
|
+
=== 0.9.6 / ?
|
7
|
+
|
1
8
|
=== 0.9.5 / 2010-01-31
|
2
9
|
|
3
10
|
* added application reloading with "reload!"
|
@@ -17,11 +24,11 @@
|
|
17
24
|
=== 0.9.2 / 2009-11-15
|
18
25
|
|
19
26
|
* irb require uses absolute path (for users without rubygems required in their .irbrc)
|
20
|
-
|
27
|
+
|
21
28
|
=== 0.9.1 / 2009-11-15
|
22
29
|
|
23
30
|
* added showing name of loaded rack env
|
24
31
|
|
25
32
|
=== 0.9 / 2009-11-15
|
26
33
|
|
27
|
-
* initial release
|
34
|
+
* initial release
|
data/README.markdown
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
**racksh** (Rack::Shell) is a console for Rack based ruby web applications.
|
6
6
|
|
7
|
-
It's like
|
7
|
+
It's like _script/console_ in Rails or _merb -i_ in Merb, but for any app built on Rack. You can use it to load application
|
8
8
|
environment for Rails, Merb, Sinatra, Camping, Ramaze or your own framework provided there is _config.ru_ file in app's root
|
9
9
|
directory.
|
10
10
|
|
@@ -20,7 +20,7 @@ Additionally it exposes _$rack_ variable which allows you to make simulated HTTP
|
|
20
20
|
|
21
21
|
## Installation
|
22
22
|
|
23
|
-
gem install racksh
|
23
|
+
gem install racksh
|
24
24
|
|
25
25
|
## Usage
|
26
26
|
|
@@ -29,7 +29,7 @@ Additionally it exposes _$rack_ variable which allows you to make simulated HTTP
|
|
29
29
|
To start racksh session run following inside rack application directory (containing config.ru file):
|
30
30
|
|
31
31
|
% racksh
|
32
|
-
Rack::Shell v0.9.
|
32
|
+
Rack::Shell v0.9.8 started in development environment.
|
33
33
|
>>
|
34
34
|
|
35
35
|
Specifying location of config.ru:
|
@@ -44,13 +44,13 @@ Executing ruby code inside application environment and printing results:
|
|
44
44
|
Specifying Rack environment (default is development):
|
45
45
|
|
46
46
|
% RACK_ENV=production racksh
|
47
|
-
Rack::Shell v0.9.
|
47
|
+
Rack::Shell v0.9.8 started in production environment.
|
48
48
|
>>
|
49
49
|
|
50
50
|
### Making simulated HTTP requests to your app
|
51
51
|
|
52
52
|
% racksh
|
53
|
-
Rack::Shell v0.9.
|
53
|
+
Rack::Shell v0.9.8 started in development environment.
|
54
54
|
>> $rack.get "/"
|
55
55
|
=> #<Rack::MockResponse:0xb68fa7bc @body="<html>...", @headers={"Content-Type"=>"text/html", "Content-Length"=>"1812"}, @status=200, ...
|
56
56
|
|
@@ -132,6 +132,14 @@ If you've made some changes to your app and you want to reload it type:
|
|
132
132
|
|
133
133
|
It will reload (actually restart) whole Rack application in new process.
|
134
134
|
|
135
|
+
### Loading racksh into existing irb session
|
136
|
+
|
137
|
+
If you already opened irb and you want racksh functionality just run following:
|
138
|
+
|
139
|
+
require 'racksh/irb'
|
140
|
+
|
141
|
+
It will initialize racksh and load rack app. From now on you can use _$rack_.
|
142
|
+
|
135
143
|
## Bugs & feature requests
|
136
144
|
|
137
145
|
Please report bugs and/or feature requests on the github issue tracker for the project located [here](http://github.com/sickill/racksh/issues).
|
data/bin/racksh
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
ENV['RACK_ENV'] ||= 'development'
|
4
|
-
ENV['CONFIG_RU'] ||= 'config.ru'
|
5
|
-
|
6
3
|
require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "racksh", "init.rb"))
|
7
4
|
|
8
5
|
# prevent STDOUT & STDERR to be reopened (apps do this to be able to log under Passenger)
|
data/lib/racksh/init.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
require 'rack'
|
2
|
+
|
3
|
+
ENV['RACK_ENV'] ||= 'development'
|
4
|
+
ENV['CONFIG_RU'] ||= 'config.ru'
|
5
|
+
|
2
6
|
dir = File.expand_path(File.dirname(__FILE__))
|
3
7
|
%w(session version init).each { |f| require File.join(dir, f) }
|
4
8
|
|
@@ -10,22 +14,22 @@ end
|
|
10
14
|
module Rack
|
11
15
|
module Shell
|
12
16
|
File = ::File
|
13
|
-
|
17
|
+
|
14
18
|
def self.init(print_startup_info=true)
|
15
19
|
config_ru = ENV['CONFIG_RU']
|
16
|
-
|
20
|
+
|
17
21
|
# build Rack app
|
18
22
|
rack_app = Object.class_eval("Rack::Builder.new { #{File.read(config_ru)} }", config_ru)
|
19
23
|
$rack = Rack::Shell::Session.new(rack_app)
|
20
|
-
|
24
|
+
|
21
25
|
# run ~/.rackshrc
|
22
26
|
rcfile = File.expand_path("~/.rackshrc")
|
23
27
|
eval(File.read(rcfile)) if File.exists?(rcfile)
|
24
|
-
|
28
|
+
|
25
29
|
# run local .rackshrc (from app dir)
|
26
30
|
rcfile = File.expand_path(File.join(File.dirname(config_ru), ".rackshrc"))
|
27
31
|
eval(File.read(rcfile)) if File.exists?(rcfile)
|
28
|
-
|
32
|
+
|
29
33
|
# print startup info
|
30
34
|
if print_startup_info
|
31
35
|
if STDOUT.tty? && ENV['TERM'] != 'dumb' # we have color terminal, let's pimp our info!
|
data/lib/racksh/irb.rb
ADDED
data/lib/racksh/session.rb
CHANGED
data/lib/racksh/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: racksh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 9
|
8
|
+
- 8
|
9
|
+
version: 0.9.8
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Marcin Kulik
|
@@ -9,29 +14,37 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-09-03 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: rack
|
17
|
-
|
18
|
-
|
19
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
20
25
|
requirements:
|
21
26
|
- - ">="
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 1
|
30
|
+
- 0
|
23
31
|
version: "1.0"
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: rack-test
|
27
|
-
|
28
|
-
|
29
|
-
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
30
39
|
requirements:
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
- 5
|
33
45
|
version: "0.5"
|
34
|
-
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
35
48
|
description:
|
36
49
|
email: marcin.kulik@gmail.com
|
37
50
|
executables:
|
@@ -43,6 +56,7 @@ extra_rdoc_files: []
|
|
43
56
|
files:
|
44
57
|
- bin/racksh
|
45
58
|
- lib/racksh/version.rb
|
59
|
+
- lib/racksh/irb.rb
|
46
60
|
- lib/racksh/session.rb
|
47
61
|
- lib/racksh/init.rb
|
48
62
|
- README.markdown
|
@@ -57,21 +71,25 @@ rdoc_options: []
|
|
57
71
|
require_paths:
|
58
72
|
- lib
|
59
73
|
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
60
75
|
requirements:
|
61
76
|
- - ">="
|
62
77
|
- !ruby/object:Gem::Version
|
78
|
+
segments:
|
79
|
+
- 0
|
63
80
|
version: "0"
|
64
|
-
version:
|
65
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
66
83
|
requirements:
|
67
84
|
- - ">="
|
68
85
|
- !ruby/object:Gem::Version
|
86
|
+
segments:
|
87
|
+
- 0
|
69
88
|
version: "0"
|
70
|
-
version:
|
71
89
|
requirements: []
|
72
90
|
|
73
91
|
rubyforge_project:
|
74
|
-
rubygems_version: 1.3.
|
92
|
+
rubygems_version: 1.3.7
|
75
93
|
signing_key:
|
76
94
|
specification_version: 3
|
77
95
|
summary: Console for any Rack based ruby web app
|