irt 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +22 -4
- data/VERSION +1 -1
- data/bin/irt +2 -2
- data/bin/irt_rails2 +2 -2
- data/irt.gemspec +1 -1
- data/irtrc +5 -1
- data/lib/irt/extensions/irb/context.rb +15 -6
- data/lib/irt/extensions/irb.rb +2 -1
- data/lib/irt/extensions/method.rb +5 -5
- data/lib/irt/extensions/rails.rb +31 -0
- data/lib/irt.rb +5 -7
- metadata +4 -3
data/README.markdown
CHANGED
@@ -12,7 +12,8 @@ that will make your life a lot easier.
|
|
12
12
|
|
13
13
|
- clean colored output for easy reading
|
14
14
|
- 3 types of sessions: interactive, inspecting and binding
|
15
|
-
- irb opening from your code as binding session
|
15
|
+
- irb opening from your code (or erb templates) as binding session
|
16
|
+
- optional colored rails log in the console
|
16
17
|
- contextual ri doc with completion
|
17
18
|
- recording of session steps with filtering
|
18
19
|
- easy testing based on recorded steps
|
@@ -474,7 +475,7 @@ IRT tries to load a ~/.irtrc file at startup, so you can customize a few options
|
|
474
475
|
If you want to add your custom '~/.irbrc' file, try to load it at the top: if it doesn't
|
475
476
|
play well with IRT, then copy and paste just part of it.
|
476
477
|
|
477
|
-
You can also change
|
478
|
+
You can also change the configuration options in the ~/.irtrc file. The following are the defaults
|
478
479
|
which should work quite well without any change:
|
479
480
|
|
480
481
|
# set this to true if your prompt get messed up when you use the history
|
@@ -523,6 +524,12 @@ which should work quite well without any change:
|
|
523
524
|
# any command that will not set the last value (includes all the log-ignored commands)
|
524
525
|
# IRT.log.non_setting_commands << %w[commandE commandF ...]
|
525
526
|
|
527
|
+
# shows the rails log in console
|
528
|
+
# IRT.rails_log = true
|
529
|
+
|
530
|
+
# colors with :log_color (default blue) the rails log for easy reading
|
531
|
+
# IRT.dye_rails_log = true
|
532
|
+
|
526
533
|
### Colors
|
527
534
|
|
528
535
|
The default color styles of IRT should be OK in most situation, anyway, if you really don't like the colors,
|
@@ -572,11 +579,22 @@ irt_helper.rb #1, #2 and #3. If you are running the testA.irt and testB.irt, IRT
|
|
572
579
|
require the irt_helper.rb #1, #2. But if you run the same from the first_level dir, the irt_helper.rb #1
|
573
580
|
will not be loaded, so be careful to be in the right dir to make it work properly.
|
574
581
|
|
575
|
-
### Rails
|
582
|
+
### Rails
|
583
|
+
|
584
|
+
You can use irt instead of the standard Rails console, by just calling the irt executable from
|
585
|
+
any Rails application dir. By default IRT will output the rails log (colored in blue) right in the console.
|
586
|
+
|
587
|
+
You can switch the rails log ON or OFF by using the 'rails\_log\_on' and 'rails\_log\_off' commands in any session,
|
588
|
+
besides you can set the option true or false in the ~/.irtrc file.
|
589
|
+
|
590
|
+
#### Rails 3
|
576
591
|
|
577
592
|
You must add the gem to your Gemfile, to make the bundler happy:
|
578
593
|
|
579
|
-
gem 'irt'
|
594
|
+
gem 'irt'
|
595
|
+
|
596
|
+
eventually adding it only to the group that you prefer.
|
597
|
+
|
580
598
|
|
581
599
|
## Known Issue
|
582
600
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.4
|
data/bin/irt
CHANGED
@@ -58,7 +58,7 @@ puts copy
|
|
58
58
|
|
59
59
|
paths = if ARGV.empty?
|
60
60
|
options[:interactive_eof] = true
|
61
|
-
tmp_file = Tempfile.new(
|
61
|
+
tmp_file = Tempfile.new(['', '.irt'])
|
62
62
|
tmp_file << "\n" # one empty line makes irb of 1.9.2 happy
|
63
63
|
tmp_file.flush
|
64
64
|
[ tmp_file.path ]
|
@@ -86,7 +86,7 @@ cmd_format = if File.exists?('./config/environment.rb')
|
|
86
86
|
if File.exists?('./script/rails')
|
87
87
|
'rails c %s %s %s'
|
88
88
|
elsif File.exists?('./script/console')
|
89
|
-
'ruby script/console --irb="irt_rails2"'
|
89
|
+
'ruby script/console --irb="irt_rails2 %s"'
|
90
90
|
end
|
91
91
|
else
|
92
92
|
'irt_irb %s %s'
|
data/bin/irt_rails2
CHANGED
data/irt.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.add_runtime_dependency('dye', [">= 0.1.1"])
|
16
16
|
s.add_runtime_dependency('prompter', [">= 0.1.2"])
|
17
17
|
if IRT::RubyVersion >= '1.9.2'
|
18
|
-
s.add_runtime_dependency('bri', [">= 0.1.
|
18
|
+
s.add_runtime_dependency('bri', [">= 0.1.5"])
|
19
19
|
else
|
20
20
|
s.add_runtime_dependency('fastri', [">= 0.3.1.1"])
|
21
21
|
end
|
data/irtrc
CHANGED
@@ -47,4 +47,8 @@
|
|
47
47
|
# any command that will not set the last value (includes all the log-ignored commands)
|
48
48
|
# IRT.log.non_setting_commands << %w[commandE commandF ...]
|
49
49
|
|
50
|
-
#
|
50
|
+
# shows the rails log in console
|
51
|
+
# IRT.rails_log = true
|
52
|
+
|
53
|
+
# colors with :log_color (default blue) the rails log for easy reading
|
54
|
+
# IRT.dye_rails_log = true
|
@@ -5,7 +5,7 @@ module IRB
|
|
5
5
|
|
6
6
|
attr_accessor :parent_context, :current_line, :binding_file, :binding_line_no, :backtrace_map
|
7
7
|
attr_reader :current_line_no, :last_line_no
|
8
|
-
attr_writer :irt_mode
|
8
|
+
attr_writer :irt_mode, :return_ignored_echo_format
|
9
9
|
|
10
10
|
def file_line_pointers
|
11
11
|
file = line = nil
|
@@ -79,9 +79,18 @@ module IRB
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
-
def return_format
|
83
|
-
|
84
|
-
|
82
|
+
def return_format
|
83
|
+
IRT.dye @return_format, :actual_color
|
84
|
+
end
|
85
|
+
|
86
|
+
def return_ignored_echo_format
|
87
|
+
IRT.dye @return_ignored_echo_format, :ignored_color
|
88
|
+
end
|
89
|
+
|
90
|
+
alias_method :original_prompt_mode, :prompt_mode=
|
91
|
+
def prompt_mode=(mode)
|
92
|
+
original_prompt_mode(mode)
|
93
|
+
@return_ignored_echo_format = IRB.conf[:PROMPT][mode][:RETURN_I] || " #> %s\n"
|
85
94
|
end
|
86
95
|
|
87
96
|
private
|
@@ -138,9 +147,9 @@ private
|
|
138
147
|
|
139
148
|
def output_ignored_echo_value(value)
|
140
149
|
if inspect?
|
141
|
-
printf
|
150
|
+
printf return_ignored_echo_format, value.inspect
|
142
151
|
else
|
143
|
-
printf
|
152
|
+
printf return_ignored_echo_format, value
|
144
153
|
end
|
145
154
|
end
|
146
155
|
|
data/lib/irt/extensions/irb.rb
CHANGED
@@ -22,7 +22,8 @@ module IRB #:nodoc:
|
|
22
22
|
:PROMPT_S => ' "> ',
|
23
23
|
:PROMPT_C => "%02n ?> ",
|
24
24
|
:PROMPT_N => "%02n -> ",
|
25
|
-
:RETURN => " => %s\n"
|
25
|
+
:RETURN => " => %s\n",
|
26
|
+
:RETURN_I => " #> %s\n" }
|
26
27
|
@CONF[:PROMPT_MODE] = :IRT
|
27
28
|
@CONF[:ECHO] = false
|
28
29
|
@CONF[:VERBOSE] = false
|
@@ -26,11 +26,11 @@ class Method
|
|
26
26
|
|
27
27
|
def info
|
28
28
|
file, line = location
|
29
|
-
{ :name
|
30
|
-
:
|
31
|
-
:file
|
32
|
-
:line
|
33
|
-
:arity
|
29
|
+
{ :name => name,
|
30
|
+
:owner => owner.name,
|
31
|
+
:file => file,
|
32
|
+
:line => line,
|
33
|
+
:arity => arity }
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class ActiveSupport::BufferedLogger
|
2
|
+
|
3
|
+
alias_method :original_add, :add
|
4
|
+
|
5
|
+
def add(*args)
|
6
|
+
message = original_add(*args)
|
7
|
+
if IRT.rails_log
|
8
|
+
if IRT.dye_rails_log
|
9
|
+
plain_message = Dye.strip_ansi(message).chomp
|
10
|
+
irt_message = IRT.dye(plain_message, :log_color) + "\n"
|
11
|
+
end
|
12
|
+
puts irt_message || message
|
13
|
+
end
|
14
|
+
message
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
module IRB
|
20
|
+
module ExtendCommandBundle #:nodoc:
|
21
|
+
|
22
|
+
def rails_log_on
|
23
|
+
IRT.rails_log = true
|
24
|
+
end
|
25
|
+
|
26
|
+
def rails_log_off
|
27
|
+
IRT.rails_log = false
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
data/lib/irt.rb
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
begin
|
3
|
-
require 'ap'
|
4
|
-
rescue LoadError
|
5
|
-
end
|
6
2
|
|
7
3
|
require 'pp'
|
8
4
|
require 'yaml'
|
@@ -45,7 +41,7 @@ module IRT
|
|
45
41
|
|
46
42
|
extend self
|
47
43
|
|
48
|
-
attr_accessor :irt_on_diffs, :tail_on_irt, :fix_readline_prompt, :debug,
|
44
|
+
attr_accessor :irt_on_diffs, :tail_on_irt, :fix_readline_prompt, :debug, :rails_log, :dye_rails_log,
|
49
45
|
:full_exit, :exception_raised, :session_no, :autoload_helper_files, :dye_styles,
|
50
46
|
:copy_to_clipboard_command, :nano_command_format, :vi_command_format, :edit_command_format, :ri_command_format
|
51
47
|
attr_reader :log, :irt_file, :differ
|
@@ -60,6 +56,8 @@ module IRT
|
|
60
56
|
@irt_on_diffs = true
|
61
57
|
@tail_on_irt = false
|
62
58
|
@fix_readline_prompt = false
|
59
|
+
@rails_log = true
|
60
|
+
@dye_rails_log = true
|
63
61
|
@autoload_helper_files = true
|
64
62
|
@dye_styles = { :null => :clear,
|
65
63
|
|
@@ -103,6 +101,7 @@ module IRT
|
|
103
101
|
@irt_file = IRB.conf[:SCRIPT]
|
104
102
|
@log = Log.new
|
105
103
|
@log.print_running_file
|
104
|
+
require 'irt/extensions/rails' if defined?(ActiveSupport::BufferedLogger)
|
106
105
|
IRT::Directives.load_helper_files
|
107
106
|
end
|
108
107
|
|
@@ -122,8 +121,7 @@ module IRT
|
|
122
121
|
require 'prompter'
|
123
122
|
Prompter.new do |pr|
|
124
123
|
def pr.say_echo(result, opts={})
|
125
|
-
|
126
|
-
say ' #> ' + result.inspect, opts
|
124
|
+
IRB.CurrentContext.send :output_ignored_echo_value, result
|
127
125
|
end
|
128
126
|
end
|
129
127
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: irt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.1.
|
5
|
+
version: 1.1.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Domizio Demichelis
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-02-
|
13
|
+
date: 2011-02-05 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
requirements:
|
55
55
|
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 0.1.
|
57
|
+
version: 0.1.5
|
58
58
|
type: :runtime
|
59
59
|
version_requirements: *id004
|
60
60
|
description: If you use IRT in place of irb or rails console, you will have more tools that will make your life a lot easier.
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- lib/irt/extensions/kernel.rb
|
98
98
|
- lib/irt/extensions/method.rb
|
99
99
|
- lib/irt/extensions/object.rb
|
100
|
+
- lib/irt/extensions/rails.rb
|
100
101
|
- lib/irt/hunks.rb
|
101
102
|
- lib/irt/init.rb
|
102
103
|
- lib/irt/log.rb
|