dietrb 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +40 -22
- data/bin/dietrb +1 -0
- data/dietrb.gemspec +2 -2
- data/lib/irb.rb +3 -3
- data/lib/irb/formatter.rb +12 -4
- data/lib/irb/version.rb +2 -2
- data/spec/formatter_spec.rb +11 -0
- data/spec/spec_helper.rb +2 -0
- metadata +2 -2
data/Rakefile
CHANGED
@@ -1,34 +1,52 @@
|
|
1
|
+
def ruby_bin
|
2
|
+
require 'rbconfig'
|
3
|
+
File.join(Config::CONFIG['prefix'], 'bin', Config::CONFIG['ruby_install_name'])
|
4
|
+
end
|
5
|
+
|
1
6
|
task :default => :run
|
2
7
|
|
3
|
-
desc "Run the specs"
|
8
|
+
desc "Run the specs (run it with a rake installed on the Ruby version you want to run the specs on)"
|
4
9
|
task :spec do
|
5
|
-
|
6
|
-
bacon = `which bacon19 || which bacon`.chomp
|
7
|
-
sh "#{bacon} #{FileList['spec/**/*_spec.rb'].join(' ')}"
|
8
|
-
end
|
9
|
-
|
10
|
-
desc "Run specs with Kicker"
|
11
|
-
task :kick do
|
12
|
-
sh "kicker -e 'rake spec' lib spec"
|
10
|
+
sh "#{ruby_bin} -r #{FileList['./spec/**/*_spec.rb'].join(' -r ')} -e ''"
|
13
11
|
end
|
14
12
|
|
15
|
-
desc "Run dietrb
|
13
|
+
desc "Run dietrb"
|
16
14
|
task :run do
|
17
|
-
|
18
|
-
sh "#{ruby} -Ilib ./bin/dietrb -r irb/ext/colorize -r pp"
|
15
|
+
sh "#{ruby_bin} -I lib ./bin/dietrb -r irb/ext/colorize -r pp"
|
19
16
|
end
|
20
17
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
namespace :macruby do
|
19
|
+
desc "AOT compile for MacRuby"
|
20
|
+
task :compile do
|
21
|
+
FileList["lib/**/*.rb"].each do |source|
|
22
|
+
sh "macrubyc --arch i386 --arch x86_64 -C '#{source}' -o '#{source}o'"
|
23
|
+
end
|
25
24
|
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
|
26
|
+
desc "Clean MacRuby binaries"
|
27
|
+
task :clean do
|
28
|
+
FileList["lib/**/*.rbo"].each do |bin|
|
29
|
+
rm bin
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "Merge source into the MacRuby repo"
|
34
|
+
task :merge do
|
35
|
+
if (repo = ENV['macruby_repo']) && File.exist?(repo)
|
36
|
+
bin = File.join(repo, 'bin/irb')
|
37
|
+
lib = File.join(repo, 'lib')
|
38
|
+
|
39
|
+
rm_f bin
|
40
|
+
rm_f File.join(lib, 'irb.rb')
|
41
|
+
rm_rf File.join(lib, 'irb')
|
42
|
+
|
43
|
+
cp 'bin/dietrb', bin
|
44
|
+
cp 'lib/irb.rb', lib
|
45
|
+
cp_r 'lib/irb', lib
|
46
|
+
else
|
47
|
+
puts "[!] Set the `macruby_repo' env variable to point to the MacRuby repo checkout"
|
48
|
+
exit 1
|
49
|
+
end
|
32
50
|
end
|
33
51
|
end
|
34
52
|
|
data/bin/dietrb
CHANGED
@@ -14,6 +14,7 @@ unless ARGV.empty?
|
|
14
14
|
opt.on("-r load-lib", "Loads the given library (same as `ruby -r')") { |lib| require lib }
|
15
15
|
opt.on("-d", "Set $DEBUG to true (same as `ruby -d')") { $DEBUG = true }
|
16
16
|
opt.on("-I path", "Add path to $LOAD_PATH") { |path| $LOAD_PATH.unshift(path) }
|
17
|
+
opt.on("--noinspect", "Don't use inspect for output") { IRB.formatter.inspect = false }
|
17
18
|
opt.on("--simple-prompt", "Simple prompt mode") { IRB.formatter.prompt = :simple }
|
18
19
|
opt.on("--noprompt", "No prompt mode") { IRB.formatter.prompt = nil }
|
19
20
|
opt.on("-v", "--version", "Print the version of #{bin}") do
|
data/dietrb.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dietrb}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Eloy Duran"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-06-24}
|
13
13
|
s.default_executable = %q{dietrb}
|
14
14
|
s.description = %q{IRB on a diet, for MacRuby / Ruby 1.9}
|
15
15
|
s.email = %q{eloy.de.enige@gmail.com}
|
data/lib/irb.rb
CHANGED
@@ -13,9 +13,9 @@ require 'irb/deprecated'
|
|
13
13
|
require 'irb/ext/history'
|
14
14
|
require 'irb/ext/completion'
|
15
15
|
|
16
|
-
if !ENV['SPECCING'] && defined?(RUBY_ENGINE) && RUBY_ENGINE == "macruby"
|
17
|
-
|
18
|
-
end
|
16
|
+
# if !ENV['SPECCING'] && defined?(RUBY_ENGINE) && RUBY_ENGINE == "macruby"
|
17
|
+
# require 'irb/ext/macruby'
|
18
|
+
# end
|
19
19
|
|
20
20
|
module IRB
|
21
21
|
class << self
|
data/lib/irb/formatter.rb
CHANGED
@@ -17,11 +17,13 @@ module IRB
|
|
17
17
|
SYNTAX_ERROR = "SyntaxError: compile error\n(irb):%d: %s"
|
18
18
|
SOURCE_ROOT = /^#{File.expand_path('../../../', __FILE__)}/
|
19
19
|
|
20
|
-
attr_writer
|
21
|
-
|
20
|
+
attr_writer :prompt
|
21
|
+
attr_accessor :inspect
|
22
|
+
attr_reader :filter_from_backtrace
|
22
23
|
|
23
24
|
def initialize
|
24
|
-
@prompt
|
25
|
+
@prompt = :default
|
26
|
+
@inspect = true
|
25
27
|
@filter_from_backtrace = [SOURCE_ROOT]
|
26
28
|
end
|
27
29
|
|
@@ -35,7 +37,13 @@ module IRB
|
|
35
37
|
end
|
36
38
|
|
37
39
|
def inspect_object(object)
|
38
|
-
|
40
|
+
if @inspect
|
41
|
+
object.respond_to?(:pretty_inspect) ? object.pretty_inspect : object.inspect
|
42
|
+
else
|
43
|
+
address = object.__id__ * 2
|
44
|
+
address += 0x100000000 if address < 0
|
45
|
+
"#<#{object.class}:0x%x>" % address
|
46
|
+
end
|
39
47
|
end
|
40
48
|
|
41
49
|
def result(object)
|
data/lib/irb/version.rb
CHANGED
data/spec/formatter_spec.rb
CHANGED
@@ -60,6 +60,17 @@ describe "IRB::Formatter" do
|
|
60
60
|
@formatter.result(object).should == "=> foo"
|
61
61
|
end
|
62
62
|
|
63
|
+
it "prints only the class name and memory address in `no inspect' mode" do
|
64
|
+
@formatter.inspect = false
|
65
|
+
|
66
|
+
object = Object.new
|
67
|
+
def object.inspect; @inspected = true; "Never called!"; end
|
68
|
+
def object.__id__; 2158110700; end
|
69
|
+
|
70
|
+
@formatter.result(object).should == "=> #<Object:0x101444fd8>"
|
71
|
+
object.instance_variable_get(:@inspected).should.not == true
|
72
|
+
end
|
73
|
+
|
63
74
|
it "prints that a syntax error occurred on the last line and reset the buffer to the previous line" do
|
64
75
|
@formatter.syntax_error(2, "syntax error, unexpected '}'").should ==
|
65
76
|
"SyntaxError: compile error\n(irb):2: syntax error, unexpected '}'"
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dietrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-06-24 00:00:00 +02:00
|
13
13
|
default_executable: dietrb
|
14
14
|
dependencies: []
|
15
15
|
|