zitdunyet 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -104,6 +104,12 @@ Sometimes, though, you may want to be more elaborate in your hinting. #checkoff
104
104
 
105
105
  The hint over-rides the label when reported by #hints.
106
106
 
107
+ #### Checklist
108
+
109
+ They might be a situation where you want a list of both the items that have been completed and the items yet to be done.
110
+
111
+ + #checklist - returns a hash in which the keys are labels and the values are Boolean (true for complete and false for not complete)
112
+
107
113
  ### Advanced Usage
108
114
 
109
115
  Basic usage is fine for most situations, but sometimes you need a little something extra.
@@ -22,8 +22,11 @@ module Zitdunyet
22
22
  completed_units = 0
23
23
  complete = true
24
24
  @hints = {}
25
+ @checklist = {}
25
26
  self.class.checklist.each do |item|
26
- if item.logic.call(self)
27
+ completed = item.logic.call(self)
28
+ @checklist[item.label] = completed
29
+ if completed
27
30
  if item.percent
28
31
  completed_pct += item.percent
29
32
  else
@@ -50,5 +53,11 @@ module Zitdunyet
50
53
  end
51
54
  hints
52
55
  end
56
+
57
+ def checklist
58
+ percent_complete unless @checklist
59
+ @checklist
60
+ end
61
+
53
62
  end
54
63
  end
@@ -1,3 +1,3 @@
1
1
  module Zitdunyet
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -53,6 +53,41 @@ describe "Evaluations" do
53
53
  foo.complete?.should be_true
54
54
  foo.percent_complete.should == 100
55
55
  end
56
+
57
+ it "should return a hash of complete and incomplete items" do
58
+ class Foo
59
+ include Zitdunyet::Completeness
60
+ checkoff "Bar", 1.units do |s| s.bar >= 5 end
61
+ checkoff "Baz", 1.units do |s| s.baz >= 5 end
62
+ checkoff "Biz", 1.units do |s| s.biz >= 5 end
63
+ checkoff "Buz", 1.units do |s| s.buz >= 5 end
64
+
65
+ def bar
66
+ 9
67
+ end
68
+
69
+ def baz
70
+ 3
71
+ end
72
+
73
+ def biz
74
+ 7
75
+ end
76
+
77
+ def buz
78
+ 1
79
+ end
80
+ end
81
+
82
+ foo = Foo.new
83
+ hash = foo.checklist
84
+ hash['Bar'].should be(true)
85
+ hash['Baz'].should be(false)
86
+ hash['Biz'].should be(true)
87
+ hash['Buz'].should be(false)
88
+
89
+ end
90
+
56
91
  end
57
92
 
58
93
  context "Percentages" do
metadata CHANGED
@@ -1,49 +1,55 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: zitdunyet
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - David Pellegrini
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-07-20 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-08-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rake
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
27
31
  name: rspec
28
- requirement: &id002 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
- version_requirements: *id002
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
37
46
  description: Evaluate how done or complete a process or entity is.
38
- email:
47
+ email:
39
48
  - david.pellegrini@spoke.com
40
49
  executables: []
41
-
42
50
  extensions: []
43
-
44
51
  extra_rdoc_files: []
45
-
46
- files:
52
+ files:
47
53
  - .gitignore
48
54
  - Gemfile
49
55
  - LICENSE
@@ -64,40 +70,32 @@ files:
64
70
  - spec/lib/zitdunyet/expressions_spec.rb
65
71
  - spec/spec_helper.rb
66
72
  - zitdunyet.gemspec
67
- homepage: ""
73
+ homepage: ''
68
74
  licenses: []
69
-
70
75
  post_install_message:
71
76
  rdoc_options: []
72
-
73
- require_paths:
77
+ require_paths:
74
78
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
79
+ required_ruby_version: !ruby/object:Gem::Requirement
76
80
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- hash: 288550113559584395
81
- segments:
82
- - 0
83
- version: "0"
84
- required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
86
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 288550113559584395
90
- segments:
91
- - 0
92
- version: "0"
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
93
91
  requirements: []
94
-
95
92
  rubyforge_project: zitdunyet
96
- rubygems_version: 1.8.24
93
+ rubygems_version: 1.8.23
97
94
  signing_key:
98
95
  specification_version: 3
99
- summary: DSL to describe the steps to completion and evaluation engine to compute done-ness.
100
- test_files:
96
+ summary: DSL to describe the steps to completion and evaluation engine to compute
97
+ done-ness.
98
+ test_files:
101
99
  - spec/lib/zitdunyet/checkoff_spec.rb
102
100
  - spec/lib/zitdunyet/class_attr_spec.rb
103
101
  - spec/lib/zitdunyet/evaluations_spec.rb