irt 1.1.3 → 1.1.4
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.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
|