rib 0.1.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/.gitignore +0 -4
  2. data/CHANGES.md +6 -0
  3. data/README +107 -113
  4. data/README.md +107 -113
  5. data/Rakefile +5 -3
  6. data/TODO.md +6 -0
  7. data/bin/rib-all +5 -0
  8. data/bin/rib-auto +9 -0
  9. data/bin/rib-min +5 -0
  10. data/bin/rib-rails +9 -0
  11. data/bin/rib-ramaze +9 -0
  12. data/lib/rib.rb +70 -6
  13. data/lib/rib/all.rb +0 -1
  14. data/lib/rib/api.rb +60 -64
  15. data/lib/rib/app/auto.rb +25 -0
  16. data/lib/rib/app/rails.rb +41 -0
  17. data/lib/rib/app/ramaze.rb +25 -0
  18. data/lib/rib/config.rb +3 -0
  19. data/lib/rib/core.rb +13 -1
  20. data/lib/rib/core/completion.rb +15 -3
  21. data/lib/rib/core/history.rb +56 -0
  22. data/lib/rib/core/multiline.rb +104 -0
  23. data/lib/rib/core/readline.rb +3 -1
  24. data/lib/rib/core/squeeze_history.rb +45 -0
  25. data/lib/rib/core/strip_backtrace.rb +45 -0
  26. data/lib/rib/core/underscore.rb +17 -8
  27. data/lib/rib/debug.rb +2 -1
  28. data/lib/rib/dep/hirb.rb +24 -0
  29. data/lib/rib/more.rb +4 -3
  30. data/lib/rib/more/anchor.rb +85 -0
  31. data/lib/rib/more/color.rb +44 -43
  32. data/lib/rib/{zore → more}/edit.rb +3 -3
  33. data/lib/rib/more/multiline_history.rb +24 -12
  34. data/lib/rib/more/multiline_history_file.rb +7 -3
  35. data/lib/rib/plugin.rb +2 -4
  36. data/lib/rib/runner.rb +84 -49
  37. data/lib/rib/shell.rb +4 -2
  38. data/lib/rib/test.rb +55 -2
  39. data/lib/rib/test/multiline.rb +140 -0
  40. data/lib/rib/version.rb +1 -1
  41. data/rib.gemspec +54 -22
  42. data/screenshot.png +0 -0
  43. data/task/gemgem.rb +3 -1
  44. data/test/core/{test_history_file.rb → test_history.rb} +29 -19
  45. data/test/core/test_multiline.rb +22 -0
  46. data/test/core/test_readline.rb +13 -8
  47. data/test/{more → core}/test_squeeze_history.rb +24 -18
  48. data/test/core/test_underscore.rb +32 -21
  49. data/test/more/test_multiline_history.rb +42 -0
  50. data/test/test_shell.rb +13 -8
  51. metadata +72 -27
  52. data/2011-02-28.md +0 -203
  53. data/CHANGES +0 -86
  54. data/TODO +0 -6
  55. data/lib/rib/core/history_file.rb +0 -38
  56. data/lib/rib/more/multiline.rb +0 -77
  57. data/lib/rib/more/squeeze_history.rb +0 -37
  58. data/lib/rib/more/strip_backtrace.rb +0 -43
  59. data/lib/rib/zore.rb +0 -3
  60. data/lib/rib/zore/anchor.rb +0 -69
@@ -1,43 +0,0 @@
1
-
2
- require 'rib'
3
-
4
- module Rib::StripBacktrace
5
- include Rib::Plugin
6
- Shell.use(self)
7
-
8
- # strip backtrace until ripl
9
- def format_error e
10
- return super if StripBacktrace.disabled?
11
- message, backtrace = get_error(e, P.strip_backtrace(e, config[:name]))
12
- "#{message}\n #{backtrace.join("\n ")}"
13
- end
14
-
15
- def get_error e, backtrace=e.backtrace
16
- return super if StripBacktrace.disabled?
17
- ["#{e.class}: #{e.message}", backtrace]
18
- end
19
-
20
- private
21
- module Imp
22
- def strip_backtrace e, name
23
- home(cwd(snip(e, name)))
24
- end
25
-
26
- def home b
27
- b.map{ |p| p.sub(ENV['HOME'], '~') }
28
- end
29
-
30
- def cwd b
31
- b.map{ |p| p.sub(Dir.pwd, '.') }
32
- end
33
-
34
- def snip e, name
35
- return [] if e.kind_of?(SyntaxError)
36
- e.backtrace[
37
- 0..
38
- e.backtrace.rindex{ |l| l =~ /\(#{name}\):\d+:in `.+?'/ } || -1]
39
- end
40
- end
41
-
42
- Plugin.extend(Imp)
43
- end
data/lib/rib/zore.rb DELETED
@@ -1,3 +0,0 @@
1
-
2
- require 'rib/zore/anchor'
3
- require 'rib/zore/edit'
@@ -1,69 +0,0 @@
1
-
2
- require 'rib'
3
-
4
- module Rib::Anchor
5
- include Rib::Plugin
6
- Shell.use(self)
7
-
8
- def loop_eval(str)
9
- case obj_or_binding = (Rib.vars[:anchor] ||= []).last
10
- when NilClass
11
- super
12
-
13
- when Binding
14
- @binding = obj_or_binding
15
- super
16
-
17
- else
18
- obj_or_binding.instance_eval(str, "(#{config[:name]})", config[:line])
19
- end
20
- end
21
-
22
- def prompt
23
- if Rib.const_defined?(:Color) && kind_of?(Rib::Color) &&
24
- obj_or_binding = (Rib.vars[:anchor] ||= []).last
25
-
26
- super.sub(config[:name], format_color(obj_or_binding, config[:name]))
27
- else
28
- super
29
- end
30
- end
31
-
32
- # if the object is the same, then we're exiting from an anchor,
33
- # so don't print anything.
34
- def print_result result
35
- super unless !result.nil? &&
36
- result.object_id == Rib.vars[:anchor_last].object_id
37
- end
38
-
39
- module Imp
40
- def short_inspect obj_or_binding
41
- obj_or_binding.inspect[0..9]
42
- end
43
- end
44
-
45
- module AnchorImp
46
- def anchor obj_or_binding
47
- return if Rib::Anchor.disabled?
48
-
49
- (Rib.vars[:anchor] ||= []) << obj_or_binding
50
- name = Rib::P.short_inspect(obj_or_binding)
51
-
52
- Rib.shells <<
53
- Rib::Shell.new(Rib.config.merge(
54
- :name => name,
55
- :prompt => "#{name}(#{Rib.vars[:anchor].size})" +
56
- (Rib.config[:prompt] || '>> ')))
57
-
58
- Rib.shell.loop
59
-
60
- ensure
61
- # stores to check if we're exiting from an anchor
62
- Rib.vars[:anchor_last] = Rib.vars[:anchor].pop
63
- Rib.shells.pop
64
- end
65
- end
66
-
67
- Plugin.extend(Imp)
68
- Rib .extend(AnchorImp)
69
- end