159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
# File 'lib/bootic_cli/cli.rb', line 159
def console
logged_in_action do
require 'irb'
require 'irb/completion'
IRB.setup nil
require 'bootic_cli/console'
context = Console.new(session)
prompt = "/#{shop.subdomain} (#{root.user_name}|#{root.scopes}) $ "
IRB.conf[:PROMPT][:CUSTOM] = {
:PROMPT_I => prompt,
:PROMPT_S => "%l>> ",
:PROMPT_C => prompt,
:PROMPT_N => prompt,
:RETURN => "=> %s\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM
IRB.conf[:AUTO_INDENT] = false
irb = IRB::Irb.new(IRB::WorkSpace.new(context))
IRB.conf[:MAIN_CONTEXT] = irb.context
trap('SIGINT') do
irb.signal_handle
end
begin
catch(:IRB_EXIT) do
irb.eval_input
end
ensure
IRB.irb_at_exit
end
end
end
|