LibraryStatistics 0.0.0

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.
Files changed (2) hide show
  1. data/lib/libraryapp.rb +71 -0
  2. metadata +46 -0
data/lib/libraryapp.rb ADDED
@@ -0,0 +1,71 @@
1
+ require 'csv'
2
+ require_relative 'librarystatistics/category.rb'
3
+ require_relative 'librarystatistics/library.rb'
4
+ require_relative 'librarystatistics/csvreader.rb'
5
+ require_relative 'librarystatistics/categorybuilder.rb'
6
+
7
+ class LibraryApp
8
+ attr_accessor :name, :category_array
9
+
10
+ def initialize(args = {})
11
+
12
+ @library = Library.new({name: args[:name],
13
+ quantity: args[:quantity],
14
+ checkouts: args[:checkouts]})
15
+
16
+ inputfile = CategoryBuilder.new
17
+ @category_array = inputfile.build(@library, args[:file])
18
+
19
+ end
20
+
21
+
22
+ def display
23
+ @category_array.each do |stuff|
24
+ puts stuff.name
25
+ puts "Quantity: #{stuff.quantity}"
26
+ puts "% of Total Books: #{stuff.percent_of_total}"
27
+ puts "Checkouts: #{stuff.checkouts}"
28
+ puts "% of Total Checkouts: #{stuff.percent_of_checkouts}"
29
+ puts "Performance (average number of checkouts per book in category): #{stuff.performance}"
30
+ puts "-------------"
31
+ end
32
+ end
33
+
34
+
35
+ def winners
36
+ best_score = 0.01
37
+ loser_array = []
38
+ winner_array = []
39
+
40
+ @category_array.each do |stuff|
41
+
42
+ #collect best performers
43
+ if stuff.performance > best_score
44
+ best_score = stuff.performance
45
+ winner_array.clear
46
+ winner_array << stuff
47
+ end
48
+
49
+ #collect worst performers
50
+ if stuff.percent_of_checkouts == 0
51
+ loser_array << stuff
52
+ end
53
+
54
+ end
55
+
56
+ puts "Losers:"
57
+ loser_array.each do |loser|
58
+ puts loser.name
59
+ end
60
+
61
+ puts "Winner:"
62
+ winner_array.each do |winner|
63
+ puts winner.name
64
+ end
65
+
66
+ return true
67
+
68
+ end
69
+
70
+
71
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: LibraryStatistics
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Cheri Allen
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-12-07 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A gem to track the performance of different categories of books in a
15
+ library
16
+ email: cherimarie@gmail.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/libraryapp.rb
22
+ homepage: http://rubygems.org/gems/LibraryStatistics
23
+ licenses: []
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 1.8.24
43
+ signing_key:
44
+ specification_version: 3
45
+ summary: Performance statistics for libraries
46
+ test_files: []