viking-pairity 0.1.1

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/tags ADDED
@@ -0,0 +1,121 @@
1
+ !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
2
+ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
3
+ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
4
+ !_TAG_PROGRAM_NAME Exuberant Ctags //
5
+ !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
6
+ !_TAG_PROGRAM_VERSION 5.8 //
7
+ <=> lib/pairity/person.rb /^ def <=>(other_person)$/;" f class:Pairity.Person
8
+ AdjacencyMatrix lib/pairity/adjacency_matrix.rb /^ class AdjacencyMatrix$/;" c class:Pairity
9
+ CLI lib/pairity/cli.rb /^ class CLI$/;" c class:Pairity
10
+ Config lib/pairity/config.rb /^ class Config$/;" c class:Pairity
11
+ Edge lib/pairity/edge.rb /^ class Edge$/;" c class:Pairity
12
+ GoogleSync lib/pairity/google_sync.rb /^ class GoogleSync$/;" c class:Pairity
13
+ PairGenerator lib/pairity/pair_generator.rb /^ class PairGenerator$/;" c class:Pairity
14
+ PairRenderer lib/pairity/pair_stats.rb /^ class PairRenderer$/;" c class:Pairity
15
+ PairSaver lib/pairity/pair_saver.rb /^ class PairSaver$/;" c class:Pairity
16
+ Pairity lib/pairity.rb /^module Pairity$/;" m
17
+ Pairity lib/pairity/adjacency_matrix.rb /^module Pairity$/;" m
18
+ Pairity lib/pairity/cli.rb /^module Pairity$/;" m
19
+ Pairity lib/pairity/config.rb /^module Pairity$/;" m
20
+ Pairity lib/pairity/edge.rb /^module Pairity$/;" m
21
+ Pairity lib/pairity/google_sync.rb /^module Pairity$/;" m
22
+ Pairity lib/pairity/pair_generator.rb /^module Pairity$/;" m
23
+ Pairity lib/pairity/pair_saver.rb /^module Pairity$/;" m
24
+ Pairity lib/pairity/pair_stats.rb /^module Pairity$/;" m
25
+ Pairity lib/pairity/person.rb /^module Pairity$/;" m
26
+ Pairity lib/pairity/slackbot.rb /^module Pairity$/;" m
27
+ Pairity lib/pairity/version.rb /^module Pairity$/;" m
28
+ Person lib/pairity/person.rb /^ class Person$/;" c class:Pairity
29
+ Slackbot lib/pairity/slackbot.rb /^ class Slackbot$/;" c class:Pairity
30
+ [] lib/pairity/adjacency_matrix.rb /^ def [](*args)$/;" f class:Pairity.AdjacencyMatrix
31
+ []= lib/pairity/adjacency_matrix.rb /^ def []=(*args, edge)$/;" f class:Pairity.AdjacencyMatrix
32
+ abolish_pairing lib/pairity/pair_generator.rb /^ def abolish_pairing(person1, person2)$/;" f class:Pairity.PairGenerator
33
+ action_menu lib/pairity/cli.rb /^ def action_menu$/;" f class:Pairity.CLI
34
+ add lib/pairity/config.rb /^ def self.add(options={})$/;" F class:Pairity.Config
35
+ add_day_to_pair lib/pairity/adjacency_matrix.rb /^ def add_day_to_pair(pair)$/;" f class:Pairity.AdjacencyMatrix
36
+ add_option lib/pairity/config.rb /^ def self.add_option(key, value)$/;" F class:Pairity.Config
37
+ add_people lib/pairity/cli.rb /^ def add_people$/;" f
38
+ add_person lib/pairity/adjacency_matrix.rb /^ def add_person(new_person)$/;" f class:Pairity.AdjacencyMatrix
39
+ add_weight_to_pair lib/pairity/adjacency_matrix.rb /^ def add_weight_to_pair(weight, pair)$/;" f class:Pairity.AdjacencyMatrix
40
+ all_combos lib/pairity/cli.rb /^ def all_combos$/;" f
41
+ all_people lib/pairity/adjacency_matrix.rb /^ def all_people$/;" f class:Pairity.AdjacencyMatrix
42
+ average_days lib/pairity/adjacency_matrix.rb /^ def average_days$/;" f class:Pairity.AdjacencyMatrix
43
+ average_weight lib/pairity/adjacency_matrix.rb /^ def average_weight$/;" f class:Pairity.AdjacencyMatrix
44
+ change_channel lib/pairity/cli.rb /^ def change_channel$/;" f class:Pairity
45
+ change_tier lib/pairity/cli.rb /^ def change_tier$/;" f class:Pairity
46
+ choose_from_generated_pair lib/pairity/cli.rb /^ def choose_from_generated_pair$/;" f
47
+ choose_pair lib/pairity/cli.rb /^ def choose_pair$/;" f
48
+ choose_person lib/pairity/cli.rb /^ def choose_person(tier: false)$/;" f
49
+ clear_worksheet lib/pairity/google_sync.rb /^ def clear_worksheet(ws)$/;" f class:Pairity.GoogleSync
50
+ condemn_pair lib/pairity/cli.rb /^ def condemn_pair(pair)$/;" f
51
+ config lib/pairity/config.rb /^ def self.config$/;" F class:Pairity.Config
52
+ configured lib/pairity/config.rb /^ def self.configured?$/;" F class:Pairity.Config
53
+ days_for_pair lib/pairity/pair_generator.rb /^ def days_for_pair(person1, person2)$/;" f class:Pairity.PairGenerator
54
+ decrease_chance lib/pairity/cli.rb /^ def decrease_chance(pair)$/;" f
55
+ defaults lib/pairity/config.rb /^ def self.defaults$/;" F class:Pairity.Config
56
+ display lib/pairity/config.rb /^ def self.display$/;" F class:Pairity.Config
57
+ display_pair lib/pairity/cli.rb /^ def display_pair(rows, person1, person2)$/;" f
58
+ display_pair_names lib/pairity/cli.rb /^ def display_pair_names(pair)$/;" f
59
+ display_pair_stats lib/pairity/cli.rb /^ def display_pair_stats$/;" f
60
+ display_pairs lib/pairity/cli.rb /^ def display_pairs$/;" f
61
+ display_person lib/pairity/cli.rb /^ def display_person(person, tier: false)$/;" f
62
+ edit_edge lib/pairity/google_sync.rb /^ def edit_edge(p1, p2, data, i)$/;" f class:Pairity.GoogleSync
63
+ edit_pair lib/pairity/cli.rb /^ def edit_pair$/;" f
64
+ edit_people lib/pairity/cli.rb /^ def edit_people$/;" f class:Pairity
65
+ equilibrium lib/pairity/pair_generator.rb /^ def equilibrium$/;" f class:Pairity.PairGenerator
66
+ find_person lib/pairity/adjacency_matrix.rb /^ def find_person(id)$/;" f class:Pairity.AdjacencyMatrix
67
+ find_person lib/pairity/google_sync.rb /^ def find_person(name)$/;" f class:Pairity.GoogleSync
68
+ generate_pairs lib/pairity/cli.rb /^ def generate_pairs$/;" f
69
+ generate_pairs lib/pairity/pair_generator.rb /^ def generate_pairs$/;" f class:Pairity.PairGenerator
70
+ get lib/pairity/config.rb /^ def self.get(key)$/;" F class:Pairity.Config
71
+ get_pairs lib/pairity/adjacency_matrix.rb /^ def get_pairs(pairs, first)$/;" f class:Pairity.AdjacencyMatrix
72
+ include? lib/pairity/pair_generator.rb /^ def include?(person1, person2)$/;" f class:Pairity.PairGenerator
73
+ increase_chance lib/pairity/cli.rb /^ def increase_chance(pair)$/;" f
74
+ initialize lib/pairity/adjacency_matrix.rb /^ def initialize$/;" f class:Pairity.AdjacencyMatrix
75
+ initialize lib/pairity/cli.rb /^ def initialize$/;" f class:Pairity.CLI
76
+ initialize lib/pairity/edge.rb /^ def initialize(weight: 0, days: 0, resistance: 1)$/;" f class:Pairity.Edge
77
+ initialize lib/pairity/google_sync.rb /^ def initialize(matrix)$/;" f class:Pairity.GoogleSync
78
+ initialize lib/pairity/pair_generator.rb /^ def initialize(matrix)$/;" f class:Pairity.PairGenerator
79
+ initialize lib/pairity/pair_saver.rb /^ def initialize(pairs)$/;" f class:Pairity.PairSaver
80
+ initialize lib/pairity/pair_stats.rb /^ def initialize(matrix)$/;" f class:Pairity.PairRenderer
81
+ initialize lib/pairity/person.rb /^ def initialize(name:, tier: 2)$/;" f class:Pairity.Person
82
+ initialize lib/pairity/slackbot.rb /^ def initialize$/;" f class:Pairity.Slackbot
83
+ load lib/pairity/config.rb /^ def self.load$/;" F class:Pairity.Config
84
+ load lib/pairity/google_sync.rb /^ def load$/;" f class:Pairity.GoogleSync
85
+ load_google lib/pairity/cli.rb /^ def load_google$/;" f
86
+ matrix lib/pairity/adjacency_matrix.rb /^ def matrix(solo = false)$/;" f class:Pairity.AdjacencyMatrix
87
+ move_solo_to_the_end lib/pairity/pair_generator.rb /^ def move_solo_to_the_end$/;" f class:Pairity.PairGenerator
88
+ nope lib/pairity/pair_generator.rb /^ def nope(p1,p2)$/;" f class:Pairity.PairGenerator
89
+ nope_pair lib/pairity/cli.rb /^ def nope_pair$/;" f
90
+ open_google_sheet lib/pairity/cli.rb /^ def open_google_sheet$/;" f class:Pairity.CLI
91
+ optimal_pairs lib/pairity/adjacency_matrix.rb /^ def optimal_pairs(nopes)$/;" f class:Pairity.AdjacencyMatrix
92
+ pairs_menu lib/pairity/cli.rb /^ def pairs_menu$/;" f
93
+ people lib/pairity/adjacency_matrix.rb /^ def people(solo = false)$/;" f class:Pairity.AdjacencyMatrix
94
+ possible_pairs lib/pairity/pair_generator.rb /^ def possible_pairs$/;" f class:Pairity.PairGenerator
95
+ post lib/pairity/slackbot.rb /^ def post(message)$/;" f class:Pairity.Slackbot
96
+ post_to_slack lib/pairity/pair_saver.rb /^ def post_to_slack$/;" f class:Pairity.PairSaver
97
+ remove_people lib/pairity/cli.rb /^ def remove_people$/;" f class:Pairity
98
+ remove_person lib/pairity/adjacency_matrix.rb /^ def remove_person(person)$/;" f class:Pairity.AdjacencyMatrix
99
+ rename lib/pairity/cli.rb /^ def rename$/;" f class:Pairity
100
+ resistance lib/pairity/adjacency_matrix.rb /^ def resistance(weight, pair)$/;" f class:Pairity.AdjacencyMatrix
101
+ resistance lib/pairity/pair_generator.rb /^ def resistance(person1, person2, resistance)$/;" f class:Pairity.PairGenerator
102
+ revert lib/pairity/pair_generator.rb /^ def revert$/;" f class:Pairity.PairGenerator
103
+ save lib/pairity/config.rb /^ def self.save$/;" F class:Pairity.Config
104
+ save lib/pairity/google_sync.rb /^ def save$/;" f class:Pairity.GoogleSync
105
+ save_changes lib/pairity/cli.rb /^ def save_changes$/;" f class:Pairity
106
+ save_pairs lib/pairity/cli.rb /^ def save_pairs$/;" f
107
+ save_pairs lib/pairity/pair_generator.rb /^ def save_pairs$/;" f class:Pairity.PairGenerator
108
+ set_ids lib/pairity/adjacency_matrix.rb /^ def set_ids(persons)$/;" f class:Pairity.AdjacencyMatrix
109
+ shuffle lib/pairity/pair_generator.rb /^ def self.shuffle=(toggle)$/;" F class:Pairity.PairGenerator
110
+ simulate_pairings spec/pairity/pair_generator_spec.rb /^def simulate_pairings(generator, days)$/;" f
111
+ simulate_pairs lib/pairity/cli.rb /^ def simulate_pairs$/;" f
112
+ slack_channel lib/pairity/slackbot.rb /^ def slack_channel$/;" f class:Pairity.Slackbot
113
+ slack_config lib/pairity/cli.rb /^ def slack_config$/;" f class:Pairity.CLI
114
+ start lib/pairity/cli.rb /^ def start$/;" f class:Pairity.CLI
115
+ stats_for_pair lib/pairity/pair_stats.rb /^ def stats_for_pair(person1, person2)$/;" f class:Pairity.PairRenderer
116
+ to_s lib/pairity/adjacency_matrix.rb /^ def to_s$/;" f class:Pairity.AdjacencyMatrix
117
+ to_s lib/pairity/edge.rb /^ def to_s$/;" f class:Pairity.Edge
118
+ to_s lib/pairity/person.rb /^ def to_s$/;" f class:Pairity.Person
119
+ weight_for_pair lib/pairity/adjacency_matrix.rb /^ def weight_for_pair(pair)$/;" f class:Pairity.AdjacencyMatrix
120
+ weight_for_pairs lib/pairity/adjacency_matrix.rb /^ def weight_for_pairs(pairs)$/;" f class:Pairity.AdjacencyMatrix
121
+ without_solo lib/pairity/adjacency_matrix.rb /^ def without_solo$/;" f class:Pairity.AdjacencyMatrix
data/test.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'graph_matching'
2
+
3
+ g = GraphMatching::Graph::WeightedGraph[
4
+ [1, 2, 10],
5
+ [3, 2, 11],
6
+ [1, 4, 11],
7
+ [4, 5, 11]
8
+ ]
9
+ m = g.maximum_weighted_matching(false)
10
+ p m.edges
11
+ p m.weight(g)
data/todays_pairs.txt ADDED
@@ -0,0 +1,7 @@
1
+ +---------+--------+-----------+
2
+ | Room | Driver | Navigator |
3
+ +---------+--------+-----------+
4
+ | Room #0 | Barack | Kit |
5
+ | Room #1 | Deepa | Forest |
6
+ | Room #2 | Erik | Xena |
7
+ +---------+--------+-----------+
metadata ADDED
@@ -0,0 +1,271 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: viking-pairity
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Kit Langton
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-07-01 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: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard-rspec
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: byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
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: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
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: highline
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: rainbow
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: google_drive
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
+ - !ruby/object:Gem::Dependency
140
+ name: google-api-client
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.8.6
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.8.6
153
+ - !ruby/object:Gem::Dependency
154
+ name: terminal-table
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: ruby-progressbar
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: slack-poster
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: graph_matching
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ description: A fair and balanced gem for pair rotation.
210
+ email:
211
+ - kitlangton@gmail.com
212
+ executables:
213
+ - pairity
214
+ extensions: []
215
+ extra_rdoc_files: []
216
+ files:
217
+ - ".byebug_history"
218
+ - ".gitignore"
219
+ - ".rspec"
220
+ - ".travis.yml"
221
+ - CODE_OF_CONDUCT.md
222
+ - Gemfile
223
+ - Guardfile
224
+ - LICENSE.txt
225
+ - README.md
226
+ - Rakefile
227
+ - bin/console
228
+ - bin/setup
229
+ - exe/pairity
230
+ - lib/pairity.rb
231
+ - lib/pairity/adjacency_matrix.rb
232
+ - lib/pairity/cli.rb
233
+ - lib/pairity/config.rb
234
+ - lib/pairity/edge.rb
235
+ - lib/pairity/google_sync.rb
236
+ - lib/pairity/pair_generator.rb
237
+ - lib/pairity/pair_saver.rb
238
+ - lib/pairity/pair_stats.rb
239
+ - lib/pairity/person.rb
240
+ - lib/pairity/slackbot.rb
241
+ - lib/pairity/version.rb
242
+ - pairity.gemspec
243
+ - tags
244
+ - test.rb
245
+ - todays_pairs.txt
246
+ homepage: https://github.com/kitlangton/pairity
247
+ licenses:
248
+ - MIT
249
+ metadata:
250
+ allowed_push_host: https://rubygems.org
251
+ post_install_message:
252
+ rdoc_options: []
253
+ require_paths:
254
+ - lib
255
+ required_ruby_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: '0'
260
+ required_rubygems_version: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ requirements: []
266
+ rubyforge_project:
267
+ rubygems_version: 2.5.1
268
+ signing_key:
269
+ specification_version: 4
270
+ summary: A fair and balanced gem for pair rotation.
271
+ test_files: []