one_inch_punch 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.3.2 2008-06-01
2
+
3
+ * 1 tiny bugfix enhancement:
4
+ * sub-projects now truly restricting to the naming form of 'parent/child',
5
+ not 'parent_child' or even simply 'parentseriouslythisisnotachild'
6
+
1
7
  == 0.3.1 2008-04-06
2
8
 
3
9
  * 1 tiny bugfix enhancement:
data/lib/punch/version.rb CHANGED
@@ -2,7 +2,7 @@ class Punch
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/punch.rb CHANGED
@@ -169,7 +169,7 @@ class Punch
169
169
  end
170
170
 
171
171
  def child_projects(project)
172
- projects.select { |proj| proj.match(/^#{Regexp.escape(project)}/) } - [project]
172
+ projects.select { |proj| proj.match(/^#{Regexp.escape(project)}\//) } - [project]
173
173
  end
174
174
 
175
175
  def in_child(project)
data/spec/punch_spec.rb CHANGED
@@ -350,6 +350,15 @@ describe Punch do
350
350
  Punch.data = @data
351
351
  Punch.status(@projects['parent'], :full => true).should == { :status => 'out', :time => @now - 5 }
352
352
  end
353
+
354
+ it 'should only see projects having the specific parent/child naming as sub-projects' do
355
+ @data[@projects['parent']] = []
356
+ non_child = @projects['parent'] + '_other'
357
+ @data[non_child] = [ { 'in' => @now - 45 } ]
358
+ Punch.data = @data
359
+
360
+ Punch.status(@projects['parent']).should.be.nil
361
+ end
353
362
  end
354
363
  end
355
364
 
@@ -821,6 +830,16 @@ describe Punch do
821
830
  Punch.out(@projects['parent'])
822
831
  Punch.data[@projects['parent']].should == []
823
832
  end
833
+
834
+ it 'should only see projects having the specific parent/child naming as sub-projects' do
835
+ @data[@projects['parent']] = [ { 'in' => @now - 20 } ]
836
+ non_child = @projects['parent'] + '_other'
837
+ @data[non_child] = [ { 'in' => @now - 45 } ]
838
+ Punch.data = @data
839
+
840
+ Punch.out(@projects['parent'])
841
+ Punch.data[non_child].should == [ { 'in' => @now - 45 } ]
842
+ end
824
843
  end
825
844
  end
826
845
 
@@ -994,12 +1013,21 @@ describe Punch do
994
1013
  Punch.list(@projects['parent']).should == list_data
995
1014
  end
996
1015
 
1016
+ it 'should only see projects having the specific parent/child naming as sub-projects' do
1017
+ non_child = @projects['parent'] + '_other'
1018
+ @data[non_child] = [ { 'in' => @now - 45 } ]
1019
+ Punch.data = @data
1020
+
1021
+ list_data = { @projects['parent'] => @data[@projects['parent']], @projects['child'] => @data[@projects['child']] }
1022
+ Punch.list(@projects['parent']).should == list_data
1023
+ end
1024
+
997
1025
  it 'should respect options' do
998
1026
  list_data = { @projects['parent'] => [], @projects['child'] => @data[@projects['child']] }
999
1027
  Punch.list(@projects['parent'], :after => @now - 21).should == list_data
1000
1028
  end
1001
1029
 
1002
- describe 'when do project is given' do
1030
+ describe 'when no project is given' do
1003
1031
  before do
1004
1032
  @projects = ['test project', 'out project', 'other project']
1005
1033
  @data[@projects[0]] = [ {'in' => @now - 50, 'out' => @now - 25} ]
@@ -1167,6 +1195,15 @@ describe Punch do
1167
1195
  Punch.total(@projects['parent']).should == total_data
1168
1196
  end
1169
1197
 
1198
+ it 'should only see projects having the specific parent/child naming as sub-projects' do
1199
+ non_child = @projects['parent'] + '_other'
1200
+ @data[non_child] = [ { 'in' => @now - 45, 'out' => @now - 20 } ]
1201
+ Punch.data = @data
1202
+
1203
+ total_data = { @projects['parent'] => 50, @projects['child'] => 10 }
1204
+ Punch.total(@projects['parent']).should == total_data
1205
+ end
1206
+
1170
1207
  describe 'when no project is given' do
1171
1208
  before do
1172
1209
  @extra_projects = ['test project', 'out project', 'other project']
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: one_inch_punch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yossef Mendelssohn
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-06 00:00:00 -05:00
12
+ date: 2009-06-01 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -82,6 +82,8 @@ files:
82
82
  - tasks/website.rake
83
83
  has_rdoc: true
84
84
  homepage: http://yomendel.rubyforge.org
85
+ licenses: []
86
+
85
87
  post_install_message: ""
86
88
  rdoc_options:
87
89
  - --main
@@ -103,9 +105,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
105
  requirements: []
104
106
 
105
107
  rubyforge_project: yomendel
106
- rubygems_version: 1.3.1
108
+ rubygems_version: 1.3.3
107
109
  signing_key:
108
- specification_version: 2
110
+ specification_version: 3
109
111
  summary: a simple time-tracking tool
110
112
  test_files: []
111
113