doattend 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|