brice 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --colour
2
+ --debug
3
+ --require spec/spec_helper
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to brice version 0.2.2
5
+ This documentation refers to brice version 0.2.3
6
6
 
7
7
 
8
8
  == DESCRIPTION
data/lib/brice/config.rb CHANGED
@@ -97,6 +97,19 @@ module Brice
97
97
 
98
98
  alias_method :-, :exclude
99
99
 
100
+ # call-seq:
101
+ # config.only(*packages)
102
+ # config %= packages
103
+ #
104
+ # Enable/include *only* packages +packages+,
105
+ # disable/exclude everything else.
106
+ def only(*packages)
107
+ clear
108
+ self.include(*packages)
109
+ end
110
+
111
+ alias_method :%, :only
112
+
100
113
  # call-seq:
101
114
  # config.clear
102
115
  #
@@ -81,14 +81,16 @@ module Brice
81
81
 
82
82
  def cgrep(needle)
83
83
  needle = %r{#{Regexp.escape(needle)}}i unless needle.is_a?(Regexp)
84
-
84
+ klass = is_a?(Class) ? self : self.class
85
85
  res = []
86
86
 
87
- ObjectSpace.each_object { |obj|
88
- if obj.is_a?(Class) && obj <= self
89
- name = obj.name
90
- res << name if name =~ needle
91
- end
87
+ ObjectSpace.each_object(Class) { |obj|
88
+ next unless obj <= klass
89
+
90
+ name = obj.name
91
+ next unless name =~ needle
92
+
93
+ res.push(name.empty? ? obj.inspect : name)
92
94
  }
93
95
 
94
96
  res
data/lib/brice/version.rb CHANGED
@@ -4,7 +4,7 @@ module Brice
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 2
7
- TINY = 2
7
+ TINY = 3
8
8
 
9
9
  class << self
10
10
 
@@ -0,0 +1,97 @@
1
+ require 'brice/history'
2
+
3
+ describe Brice::History do
4
+
5
+ def hist
6
+ @hist_store ||= []
7
+ end
8
+
9
+ def init_hist(opt = {})
10
+ @hist = Brice::History.new(opt.merge(:path => @path), hist)
11
+ end
12
+
13
+ def saved_hist
14
+ @hist.send(:save_history)
15
+ File.read(@path)
16
+ end
17
+
18
+ def compare_hist(input, result = input, saved = result)
19
+ input.each { |i| hist.push(i) }
20
+ hist.should == result
21
+ saved_hist.should == saved.map { |i| "#{i}\n" }.join
22
+ end
23
+
24
+ describe 'no uniq, no merge' do
25
+
26
+ before :each do
27
+ init_hist(:uniq => false, :merge => false)
28
+ end
29
+
30
+ example { compare_hist(%w[]) }
31
+ example { compare_hist(%w[1]) }
32
+ example { compare_hist(%w[1 2 3]) }
33
+ example { compare_hist(%w[1] * 3, %w[1 1 1]) }
34
+ example { compare_hist(%w[1 2 3 1], %w[1 2 3 1]) }
35
+
36
+ end
37
+
38
+ describe 'uniq, no merge' do
39
+
40
+ before :each do
41
+ init_hist(:uniq => true, :merge => false)
42
+ end
43
+
44
+ example { compare_hist(%w[]) }
45
+ example { compare_hist(%w[1]) }
46
+ example { compare_hist(%w[1 2 3]) }
47
+ example { compare_hist(%w[1] * 3, %w[1 1 1], %w[1]) }
48
+ example { compare_hist(%w[1 2 3 1], %w[1 2 3 1], %w[1 2 3]) }
49
+
50
+ end
51
+
52
+ describe 'uniq, merge' do
53
+
54
+ before :each do
55
+ init_hist(:uniq => true, :merge => true)
56
+ end
57
+
58
+ example { compare_hist(%w[]) }
59
+ example { compare_hist(%w[1]) }
60
+ example { compare_hist(%w[1 2 3]) }
61
+ example { compare_hist(%w[1] * 3, %w[1]) }
62
+
63
+ # TODO: describe merging
64
+
65
+ end
66
+
67
+ describe 'reverse uniq, no merge' do
68
+
69
+ before :each do
70
+ init_hist(:uniq => :reverse, :merge => false)
71
+ end
72
+
73
+ example { compare_hist(%w[]) }
74
+ example { compare_hist(%w[1]) }
75
+ example { compare_hist(%w[1 2 3]) }
76
+ example { compare_hist(%w[1] * 3, %w[1 1 1], %w[1]) }
77
+ example { compare_hist(%w[1 2 3 1], %w[1 2 3 1], %w[2 3 1]) }
78
+
79
+ end
80
+
81
+ describe 'reverse uniq, merge' do
82
+
83
+ before :each do
84
+ init_hist(:uniq => :reverse, :merge => true)
85
+ end
86
+
87
+ example { compare_hist(%w[]) }
88
+ example { compare_hist(%w[1]) }
89
+ example { compare_hist(%w[1 2 3]) }
90
+ example { compare_hist(%w[1] * 3, %w[1]) }
91
+ example { compare_hist(%w[1 2 3 1], %w[2 3 1]) }
92
+
93
+ # TODO: describe merging
94
+
95
+ end
96
+
97
+ end
@@ -0,0 +1,21 @@
1
+ $:.unshift('lib') unless $:.first == 'lib'
2
+
3
+ require 'tempfile'
4
+
5
+ RSpec.configure { |config|
6
+ config.before(:each) { open_tempfile }
7
+ config.after(:each) { close_tempfile }
8
+
9
+ config.include(Module.new {
10
+ def open_tempfile
11
+ @temp = Tempfile.open("wirble_spec_#{object_id}_temp")
12
+ @path = path = @temp.path
13
+
14
+ Kernel.at_exit { File.unlink(path) if File.file?(path) }
15
+ end
16
+
17
+ def close_tempfile
18
+ @temp.close(true) if @temp
19
+ end
20
+ })
21
+ }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brice
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jens Wille
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-09 00:00:00 Z
18
+ date: 2011-12-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: ruby-nuggets
@@ -44,41 +44,44 @@ extra_rdoc_files:
44
44
  - COPYING
45
45
  - ChangeLog
46
46
  files:
47
- - lib/brice.rb
48
- - lib/brice/init.rb
49
- - lib/brice/history.rb
50
- - lib/brice/colours.rb
51
- - lib/brice/version.rb
52
- - lib/brice/shortcuts.rb
53
47
  - lib/brice/config.rb
54
- - lib/brice/rc/090_devel.rb
55
- - lib/brice/rc/010_added_methods.rb
56
- - lib/brice/rc/020_libs.rb
57
- - lib/brice/rc/030_history.rb
58
- - lib/brice/rc/070_prompt.rb
48
+ - lib/brice/dsl.rb
49
+ - lib/brice/colours.rb
59
50
  - lib/brice/rc/040_colours.rb
51
+ - lib/brice/rc/070_prompt.rb
52
+ - lib/brice/rc/030_history.rb
60
53
  - lib/brice/rc/050_shortcuts.rb
54
+ - lib/brice/rc/090_devel.rb
55
+ - lib/brice/rc/020_libs.rb
61
56
  - lib/brice/rc/060_init.rb
57
+ - lib/brice/rc/010_added_methods.rb
62
58
  - lib/brice/rc/080_rails.rb
63
- - lib/brice/dsl.rb
64
- - README
59
+ - lib/brice/version.rb
60
+ - lib/brice/history.rb
61
+ - lib/brice/init.rb
62
+ - lib/brice/shortcuts.rb
63
+ - lib/brice.rb
65
64
  - ChangeLog
65
+ - COPYING
66
+ - README
66
67
  - Rakefile
67
68
  - TODO
68
- - COPYING
69
+ - spec/brice/history_spec.rb
70
+ - spec/spec_helper.rb
71
+ - .rspec
69
72
  homepage: http://prometheus.rubyforge.org/brice
70
73
  licenses: []
71
74
 
72
75
  post_install_message:
73
76
  rdoc_options:
74
77
  - --line-numbers
78
+ - --all
75
79
  - --main
76
80
  - README
77
- - --all
78
81
  - --charset
79
82
  - UTF-8
80
83
  - --title
81
- - brice Application documentation (v0.2.2)
84
+ - brice Application documentation (v0.2.3)
82
85
  require_paths:
83
86
  - lib
84
87
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -102,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
105
  requirements: []
103
106
 
104
107
  rubyforge_project: prometheus
105
- rubygems_version: 1.8.7
108
+ rubygems_version: 1.8.12
106
109
  signing_key:
107
110
  specification_version: 3
108
111
  summary: Extra cool IRb goodness for the masses