pings_fast_track_gem 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07d5ebcc2f047fb5ed3a46e0be7998501dea3df8f7084c9e895963003ef21148
4
- data.tar.gz: 608ea2530f1dece52cf4304e632074680fcfdf3ec6006b162c2792e308ee4828
3
+ metadata.gz: f3e083ad16f1e4b337afc7324ac95b779bc59b65b0eadeea64bbbdf82876da0c
4
+ data.tar.gz: ad5c934acd0349bf97861cc8933039fef1d2f83e503b6848cc7b61f87f1aa520
5
5
  SHA512:
6
- metadata.gz: aaa4f957a604e63b2566c6f5b3b8a02128d814a99e0c9ae2f2d1ba7d3c7c851e2eff2ec5f45a1abe712c1b60ea6a925728b5f5f9bdffb8002af4082732d8bcf4
7
- data.tar.gz: 424eb335a1e442ad232f0e7426a5c1efdd1a932f6db6b47ad52f8adfe8e6e8c4f4f1b3ecafc73c98f93ba1fd9a86e617520ab2c97a9e7208852a2acd40ad372b
6
+ metadata.gz: 51933596aa218f11a9a3f984b75dad6ed518f58e2f28056aac707ccf6887fc3ac3215dc09258aeb0795c134cb51f43efb414342cbad0f397a0d9cae4e1db9420
7
+ data.tar.gz: 99bbe0ff1f116741ea424e26b911406e856994705fb67c118c7cfdfed8b2ad692022d14033911bc7bc93b475ddfa7c29791d1f60fb28f099ec52efffe0bcb86b
data/.DS_Store ADDED
Binary file
data/Gemfile CHANGED
@@ -4,3 +4,7 @@ source "https://rubygems.org"
4
4
  gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
