Module: RackConsole::ExprHelpers

Included in:
AppHelpers
Defined in:
lib/rack_console/expr_helpers.rb

Instance Method Summary collapse

Instance Method Details

#expr_for_method(mod, name, kind) ⇒ Object



34
35
36
# File 'lib/rack_console/expr_helpers.rb', line 34

def expr_for_method mod, name, kind
  "#{mod}.#{kind}(#{name.to_sym.inspect})"
end

#expr_for_Module(obj) ⇒ Object



38
39
40
# File 'lib/rack_console/expr_helpers.rb', line 38

def expr_for_Module obj
  obj && obj.name
end

#expr_for_object(obj, mod = nil, kind = nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/rack_console/expr_helpers.rb', line 15

def expr_for_object obj, mod = nil, kind = nil
  case obj
  when nil, true, false
    obj.to_s
  when Float, Integer
    obj.inspect
  when Time
    "Time.parse(#{obj.iso8601(6).inspect})"
  when Date
    "Date.parse(#{obj.to_s.inspect})"
  when Module
    expr_for_object obj
  when Method, UnboundMethod
    expr_for_method(mod, obj.name, kind) if mod && kind
  else
    nil
  end
end

#expr_for_object!(obj, mod = nil, kind = nil) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/rack_console/expr_helpers.rb', line 6

def expr_for_object! obj, mod = nil, kind = nil
  @result = result_capture! do
    @expr = expr_for_object obj, mod, kind
    obj
  end
  @result_evaled = true
  @result_ok = true
end