event_reporter 1.0.1 → 1.0.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/event_reporter.gemspec +6 -3
- data/lib/event_reporter/attendee.rb +5 -5
- data/lib/event_reporter/cleaners.rb +2 -2
- data/lib/event_reporter/csv_parser.rb +3 -3
- data/lib/event_reporter/database.rb +2 -2
- data/lib/event_reporter/print.rb +2 -2
- data/lib/event_reporter/runner.rb +3 -2
- data/lib/event_reporter/save.rb +22 -21
- metadata +2 -3
- data/bin/results.csv +0 -6
data/event_reporter.gemspec
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
lib = File.expand_path('../lib/', __FILE__)
|
2
|
+
$:.unshift lib unless $:.include?(lib)
|
3
|
+
|
1
4
|
Gem::Specification.new do |gem|
|
2
5
|
gem.name = "event_reporter"
|
3
|
-
gem.version = "1.0.
|
6
|
+
gem.version = "1.0.2"
|
4
7
|
gem.author = "Raphael Weiner"
|
5
8
|
gem.email = "raphael.weiner@gmail.com"
|
6
9
|
gem.summary = "Loads csv of event attendees and allows for searching"
|
@@ -16,9 +19,9 @@ Gem::Specification.new do |gem|
|
|
16
19
|
event_reporter.gemspec
|
17
20
|
)
|
18
21
|
gem.executables = [ 'event_reporter' ]
|
19
|
-
|
22
|
+
|
20
23
|
gem.required_ruby_version = '>=1.9'
|
21
24
|
gem.has_rdoc = false
|
22
25
|
gem.add_dependency 'json'
|
23
26
|
gem.add_dependency 'nokogiri'
|
24
|
-
end
|
27
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module EventReporter
|
2
2
|
class CSVParser
|
3
3
|
def initialize(filename)
|
4
|
-
csv_file = File.
|
4
|
+
csv_file = File.expand_path("../../../bin/#{filename}", __FILE__)
|
5
5
|
throw(:top, "File not found :(") if !File.exists?(csv_file)
|
6
6
|
@contents = CSV.open(csv_file,
|
7
7
|
:headers => true,
|
@@ -20,7 +20,7 @@ module EventReporter
|
|
20
20
|
phone_number = Cleaners::clean_phone_number(line[:homephone])
|
21
21
|
Attendee.new(last_name,
|
22
22
|
first_name,
|
23
|
-
email,
|
23
|
+
email,
|
24
24
|
zipcode,
|
25
25
|
city,
|
26
26
|
state,
|
@@ -30,4 +30,4 @@ module EventReporter
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
33
|
-
end
|
33
|
+
end
|
data/lib/event_reporter/print.rb
CHANGED
@@ -23,7 +23,7 @@ module EventReporter
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def queue_print(queue)
|
26
|
-
if queue.empty?
|
26
|
+
if queue.empty?
|
27
27
|
puts "Nothing in queue!"
|
28
28
|
else
|
29
29
|
columns_length = find_column_lengths(queue)
|
@@ -67,7 +67,7 @@ module EventReporter
|
|
67
67
|
queue.sort! do |attendee1, attendee2|
|
68
68
|
attendee1[attribute] <=> attendee2[attribute]
|
69
69
|
end
|
70
|
-
|
70
|
+
|
71
71
|
queue_print(queue)
|
72
72
|
end
|
73
73
|
end
|
data/lib/event_reporter/save.rb
CHANGED
@@ -3,43 +3,44 @@ module EventReporter
|
|
3
3
|
class << self
|
4
4
|
def route_save_to(filename, queue)
|
5
5
|
throw(:top, "Please enter a filename to save to") if filename.nil?
|
6
|
-
|
6
|
+
|
7
7
|
extension = filename.split(".")[1]
|
8
8
|
method = "save_to_#{extension}"
|
9
|
-
|
9
|
+
|
10
10
|
if respond_to? method
|
11
|
-
|
11
|
+
file_path = File.expand_path("../../../bin/#{filename}", __FILE__)
|
12
|
+
send(method, file_path, queue)
|
12
13
|
else
|
13
14
|
throw(:top, "Extension not valid! (try .csv, .xml, .txt, .json)")
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
17
|
-
def save_to_csv(
|
18
|
-
CSV.open("
|
18
|
+
def save_to_csv(file_path, queue)
|
19
|
+
CSV.open("#{file_path}", "w") do |csv|
|
19
20
|
csv << HEADERS.map do |header|
|
20
21
|
header.downcase == 'phone_number' ? 'HomePhone' : header
|
21
22
|
end
|
22
|
-
queue.each do |attendee|
|
23
|
+
queue.each do |attendee|
|
23
24
|
csv << [attendee.last_name,
|
24
25
|
attendee.first_name,
|
25
26
|
attendee.email,
|
26
27
|
attendee.zipcode,
|
27
28
|
attendee.city,
|
28
|
-
attendee.state,
|
29
|
+
attendee.state,
|
29
30
|
attendee.address,
|
30
31
|
attendee.phone_number]
|
31
32
|
end
|
32
33
|
end
|
33
|
-
success(
|
34
|
+
success(file_path)
|
34
35
|
end
|
35
36
|
|
36
|
-
def save_to_txt(
|
37
|
+
def save_to_txt(file_path, queue)
|
37
38
|
columns_length = Print.find_column_lengths(queue)
|
38
|
-
File.open("
|
39
|
+
File.open("#{file_path}", "w") do |txt|
|
39
40
|
save_to_txt_headers(txt, columns_length)
|
40
41
|
save_to_txt_contents(txt, columns_length, queue)
|
41
42
|
end
|
42
|
-
success(
|
43
|
+
success(file_path)
|
43
44
|
end
|
44
45
|
|
45
46
|
def save_to_txt_headers(txt, columns_length)
|
@@ -55,17 +56,17 @@ module EventReporter
|
|
55
56
|
column_width = columns_length[header.to_sym]
|
56
57
|
txt.print "#{attendee[header].ljust(column_width)} "
|
57
58
|
end
|
58
|
-
end
|
59
|
+
end
|
59
60
|
end
|
60
61
|
|
61
|
-
def save_to_json(
|
62
|
-
File.open("
|
62
|
+
def save_to_json(file_path, queue)
|
63
|
+
File.open("#{file_path}", "w") do |json|
|
63
64
|
json.puts queue.to_json
|
64
65
|
end
|
65
|
-
success(
|
66
|
+
success(file_path)
|
66
67
|
end
|
67
68
|
|
68
|
-
def save_to_xml(
|
69
|
+
def save_to_xml(file_path, queue)
|
69
70
|
queue_xml = Nokogiri::XML::Builder.new do |xml|
|
70
71
|
xml.root {
|
71
72
|
xml.event_attendees {
|
@@ -73,14 +74,14 @@ module EventReporter
|
|
73
74
|
}
|
74
75
|
}
|
75
76
|
end
|
76
|
-
File.open("
|
77
|
+
File.open("#{file_path}", "w") do |xml|
|
77
78
|
xml.puts queue_xml.to_xml
|
78
79
|
end
|
79
|
-
success(
|
80
|
+
success(file_path)
|
80
81
|
end
|
81
82
|
|
82
|
-
def success(
|
83
|
-
puts "Saved
|
83
|
+
def success(file_path)
|
84
|
+
puts "Saved file #{file_path.split('/').last}"
|
84
85
|
end
|
85
86
|
|
86
87
|
def build_attendees_xml(xml, queue)
|
@@ -99,4 +100,4 @@ module EventReporter
|
|
99
100
|
end
|
100
101
|
end
|
101
102
|
end
|
102
|
-
end
|
103
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: event_reporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -54,7 +54,6 @@ files:
|
|
54
54
|
- bin/event_attendees.csv
|
55
55
|
- bin/event_reporter
|
56
56
|
- bin/help.yml
|
57
|
-
- bin/results.csv
|
58
57
|
- lib/event_reporter/accept_any_input.rb
|
59
58
|
- lib/event_reporter/attendee.rb
|
60
59
|
- lib/event_reporter/cache.rb
|
data/bin/results.csv
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
last_name,first_name,email,zipcode,city,state,address,HomePhone
|
2
|
-
Waickman,Sarah,pvssino_a@jumpstartlab.com,42101,Bowling green,KY,1538 Chestnut Street,6153306000
|
3
|
-
Ruud,Sarah,lprissa.S.Knodel@jumpstartlab.com,40508,Lexington,KY,300 N. Broadway,6067480000
|
4
|
-
Dyment,John,lqeisler@jumpstartlab.com,40741,London,KY,216 Johnson Addition,6068624000
|
5
|
-
Dayananda,John,kyllacamerak@jumpstartlab.com,40206,Louisville,KY,513 Emery Rd.,5027410000
|
6
|
-
Catlin,Sarah,tlacyjamesrossi3@jumpstartlab.com,40206,Louisville,KY,114 N Galt Ave,5029386000
|