+ gem 'colorize', '~> 0.8.1'
8
+ gem 'tty-prompt', '~> 0.21.0'
9
+ gem 'pastel', '~> 0.7.3'
10
+ gem 'artii', '~> 2.1', '>= 2.1.2'
data/Gemfile.lock ADDED
@@ -0,0 +1,53 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pings_fast_track_gem (0.1.1)
5
+ artii (~> 2.1, >= 2.1.2)
6
+ colorize (~> 0.8.1)
7
+ lolcat (~> 42.24)
8
+ pastel (~> 0.7.3)
9
+ tty-prompt (~> 0.21.0)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ artii (2.1.2)
15
+ colorize (0.8.1)
16
+ equatable (0.6.1)
17
+ lolcat (42.24.1)
18
+ paint (~> 2.0.0)
19
+ trollop (~> 2.1.2)
20
+ necromancer (0.5.1)
21
+ paint (2.0.3)
22
+ pastel (0.7.3)
23
+ equatable (~> 0.6)
24
+ tty-color (~> 0.5)
25
+ rake (12.3.3)
26
+ trollop (2.1.3)
27
+ tty-color (0.5.1)
28
+ tty-cursor (0.7.1)
29
+ tty-prompt (0.21.0)
30
+ necromancer (~> 0.5.0)
31
+ pastel (~> 0.7.0)
32
+ tty-reader (~> 0.7.0)
33
+ tty-reader (0.7.0)
34
+ tty-cursor (~> 0.7)
35
+ tty-screen (~> 0.7)
36
+ wisper (~> 2.0.0)
37
+ tty-screen (0.7.1)
38
+ wisper (2.0.1)
39
+
40
+ PLATFORMS
41
+ ruby
42
+
43
+ DEPENDENCIES
44
+ artii (~> 2.1, >= 2.1.2)
45
+ colorize (~> 0.8.1)
46
+ lolcat (~> 42.24)
47
+ pastel (~> 0.7.3)
48
+ pings_fast_track_gem!
49
+ rake (~> 12.0)
50
+ tty-prompt (~> 0.21.0)
51
+
52
+ BUNDLED WITH
53
+ 2.1.4
data/README.md CHANGED
@@ -1,10 +1,93 @@
1
- # PingsFastTrackGem
1
+ # Roster App
2
+
3
+ ## Software Development Plan
4
+
5
+ ### Purpose
6
+ The purpose of the roster app is provide users with a tool create employee profiles and assign roster to their employees.
7
+
8
+ The main target audience for this app is managers and small business owners who will be able to keep track of their employee's shift. Many managers and small owners still tracks their employee and assign shift through paper documents. Paper documents are convenient to use but they take up physical space and can easily be misplaced or sabotage by others. The roster app will provide users with a simple and interactive prompt to input data and store in a csv file for further use. The roster app will solve a lot of employer issue when hiring as they can quickly create an employee profile, input basic details about the employee which they return to change at will.
9
+
10
+ ### Features
11
+ There are two main feature for this app, the ability to create new employee profile and assigning shifts to employee. The user will be able to create many employee profile which will be store in a csv file, the user can then update any existing employee profile to change any original value that they assigned to the employee.
12
+ The second main feature of the app is to provide the user with the ability to assign shift to employee which will be saved to a separate cv file which store all the shift that they assigned for their employee. The other feature of the app to show a quick list all employee or shift by simply selecting the correct prompts from menu.
13
+
14
+ Menu page:
15
+ <ul>
16
+ <li> Create employee profile</li>
17
+ ==> asking user for input about the employee
18
+ ==> first name, last name, age and gender
19
+ <li> Update employee profile </li>
20
+ ==> confirm which employee they want to change
21
+ => ask which part of the data they want to change like first name, last name, age or gender
22
+ <li> Assign Shift </li>
23
+ ==> asking user to select the day, input name, start time and end time
24
+ <li> View all employee profiles </li>
25
+ ==> print out data about existing in the terminal
26
+ <li> View all shifts </li>
27
+ ==> print out data about existing shift in the terminal
28
+ </ul>
29
+
30
+ ### UML
31
+
32
+ ![UML Diagram](./docs/uml)
33
+
34
+ ### Resources
35
+ [My app building process](https://trello.com/b/eLUrMcdd/terminal-app)
36
+ [UML Diagram](https://www.lucidchart.com/invitations/accept/98b1f7c4-8408-42c2-a2bf-3874764834fa)
2
37
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pings_fast_track_gem`. To experiment with that code, run `bin/console` for an interactive prompt.
38
+ ## Usage
39
+
40
+ ### Installing Ruby
41
+
42
+ ### Mac OS:
43
+
44
+ 1: You will need to install ruby on your mac os
45
+
46
+ I recommend using a package manager like homebrew
47
+
48
+ you can run the the following command on your terminal (to access terminal, you can search terminal in finder with cmd + space and type 'terminal' in the prompt)
49
+
50
+ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
51
+
52
+
53
+ Use the homebrew to install rbenv through the following command in terminal
54
+
55
+ $ brew install rbenv
56
+
57
+ Set up rbenv
4
58
 
5
- TODO: Delete this and the text above, and describe your gem
59
+ $rbenv init
6
60
 
7
- ## Installation
61
+ Close your terminal window and one a new one (for your changes to take effect)
62
+ Verify that rbenv is setup properly by running the rbenv-doctor script
63
+ $ If there are no errors you are ready to go. You should see something like the following output,
64
+
65
+ Checking for `rbenv' in PATH: /usr/local/bin/rbenv
66
+ Checking for rbenv shims in PATH: OK
67
+ Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20170523)
68
+ Counting installed Ruby versions: none
69
+ There aren't any Ruby versions installed under `~/.rbenv/versions'.
70
+ You can install Ruby versions like so: rbenv install 2.2.4
71
+ Checking RubyGems settings: OK
72
+ Auditing installed plugins: OK
73
+
74
+ Install Ruby 2.7.0
75
+ Pease run the following command
76
+
77
+ $ rbenv install 2.7.0
78
+
79
+ check to make sure you are on 2.7.0
80
+
81
+ $ ruby --version
82
+
83
+ ## Window
84
+ It is recommended to use Mac os for ruby however you can install ruby with the rubyinstaller
85
+
86
+ $https://rubyinstaller.org/
87
+
88
+ follow the instruction from the website
89
+
90
+ ### Installation
8
91
 
9
92
  Add this line to your application's Gemfile:
10
93
 
@@ -14,15 +97,16 @@ gem 'pings_fast_track_gem'
14
97
 
15
98
  And then execute:
16
99
 
17
- $ bundle install
100
+ $ bundle install pings_fast_track_gem
18
101
 
19
102
  Or install it yourself as:
20
103
 
21
104
  $ gem install pings_fast_track_gem
105
+ $ gem install tty-prompt
106
+ $ gem install pastel
107
+ $ gem install colorize
108
+ $ gem install artii
22
109
 
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
110
 
27
111
  ## Development
28
112
 
data/bin/setup CHANGED
@@ -5,4 +5,4 @@ set -vx
5
5
 
6
6
  bundle install
7
7
 
8
- # Do any other automated setup that you need to do here
8
+ # Do any other automated setup that you need to do here
data/lib/.DS_Store ADDED
Binary file
data/lib/Class.rb ADDED
@@ -0,0 +1,22 @@
1
+ class Employee
2
+ attr_accessor :first_name, :last_name, :age, :gender
3
+ def initialize(f_name, l_name, age, gender)
4
+ @first_name = f_name
5
+ @last_name = l_name
6
+ @age = age
7
+ @gender = gender
8
+ end
9
+ def to_a
10
+ [@first_name, @last_name, @age, @gender]
11
+ end
12
+ end
13
+
14
+ class Shift
15
+ attr_accessor :day, :name, :s_time, :e_time
16
+ def initialize(day, name, s_time, e_time)
17
+ @day = day
18
+ @name = name
19
+ @start_time = s_time
20
+ @end_time = e_time
21
+ end
22
+ end
data/lib/database.csv ADDED
@@ -0,0 +1,16 @@
1
+ First Name,Last Name,Age,Gender
2
+ Serge,Terreu,31,Male
3
+ Rob,Thomas,31,Male
4
+ Jones,Geris,56,Male
5
+ Daniel,Ask,30,Male
6
+ Harrison,Malone,26,Malone
7
+ Justin,Flash,30,Male
8
+ Ed,Deam,31,Male
9
+ Kuan,Lee,28,Male
10
+ Tom,An,23,Male
11
+ James,Bos,18,Female
12
+ Guy,Jones,19,Male
13
+ Jones,Frost,30,Male
14
+ Susu,Fung,26,Female
15
+ Joe,Sam,65,Male
16
+ Ping,Nge,27,Male
data/lib/menu.rb ADDED
@@ -0,0 +1,70 @@
1
+ require 'artii'
2
+ require 'tty-prompt'
3
+ require 'pastel'
4
+ require 'csv'
5
+ require 'colorize'
6
+ require_relative './Class'
7
+ require_relative './methods'
8
+ String.disable_colorization = false
9
+
10
+
11
+ $artii = Artii::Base.new
12
+ $pastel = Pastel.new
13
+
14
+ def read_employee_csv
15
+ csv_text = File.read('./database.csv')
16
+ csv = CSV.parse(csv_text, headers: true)
17
+ csv.map do |employee|
18
+ employee_hash = employee.to_hash
19
+ Employee.new(employee_hash["First Name"], employee_hash["Last Name"], employee_hash["Age"], employee_hash["Gender"])
20
+ end
21
+ end
22
+ def read_shifts_csv
23
+ csv_text = File.read('./shift.csv')
24
+ csv = CSV.parse(csv_text, headers: true)
25
+ csv.map do |shift|
26
+ shift_hash = shift.to_hash
27
+ Shift.new(shift_hash["Day"], shift_hash["Name"], shift_hash["Start Time"], shift_hash["End Time"])
28
+ end
29
+ end
30
+
31
+ def menu(employee, shift)
32
+ prompt = TTY::Prompt.new
33
+ system("clear")
34
+ puts $artii.asciify('Roster App').colorize(:black).colorize( :background => :green)
35
+
36
+ puts "**" * 27
37
+ puts $pastel.bright_red.bold('Welcome to the roster app')
38
+ puts "**" * 27
39
+ loop do
40
+ user_selection = prompt.select('Please select from the following options', active_color: :bright_blue) do |menu|
41
+ menu.choice 'Create New Employee', 1
42
+ menu.choice 'Update Existing Profile', 2
43
+ menu.choice 'Assign Shifts', 3
44
+ menu.choice 'View Employee Profile', 4
45
+ menu.choice 'View Existing Shift', 5
46
+ menu.choice 'Exit Application', 6
47
+ end
48
+
49
+ case user_selection
50
+ when 1
51
+ create_profile
52
+ when 2
53
+ update_profile(employee)
54
+ when 3
55
+ add_shift
56
+ when 4
57
+ pp employee
58
+ when 5
59
+ pp shift
60
+ when 6
61
+ puts "**" * 27
62
+ puts $pastel.bright_red.bold("Thank you for using our service")
63
+ puts "**" * 27
64
+ exit
65
+ end
66
+ end
67
+ end
68
+
69
+
70
+ menu(read_employee_csv, read_shifts_csv)
data/lib/methods.rb ADDED
@@ -0,0 +1,137 @@
1
+ require 'artii'
2
+ require 'tty-prompt'
3
+ require 'pastel'
4
+ require 'csv'
5
+ require 'colorize'
6
+ require_relative './menu'
7
+ String.disable_colorization = false
8
+ $prompt = TTY::Prompt.new(active_color: :bright_red)
9
+
10
+ def create_profile
11
+ system "clear"
12
+ puts $artii.asciify('Create Profile').colorize(:black).colorize( :background => :green)
13
+ puts "**" * 27
14
+ puts $pastel.bright_red.bold('Creating profile')
15
+ puts "**" * 27
16
+ f_name = $prompt.ask("Enter first name:") do |q|
17
+ q.required(true)
18
+ q.validate /\A\w+\Z/
19
+ q.modify :capitalize
20
+ end
21
+
22
+ l_name = $prompt.ask("Enter last name:") do |q|
23
+ q.required(true)
24
+ q.validate /\A\w+\Z/
25
+ q.modify :capitalize
26
+ end
27
+
28
+ age = $prompt.ask("Enter age:")
29
+
30
+ gender = $prompt.ask("Enter gender") do |q|
31
+ q.required(true)
32
+ q.validate /\A\w+\Z/
33
+ q.modify :capitalize
34
+ end
35
+
36
+ CSV.open("./database.csv", "ab") do |csv|
37
+ csv << [f_name, l_name, age, gender]
38
+ end
39
+ end
40
+
41
+ def update_profile(employees)
42
+ system "clear"
43
+ puts $artii.asciify('Update Profile').colorize(:black).colorize( :background => :green)
44
+ puts "**" * 27
45
+ puts $pastel.bright_red.bold('Updating Profile')
46
+ puts "**" * 27
47
+ name_input = $prompt.ask("Which employee profile would you like to update?") do |q|
48
+ q.required(true)
49
+ q.validate /\A\w+\Z/
50
+ q.modify :capitalize
51
+ end
52
+ found = employees.detect do |employee|
53
+ employee.first_name == name_input
54
+ end
55
+
56
+ if found
57
+ selection = $prompt.select('Please select from the following options', active_color: :bright_green) do |menu|
58
+ menu.enum "."
59
+ menu.choice 'Update First Name', 1
60
+ menu.choice 'Update Last Name', 2
61
+ menu.choice 'Update Age', 3
62
+ menu.choice 'Update Gender', 4
63
+ end
64
+ case selection
65
+ when 1
66
+ user_input = $prompt.ask("Enter new first name:") do |q|
67
+ q.required(true)
68
+ q.validate /\A\w+\Z/
69
+ q.messages[:valid?] = 'invalid input'
70
+ q.modify :capitalize
71
+ end
72
+ found.first_name = user_input
73
+ when 2
74
+ user_input = $prompt.ask("Enter new last name:") do |q|
75
+ q.required(true)
76
+ q.validate /\A\w+\Z/
77
+ q.messages[:valid?] = 'invalid input'
78
+ q.modify :capitalize
79
+ end
80
+ found.last_name = user_input
81
+ when 3
82
+ user_input = $prompt.ask("Enter new age:") do |q|
83
+ q.required(true)
84
+ q.validate /\A\w+\Z/
85
+ end
86
+ found.age = user_input
87
+ when 4
88
+ user_input = $prompt.ask("Enter new gender:") do |q|
89
+ q.required(true)
90
+ q.validate /\A\w+\Z/
91
+ q.messages[:valid?] = 'invalid input'
92
+ q.modify :capitalize
93
+ end
94
+ found.gender = user_input
95
+ end
96
+ write_csv(employees)
97
+ else
98
+ puts "employee not found"
99
+ end
100
+ end
101
+
102
+ def write_csv(employees)
103
+ CSV.open "./database.csv", "w" do |file|
104
+ file << ['First Name','Last Name','Age','Gender']
105
+ employees.each do |employee|
106
+ file << employee.to_a
107
+ end
108
+ end
109
+ end
110
+
111
+ def add_shift
112
+ system "clear"
113
+ puts $artii.asciify('Assign Shift').colorize(:black).colorize( :background => :green)
114
+ puts "**" * 27
115
+ puts $pastel.bright_red.bold('Assigning Shift')
116
+ puts "**" * 27
117
+ days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
118
+ day = $prompt.select("Please select a day:", days, filter: true, active_color: :bright_green)
119
+
120
+ name = $prompt.ask('Please input the name of the employee:') do |q|
121
+ q.required(true)
122
+ q.validate /\A\w+\Z/
123
+ q.messages[:valid?] = 'invalid input'
124
+ q.modify :capitalize
125
+ end
126
+
127
+ times = [
128
+ '12:00am', '1:00am', '2:00am', '3:00am', '4:00am', '5:00am', '6:00am', '7:00am', '8:00am', '9:00am', '10:00am', '11:00am', '12:30am', '1:30am', '2:30am', '3:30am', '4:30am', '5:30am', '6:30am', '7:30am', '8:30am', '9:30am', '10:30am', '11:30am', '12:00pm', '1:00pm', '2:00pm', '3:00pm', '4:00pm', '5:00pm', '6:00pm', '7:00pm', '8:00pm', '9:00pm', '10:00pm', '11:00pm', '12:30pm', '1:30pm', '2:30pm', '3:30pm', '4:30pm', '5:30pm', '6:30pm', '7:30pm', '8:30pm', '9:30pm', '10:03pm', '11:30pm'
129
+ ]
130
+ s_time = $prompt.select('Please select start time:', times, filter: true)
131
+
132
+ e_time = $prompt.select('Please select end time:', times, filter: true)
133
+
134
+ CSV.open("./shift.csv", "ab") do |csv|
135
+ csv << [day, name, s_time, e_time]
136
+ end
137
+ end
@@ -1,6 +1,6 @@
1
- require "pings_fast_track_gem/version"
1
+ require_relative "./menu"
2
2
 
3
3
  module PingsFastTrackGem
4
4
  class Error < StandardError; end
5
5
  # Your code goes here...
6
- end
6
+ end
@@ -1,3 +1,5 @@
1
+
1
2
  module PingsFastTrackGem
2
- VERSION = "0.1.0"
3
+ VERSION = "0.1.2"
3
4
  end
5
+
data/lib/shift.csv ADDED
@@ -0,0 +1,13 @@
1
+ Day,Name,Start Time,End Time
2
+ Monday,Ping,9:00am,5:00pm
3
+ Monday,Rob,9:00am,5:00pm
4
+ Tuesday,Josh,9:00am,5:00pm
5
+ Tuesday,Serge,9:00am,5:00pm
6
+ Tuesday,Ping,10:00am,6:00pm
7
+ Wednesday,Rob,12:00pm,8:00am
8
+ Wednesday,Ping,9:00am,5:00pm
9
+ Thursday,Ping,9:00am,5:00pm
10
+ Friday,Ping,9:00am,5:00pm
11
+ Saturday,Ping,9:00am,5:00pm
12
+ Sunday,Ping,9:00am,5:00pm
13
+ Monday,Jo,12:00am,12:00am
@@ -26,4 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.bindir = "exe"
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
- end
29
+ spec.add_dependency 'colorize', '~> 0.8.1'
30
+ spec.add_dependency 'tty-prompt', '~> 0.21.0'
31
+ spec.add_dependency 'artii', '~> 2.1', '>= 2.1.2'
32
+ spec.add_dependency 'pastel', '~> 0.7.3'
33
+ end
metadata CHANGED
@@ -1,15 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pings_fast_track_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - PING NGE
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-10 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colorize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.8.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: tty-prompt
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.21.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.21.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: artii
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.1'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.1.2
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.1'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.1.2
61
+ - !ruby/object:Gem::Dependency
62
+ name: pastel
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 0.7.3
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 0.7.3
13
75
  description: A rostering app
14
76
  email:
15
77
  - ping.nge@hotmail.com
@@ -17,16 +79,24 @@ executables: []
17
79
  extensions: []
18
80
  extra_rdoc_files: []
19
81
  files:
82
+ - ".DS_Store"
20
83
  - ".gitignore"
21
84
  - CODE_OF_CONDUCT.md
22
85
  - Gemfile
86
+ - Gemfile.lock
23
87
  - LICENSE.txt
24
88
  - README.md
25
89
  - Rakefile
26
90
  - bin/console
27
91
  - bin/setup
92
+ - lib/.DS_Store
93
+ - lib/Class.rb
94
+ - lib/database.csv
95
+ - lib/menu.rb
96
+ - lib/methods.rb
28
97
  - lib/pings_fast_track_gem.rb
29
98
  - lib/pings_fast_track_gem/version.rb
99
+ - lib/shift.csv
30
100
  - pings_fast_track_gem.gemspec
31
101
  homepage: https://github.com/ping-n/Fast-track-Gem.git
32
102
  licenses: