rib 0.1.0 → 0.9.0

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.
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