jiraquest 0.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.
- checksums.yaml +7 -0
- data/.gitignore +52 -0
- data/.rspec +3 -0
- data/.rubocop.yml +19 -0
- data/.rubocop_todo.yml +8 -0
- data/.rubosync.yml +2 -0
- data/.travis.yml +27 -0
- data/CODE_OF_CONDUCT.md +46 -0
- data/CONTRIBUTING.md +50 -0
- data/Gemfile +9 -0
- data/LICENSE +165 -0
- data/README.md +51 -0
- data/Rakefile +17 -0
- data/assets/fonts/big.flf +2204 -0
- data/bin/jiraquest +4 -0
- data/jiraquest.gemspec +35 -0
- data/lib/jiraquest.rb +12 -0
- data/lib/jiraquest/distractions/activities.rb +161 -0
- data/lib/jiraquest/distractions/distractions.rb +4 -0
- data/lib/jiraquest/distractions/notifications.rb +55 -0
- data/lib/jiraquest/quests/button.rb +38 -0
- data/lib/jiraquest/quests/quests.rb +33 -0
- data/lib/jiraquest/quests/setup.rb +28 -0
- data/lib/jiraquest/version.rb +5 -0
- data/lib/utils/assetloader.rb +7 -0
- data/lib/utils/date/date.rb +28 -0
- data/lib/utils/game/achievements.rb +37 -0
- data/lib/utils/game/game.rb +6 -0
- data/lib/utils/game/login.rb +86 -0
- data/lib/utils/game/morale.rb +35 -0
- data/lib/utils/game/score.rb +53 -0
- data/lib/utils/prompts/figlet.rb +30 -0
- data/lib/utils/prompts/prompts.rb +6 -0
- data/lib/utils/prompts/reporter.rb +37 -0
- data/lib/utils/prompts/system.rb +65 -0
- data/lib/utils/prompts/terminal.rb +70 -0
- data/lib/utils/user/user.rb +35 -0
- data/lib/utils/utils.rb +7 -0
- metadata +208 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yaml/store'
|
4
|
+
require_relative '../utils'
|
5
|
+
|
6
|
+
# Logs in users
|
7
|
+
class Login
|
8
|
+
def initialize
|
9
|
+
@store = DATA
|
10
|
+
@user = @store.transaction { @store[:user] }
|
11
|
+
end
|
12
|
+
|
13
|
+
# simple method to return the username only for other methods
|
14
|
+
def current_user
|
15
|
+
@user
|
16
|
+
end
|
17
|
+
|
18
|
+
# Report who is logged in
|
19
|
+
def user_message
|
20
|
+
puts "Logged in as #{@user}"
|
21
|
+
end
|
22
|
+
|
23
|
+
# If there a user exists, ask to resume
|
24
|
+
def login
|
25
|
+
if @user
|
26
|
+
resume
|
27
|
+
else
|
28
|
+
create_user
|
29
|
+
end
|
30
|
+
Achievement.new.employee_otm
|
31
|
+
end
|
32
|
+
|
33
|
+
# Ask to resume, if not, ask to delete user
|
34
|
+
def resume
|
35
|
+
if Prompter.new.resume(@user)
|
36
|
+
user_message
|
37
|
+
else
|
38
|
+
delete_user?
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def create_user
|
43
|
+
@store.transaction do
|
44
|
+
store = @store
|
45
|
+
@user = Prompter.new.user
|
46
|
+
store[:user] = @user
|
47
|
+
end
|
48
|
+
reset_data
|
49
|
+
end
|
50
|
+
|
51
|
+
def reset_data
|
52
|
+
Score.new.reset_score
|
53
|
+
Morale.new.reset_morale
|
54
|
+
reset_list(Achievement.new.list, 'achievements')
|
55
|
+
reset_list(Activity.new.list, 'distractions')
|
56
|
+
reset_list(Activity.new.list, 'warnings')
|
57
|
+
reset_list(Notifications.new.list, 'notifications')
|
58
|
+
reset_list(Quests.new.list, 'quests')
|
59
|
+
end
|
60
|
+
|
61
|
+
def reset_list(data, type)
|
62
|
+
@list = Array.new(data.length, {})
|
63
|
+
data.each_with_index do |activity, i|
|
64
|
+
@list[i][activity] = 0
|
65
|
+
end
|
66
|
+
@list.uniq!
|
67
|
+
@store.transaction do
|
68
|
+
store = @store
|
69
|
+
store[type] = @list[0]
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Ask if really sure to delete user
|
74
|
+
def delete_user?
|
75
|
+
return false unless Prompter.new.delete(@user)
|
76
|
+
puts "\n❌ DELETING user #{@user}! This action cannot be undone\n"
|
77
|
+
return false unless Prompter.new.really_sure?
|
78
|
+
@store.transaction do
|
79
|
+
store = @store
|
80
|
+
store.delete(:user)
|
81
|
+
end
|
82
|
+
reset_data
|
83
|
+
puts "❌ Deleted user #{@user}"
|
84
|
+
create_user
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yaml/store'
|
4
|
+
require_relative '../utils'
|
5
|
+
|
6
|
+
# Keeps track of users score
|
7
|
+
class Morale
|
8
|
+
def initialize
|
9
|
+
@store = DATA
|
10
|
+
@morale = @store.transaction { @store[:morale] }
|
11
|
+
end
|
12
|
+
|
13
|
+
def report_morale
|
14
|
+
puts "Your morale level is #{@morale}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def reset_morale
|
18
|
+
@store.transaction do
|
19
|
+
store = @store
|
20
|
+
store[:morale] = 0
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def update_morale(number)
|
25
|
+
@store.transaction do
|
26
|
+
store = @store
|
27
|
+
store[:morale] += number
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def update_and_print(number)
|
32
|
+
update_morale(number)
|
33
|
+
report_morale
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yaml/store'
|
4
|
+
require_relative '../utils'
|
5
|
+
|
6
|
+
# Keeps track of users score
|
7
|
+
class Score
|
8
|
+
def initialize
|
9
|
+
@store = DATA
|
10
|
+
@score = @store.transaction { @store[:score] }
|
11
|
+
end
|
12
|
+
|
13
|
+
# jiraS ==========================
|
14
|
+
def report_score
|
15
|
+
puts "You have #{@score} jiras"
|
16
|
+
end
|
17
|
+
|
18
|
+
def reset_score
|
19
|
+
@store.transaction do
|
20
|
+
store = @store
|
21
|
+
store[:score] = 0
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def update_points(number)
|
26
|
+
@store.transaction do
|
27
|
+
store = @store
|
28
|
+
store[:score] += number
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def update_and_print(number)
|
33
|
+
update_points(number)
|
34
|
+
report_score
|
35
|
+
end
|
36
|
+
|
37
|
+
# QUESTS ==========================
|
38
|
+
def report_quests
|
39
|
+
puts "You have completed #{@quests} Quests"
|
40
|
+
end
|
41
|
+
|
42
|
+
def update_quests(quest)
|
43
|
+
@store.transaction do
|
44
|
+
store = @store
|
45
|
+
store['quests'][quest.to_s] = 'DONE'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def update_quests_and_print(number)
|
50
|
+
update_quests(number)
|
51
|
+
report_quests
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'figlet'
|
4
|
+
require 'yaml/store'
|
5
|
+
|
6
|
+
# Some ultra cool figlets
|
7
|
+
class Fig
|
8
|
+
def initialize
|
9
|
+
@store = DATA
|
10
|
+
@font = FIGLET
|
11
|
+
@figlet = Figlet::Typesetter.new(@font)
|
12
|
+
@user = @store.transaction { @store[:user] }
|
13
|
+
end
|
14
|
+
|
15
|
+
def jiraquest
|
16
|
+
puts @figlet['jiraquest 2018!']
|
17
|
+
end
|
18
|
+
|
19
|
+
def user
|
20
|
+
puts @figlet[@user.to_s]
|
21
|
+
end
|
22
|
+
|
23
|
+
def jira_user
|
24
|
+
puts @figlet["#{@user} jiraquest"]
|
25
|
+
end
|
26
|
+
|
27
|
+
def user_message(message)
|
28
|
+
puts @figlet["#{@user} #{message}"]
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'figlet'
|
4
|
+
require_relative '../game/game'
|
5
|
+
|
6
|
+
# Simple Console Reporting or usage instructions
|
7
|
+
class Reporter
|
8
|
+
def initialize
|
9
|
+
@pastel = Pastel.new
|
10
|
+
@prompt = TTY::Prompt.new
|
11
|
+
format = "[#{@pastel.yellow(':spinner')}] " + @pastel.yellow('jiraing...')
|
12
|
+
@spinner = TTY::Spinner.new(format, success_mark: @pastel.green('+'))
|
13
|
+
end
|
14
|
+
|
15
|
+
def welcome
|
16
|
+
Fig.new.jiraquest
|
17
|
+
success("🤖 Welcome to jiraquest, #{Login.new.current_user}!")
|
18
|
+
end
|
19
|
+
|
20
|
+
def success(message)
|
21
|
+
@spinner.success(@pastel.green(message))
|
22
|
+
end
|
23
|
+
|
24
|
+
def timed_success(message, seconds)
|
25
|
+
@spinner.auto_spin
|
26
|
+
sleep seconds
|
27
|
+
success("✅ #{message}\n")
|
28
|
+
end
|
29
|
+
|
30
|
+
def quest_complete(quest)
|
31
|
+
Fig.new.user_message('jirad HARD')
|
32
|
+
sleep 3
|
33
|
+
system 'clear'
|
34
|
+
success("Congratulations! You completed the #{quest} Quest!")
|
35
|
+
Score.new.update_quests(quest)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'terminal'
|
4
|
+
require_relative '../../jiraquest/distractions/activities'
|
5
|
+
require 'tty-prompt'
|
6
|
+
require 'ruby-progressbar'
|
7
|
+
require 'timeout'
|
8
|
+
|
9
|
+
# Simple User Prompts
|
10
|
+
class System
|
11
|
+
def initialize
|
12
|
+
@prompt = TTY::Prompt.new
|
13
|
+
end
|
14
|
+
|
15
|
+
def vpn
|
16
|
+
Terminal.new.two_factor
|
17
|
+
Terminal.new.r_progress(100)
|
18
|
+
Reporter.new.success('Jacked into the network.')
|
19
|
+
end
|
20
|
+
|
21
|
+
def boot
|
22
|
+
Activity.new.boot_warning
|
23
|
+
if @prompt.yes?('Would you like to boot up your work machine?')
|
24
|
+
Reporter.new.timed_success('Booted Up!', 3)
|
25
|
+
true
|
26
|
+
else
|
27
|
+
Activity.new.choose
|
28
|
+
boot
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def stress_vpn
|
33
|
+
Timeout.timeout(1) do
|
34
|
+
vpn
|
35
|
+
end
|
36
|
+
rescue Timeout::Error
|
37
|
+
@prompt.warn('The 2FA timed out, TYPE FASTER')
|
38
|
+
vpn
|
39
|
+
end
|
40
|
+
|
41
|
+
def vpn_expired
|
42
|
+
@prompt.error("\nYou return to your machine to find your VPN session has expired!")
|
43
|
+
Terminal.new.two_factor
|
44
|
+
Terminal.new.r_progress(100)
|
45
|
+
end
|
46
|
+
|
47
|
+
def ide_update
|
48
|
+
@prompt.warn("\nThere is an IDE update")
|
49
|
+
ide_distractions until @prompt.yes?('Do you update your IDE now?')
|
50
|
+
updating
|
51
|
+
end
|
52
|
+
|
53
|
+
def ide_distractions
|
54
|
+
Activity.new.choose
|
55
|
+
Activity.new.warning
|
56
|
+
vpn_expired
|
57
|
+
Notifications.new.reddit
|
58
|
+
Notifications.new.warning
|
59
|
+
end
|
60
|
+
|
61
|
+
def updating
|
62
|
+
puts 'Updating IDE'
|
63
|
+
Terminal.new.amazing_update
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'ruby-progressbar'
|
4
|
+
|
5
|
+
# Simple User Prompts
|
6
|
+
class Terminal
|
7
|
+
def initialize
|
8
|
+
form = "\e[0;34m%t: |%B|\e[0m"
|
9
|
+
@pbar = ProgressBar.create(length: 80, smoothing: 0.3, format: form)
|
10
|
+
@prompt = TTY::Prompt.new
|
11
|
+
end
|
12
|
+
|
13
|
+
# Creates a progress bar with random increments of time
|
14
|
+
# can be called with an overriding default title
|
15
|
+
#
|
16
|
+
# Example:
|
17
|
+
# Terminal.new.r_progress(10, 'Downloading')
|
18
|
+
# Terminal.new.r_progress(200, 'Deleting...')
|
19
|
+
#
|
20
|
+
def r_progress(duration, title = 'Connecting')
|
21
|
+
@pbar.title = title
|
22
|
+
100.times do
|
23
|
+
@pbar.increment
|
24
|
+
sleep 0.001 * rand(1..duration)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# A progress bar with linear increments
|
29
|
+
# can be called with an overriding default title
|
30
|
+
#
|
31
|
+
# Example:
|
32
|
+
# Terminal.new.progress('Downloading')
|
33
|
+
#
|
34
|
+
def progress(title = 'Connecting')
|
35
|
+
@pbar.title = title
|
36
|
+
100.times do
|
37
|
+
@pbar.increment
|
38
|
+
sleep 0.01
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Use this for the amazing_update to change titles every n number steps
|
43
|
+
def steps_message(steps, title = 'Connecting')
|
44
|
+
steps.times do
|
45
|
+
@pbar.title = title
|
46
|
+
@pbar.increment
|
47
|
+
sleep 0.01 * rand(1..20)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# rubocop:disable Lint/UselessAssignment
|
52
|
+
def amazing_update(_title = 'Connecting')
|
53
|
+
steps_message(10)
|
54
|
+
steps_message(10, title = 'Contacting Software Sites')
|
55
|
+
steps_message(20, title = 'Indexing jiras')
|
56
|
+
steps_message(10, title = 'Validating Checksums')
|
57
|
+
steps_message(30, title = 'Checking Type Safety')
|
58
|
+
steps_message(10, title = 'Deleting Previous Work')
|
59
|
+
steps_message(10, title = 'Installing')
|
60
|
+
end
|
61
|
+
# rubocop:enable Lint/UselessAssignment
|
62
|
+
|
63
|
+
# rubocop:disable Lint/AmbiguousRegexpLiteral
|
64
|
+
def two_factor
|
65
|
+
@prompt.mask('Please enter your VPNs 2FA PIN:') do |q|
|
66
|
+
q.validate /^\d{6}$/, 'Must be a six digit PIN!'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
# rubocop:enable Lint/AmbiguousRegexpLiteral
|
70
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'tty-prompt'
|
4
|
+
|
5
|
+
# Simple User Prompts
|
6
|
+
class Prompter
|
7
|
+
def initialize
|
8
|
+
@prompt = TTY::Prompt.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def confirm
|
12
|
+
exit unless @prompt.yes?('Ready to rock, Y/N?')
|
13
|
+
system 'clear'
|
14
|
+
end
|
15
|
+
|
16
|
+
def really_sure?
|
17
|
+
@prompt.yes?('Are you totally sure, Y/N?')
|
18
|
+
end
|
19
|
+
|
20
|
+
def user
|
21
|
+
@prompt.ask('Please enter your username:')
|
22
|
+
end
|
23
|
+
|
24
|
+
def create_user?
|
25
|
+
@prompt.yes?('Create a new jiraQuest user?')
|
26
|
+
end
|
27
|
+
|
28
|
+
def resume(user)
|
29
|
+
@prompt.yes?("Would you like to resume jiraQuest as #{user}?")
|
30
|
+
end
|
31
|
+
|
32
|
+
def delete(user)
|
33
|
+
@prompt.yes?("Would you like to delete the data for #{user}?")
|
34
|
+
end
|
35
|
+
end
|
data/lib/utils/utils.rb
ADDED
metadata
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jiraquest
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- tcob
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-05-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: figlet
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pastel
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: ruby-progressbar
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: tty-prompt
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: tty-spinner
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
description:
|
140
|
+
email:
|
141
|
+
- briantcob@gmail.com
|
142
|
+
executables:
|
143
|
+
- jiraquest
|
144
|
+
extensions: []
|
145
|
+
extra_rdoc_files: []
|
146
|
+
files:
|
147
|
+
- ".gitignore"
|
148
|
+
- ".rspec"
|
149
|
+
- ".rubocop.yml"
|
150
|
+
- ".rubocop_todo.yml"
|
151
|
+
- ".rubosync.yml"
|
152
|
+
- ".travis.yml"
|
153
|
+
- CODE_OF_CONDUCT.md
|
154
|
+
- CONTRIBUTING.md
|
155
|
+
- Gemfile
|
156
|
+
- LICENSE
|
157
|
+
- README.md
|
158
|
+
- Rakefile
|
159
|
+
- assets/fonts/big.flf
|
160
|
+
- bin/jiraquest
|
161
|
+
- jiraquest.gemspec
|
162
|
+
- lib/jiraquest.rb
|
163
|
+
- lib/jiraquest/distractions/activities.rb
|
164
|
+
- lib/jiraquest/distractions/distractions.rb
|
165
|
+
- lib/jiraquest/distractions/notifications.rb
|
166
|
+
- lib/jiraquest/quests/button.rb
|
167
|
+
- lib/jiraquest/quests/quests.rb
|
168
|
+
- lib/jiraquest/quests/setup.rb
|
169
|
+
- lib/jiraquest/version.rb
|
170
|
+
- lib/utils/assetloader.rb
|
171
|
+
- lib/utils/date/date.rb
|
172
|
+
- lib/utils/game/achievements.rb
|
173
|
+
- lib/utils/game/game.rb
|
174
|
+
- lib/utils/game/login.rb
|
175
|
+
- lib/utils/game/morale.rb
|
176
|
+
- lib/utils/game/score.rb
|
177
|
+
- lib/utils/prompts/figlet.rb
|
178
|
+
- lib/utils/prompts/prompts.rb
|
179
|
+
- lib/utils/prompts/reporter.rb
|
180
|
+
- lib/utils/prompts/system.rb
|
181
|
+
- lib/utils/prompts/terminal.rb
|
182
|
+
- lib/utils/user/user.rb
|
183
|
+
- lib/utils/utils.rb
|
184
|
+
homepage: https://github.com/tcob/jiraquest
|
185
|
+
licenses:
|
186
|
+
- MIT
|
187
|
+
metadata: {}
|
188
|
+
post_install_message:
|
189
|
+
rdoc_options: []
|
190
|
+
require_paths:
|
191
|
+
- lib
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
requirements: []
|
203
|
+
rubyforge_project:
|
204
|
+
rubygems_version: 2.7.7
|
205
|
+
signing_key:
|
206
|
+
specification_version: 4
|
207
|
+
summary: Immersive jiraquest Text-based adventure game.
|
208
|
+
test_files: []
|