doattend 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/lib/doattend/participant.rb +24 -2
- data/lib/doattend/version.rb +1 -1
- data/spec/participant_spec.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9257a343d6da9bd6015e07ec91feae08c48a5235
|
4
|
+
data.tar.gz: ff4d675b947331de7c90b7e03d06632bf0fae795
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce5c83f4d8c37cdcf8cca38943cf7c2f62e9409e3dd01980d1eee283449aaf1a908416e9e559b91ae254fc02307dfb41052120b771a865594943aeedeb775bc1
|
7
|
+
data.tar.gz: a2add6d1308a2056ddb6de495ed03af94bcf0c10729a7fbe904bc1f8a079b2bc36ebac55bc8ac93a428191712fcc0c88ec465afe62f6d54e818e86288821888c
|
data/README.md
CHANGED
@@ -64,7 +64,7 @@ Run the following generator to generate config/doattend.yml
|
|
64
64
|
#### Find a participant by ticket number
|
65
65
|
doattend.participant.find('TICKET_NUMBER')
|
66
66
|
|
67
|
-
#### Ascertain whether a key == value
|
67
|
+
#### Ascertain a count whether a key == value
|
68
68
|
doattend.participant.ascertain('KEY', 'VALUE')
|
69
69
|
|
70
70
|
Eg.:
|
@@ -76,11 +76,17 @@ Run the following generator to generate config/doattend.yml
|
|
76
76
|
Eg.:
|
77
77
|
doattend.participant.registered.on(Date.new(2013,5,8))
|
78
78
|
|
79
|
+
#### Return array of participant objects based on a single condition
|
80
|
+
doattend.participant.where('KEY', 'VALUE')
|
81
|
+
|
82
|
+
Eg.:
|
83
|
+
doattend.participant.where('Nationality', 'Indian')
|
84
|
+
|
79
85
|
#### Pluck a field from all participants
|
80
86
|
doattend.participant.pluck('FIELD_NAME')
|
81
87
|
|
82
88
|
Eg.:
|
83
|
-
doattend.participant.pluck('
|
89
|
+
doattend.participant.pluck('Email')
|
84
90
|
|
85
91
|
## Contributing
|
86
92
|
|
data/lib/doattend/participant.rb
CHANGED
@@ -25,11 +25,14 @@ module Doattend
|
|
25
25
|
end
|
26
26
|
|
27
27
|
# Count occurences of key/value.
|
28
|
+
# Looks like this method is redundant.
|
29
|
+
# TODO: Remove this in the next version
|
28
30
|
def ascertain(k, v)
|
29
31
|
if self.general_info.include? k
|
30
32
|
self.result.count{ |p| p[k] == v.downcase }
|
31
33
|
else
|
32
|
-
self.result.map{ |p| p['participant_information'].select{ |i| i['desc'].strip.downcase == k.split('_').join(' ').downcase and i['info'].strip.downcase == v.downcase } }.flatten.size
|
34
|
+
#self.result.map{ |p| p['participant_information'].select{ |i| i['desc'].strip.downcase == k.split('_').join(' ').downcase and i['info'].strip.downcase == v.downcase } }.flatten.size
|
35
|
+
get_participant_info(k, v).size
|
33
36
|
end
|
34
37
|
end
|
35
38
|
|
@@ -41,7 +44,26 @@ module Doattend
|
|
41
44
|
def on(date)
|
42
45
|
self.result.select{ |p| Date.iso8601(p['Date']).strftime == date.strftime }
|
43
46
|
end
|
44
|
-
|
47
|
+
|
48
|
+
# Return participant object(s) with a specified key/value.
|
49
|
+
def where(k, v)
|
50
|
+
if self.general_info.include? k
|
51
|
+
self.result.select{ |p| p[k].downcase == v.downcase }
|
52
|
+
else
|
53
|
+
get_participant_info(k.downcase, v)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
def get_participant_info(k, v)
|
59
|
+
participants = []
|
60
|
+
self.result.each do |p|
|
61
|
+
p['participant_information'].each do |pz|
|
62
|
+
participants << p if pz['desc'] == k and pz['info'].downcase == v.downcase
|
63
|
+
end
|
64
|
+
end
|
65
|
+
participants
|
66
|
+
end
|
45
67
|
|
46
68
|
end
|
47
69
|
|
data/lib/doattend/version.rb
CHANGED
data/spec/participant_spec.rb
CHANGED
@@ -34,4 +34,8 @@ describe Doattend::Participant do
|
|
34
34
|
@doattend.participant.registered.on(Date.new(2013,5,8)).should be_kind_of Array
|
35
35
|
end
|
36
36
|
|
37
|
+
it "should return a participant object(s) based on a condition that is an Array" do
|
38
|
+
@doattend.participant.where('Gender', 'Male').should be_instance_of Array
|
39
|
+
end
|
40
|
+
|
37
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doattend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Swaroop SM
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|