one_inch_punch 0.3.1 → 0.3.2

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