fretboard 1.5.0 → 1.5.1

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: e986ef81e9af0a26b46ff706a6cd63cb4b9f9635eb61fe4a52c0b4e2056d2d63
4
- data.tar.gz: 07b4ef762cc5b654cae33669c91a9f96c32e2b1bc1e068328600ff2eefa874c4
3
+ metadata.gz: 032557dece35cf1703114d36c92d5c5cd24bff99f3b359423559503630dcd5f6
4
+ data.tar.gz: 622a072b59c2d7f0e232e20032bd454651ffe89a25f5c0efb1686372c9416873
5
5
  SHA512:
6
- metadata.gz: c6fcfc957583acdc5208c9e1cb44d2ed4f1d3e0ea28399a55890388a772cca48cd6ef3a90ac27ff130e784de41cae9ab90a5b4085f6bce0b2c1346d25c18bf4f
7
- data.tar.gz: dceda2b4fa1cc80172c4f5ee060cd8d849613b5fd7c9bd676152e5ebf01f56639bb4b7e44f00aa78bd0879bb327b111cb671e15cdbdc6493b8be6398242fe785
6
+ metadata.gz: 37ef216fad26e45060ac600273bc4a078fa677b13231b8aed014814c27bfbad5e15543136593823ab0e2262ee366ab958e982cefb0bfc88e8b3a8fa6294c3a71
7
+ data.tar.gz: 5744d31b2ab94f6307d42e02362c40288744780cd1056fcc1837bbd1225205a8c3bf191beb1f7b88d36c4897d5c1941764a4f790b756fd2e3234c08af495d46a
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Fretboard for Guitar
1
+ # Fretboard
2
2
 
3
3
  Tools for working with the guitar fretboard.
4
4
 
@@ -7,7 +7,7 @@ Tools for working with the guitar fretboard.
7
7
  ## Installation
8
8
 
9
9
  ```ruby
10
- gem 'fretboard'
10
+ gem "fretboard"
11
11
  ```
12
12
 
13
13
  ## Using
@@ -78,7 +78,7 @@ bundle exec fretboard --draw-tuning standard
78
78
  ```
79
79
  </details>
80
80
 
81
- #### Getting a list of supported guitar tunings.
81
+ #### Getting a list of supported guitar tunings
82
82
 
83
83
  ```
84
84
  bundle exec fretboard --draw-tuning standard
data/bin/fretboard CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- abort 'Please run fretboard from the root of the project' unless File.exist?('./Gemfile')
4
+ abort "Please run fretboard from the root of the project" unless File.exist?("./Gemfile")
5
5
 
6
- require 'rubygems'
6
+ require "rubygems"
7
7
 
8
8
  begin
9
- require 'bundler'
9
+ require "bundler"
10
10
  Bundler.setup
11
11
  rescue StandardError
12
12
  # ...
@@ -14,6 +14,6 @@ end
14
14
 
15
15
  $LOAD_PATH << "#{__dir__}/../lib"
16
16
 
17
- require 'fretboard/parser'
17
+ require "fretboard/parser"
18
18
 
19
19
  Fretboard::Parser.parse(ARGV)
@@ -2,10 +2,10 @@
2
2
 
3
3
  # require 'active_support/core_ext/hash'
4
4
 
5
- require 'fretboard/console'
5
+ require "fretboard/console"
6
6
 
7
7
  module Fretboard
8
- class Builder # rubocop:disable Style/Documentation, Metrics/ClassLength
8
+ class Builder # rubocop:disable Metrics/ClassLength
9
9
  # fretboard = Fretboard::Builder.new(:standard)
10
10
  # fretboard = Fretboard::Builder.standard
11
11
  # fretboard = Fretboard::Builder.tuning_a
@@ -196,7 +196,7 @@ module Fretboard
196
196
 
197
197
  def build(sharp_or_flat: :both) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
198
198
  unless Fretboard::Tunings.exists?(@tuning)
199
- Fretboard::Console.danger('Unable to detect guitar tuning')
199
+ Fretboard::Console.danger("Unable to detect guitar tuning")
200
200
  return
201
201
  end
202
202
 
@@ -220,7 +220,7 @@ module Fretboard
220
220
  (1..@number_of_frets).each do |fret|
221
221
  next_note = Fretboard::Note.next_for(
222
222
  current_note,
223
- sharp_or_flat:
223
+ sharp_or_flat: sharp_or_flat
224
224
  )
225
225
 
226
226
  # puts "Fret: #{fret} (#{next_note})"
@@ -237,7 +237,7 @@ module Fretboard
237
237
 
238
238
  def draw(sharp_or_flat: :both) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
239
239
  unless @data.any?
240
- Fretboard::Console.danger('Build the guitar fretboard data for drawing')
240
+ Fretboard::Console.danger("Build the guitar fretboard data for drawing")
241
241
  return
242
242
  end
243
243
 
@@ -247,7 +247,7 @@ module Fretboard
247
247
  @data.each_pair do |string_number, string_notes|
248
248
  row = []
249
249
 
250
- headings << ''
250
+ headings << ""
251
251
  row << string_number
252
252
 
253
253
  headings << 0
@@ -257,7 +257,7 @@ module Fretboard
257
257
  if open_note.is_a?(Array)
258
258
  open_note = case sharp_or_flat
259
259
  when :both
260
- open_note.join('/')
260
+ open_note.join("/")
261
261
  when :sharp
262
262
  open_note.first
263
263
  else
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'colorize'
4
- require 'terminal-table'
3
+ require "colorize"
4
+ require "terminal-table"
5
5
 
6
6
  module Fretboard
7
- class Console # rubocop:disable Style/Documentation
7
+ class Console
8
8
  def self.log(text)
9
9
  new(text, nil).print
10
10
  end
@@ -23,9 +23,9 @@ module Fretboard
23
23
 
24
24
  def self.print_table(headings, rows)
25
25
  table = Terminal::Table.new(
26
- headings:,
27
- rows:,
28
- style: { border_x: '~', border_i: '~' }
26
+ headings: headings,
27
+ rows: rows,
28
+ style: { border_x: "~", border_i: "~" }
29
29
  )
30
30
 
31
31
  new(table.to_s, nil).print
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'fretboard/notes'
3
+ require "fretboard/notes"
4
4
 
5
5
  module Fretboard
6
- class Note # rubocop:disable Style/Documentation
6
+ class Note
7
7
  # Fretboard::Note.next_for('C')
8
8
  # Fretboard::Note.next_for(['F#', 'Gb'])
9
9
  # Fretboard::Note.next_for('F#/Gb')
@@ -14,7 +14,7 @@ module Fretboard
14
14
  if note.is_a?(Array)
15
15
  note = case sharp_or_flat
16
16
  when :both
17
- note.join('/')
17
+ note.join("/")
18
18
  when :sharp
19
19
  note.first
20
20
  else
@@ -1,34 +1,34 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fretboard
4
- class Notes # rubocop:disable Style/Documentation
4
+ class Notes
5
5
  # Fretboard::Notes.all(:both)
6
6
  # Fretboard::Notes.all(:sharp)
7
7
  # Fretboard::Notes.all(:flat)
8
8
 
9
- BASIS_NOTES = {
10
- 1 => 'C',
11
- 2 => ['C#', 'Db'],
12
- 3 => 'D',
13
- 4 => ['D#', 'Eb'],
14
- 5 => 'E',
15
- 6 => 'F',
16
- 7 => ['F#', 'Gb'],
17
- 8 => 'G',
18
- 9 => ['G#', 'Ab'],
19
- 10 => 'A',
20
- 11 => ['A#', 'Bb'],
21
- 12 => 'B'
9
+ BASIC_NOTES = {
10
+ 1 => "C",
11
+ 2 => %w[C# Db],
12
+ 3 => "D",
13
+ 4 => %w[D# Eb],
14
+ 5 => "E",
15
+ 6 => "F",
16
+ 7 => %w[F# Gb],
17
+ 8 => "G",
18
+ 9 => %w[G# Ab],
19
+ 10 => "A",
20
+ 11 => %w[A# Bb],
21
+ 12 => "B"
22
22
  }.freeze
23
23
 
24
24
  def self.all(sharp_or_flat = :sharp) # rubocop:disable Metrics/MethodLength
25
- BASIS_NOTES.map do |_key, value|
25
+ BASIC_NOTES.map do |_key, value|
26
26
  result = value
27
27
 
28
28
  if value.is_a?(Array)
29
29
  result = case sharp_or_flat
30
30
  when :both
31
- value.join('/')
31
+ value.join("/")
32
32
  when :sharp
33
33
  value.first
34
34
  else
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/core_ext/object/blank'
4
- require 'optparse'
3
+ require "active_support/core_ext/object/blank"
4
+ require "optparse"
5
5
 
6
- require 'fretboard/builder'
7
- require 'fretboard/console'
8
- require 'fretboard/note'
9
- require 'fretboard/tunings'
6
+ require "fretboard/builder"
7
+ require "fretboard/console"
8
+ require "fretboard/note"
9
+ require "fretboard/tunings"
10
10
 
11
11
  module Fretboard
12
- class Parser # rubocop:disable Style/Documentation
12
+ class Parser
13
13
  attr_reader :args
14
14
 
15
15
  def self.parse(args)
@@ -30,25 +30,25 @@ module Fretboard
30
30
 
31
31
  def parser # rubocop:disable Metrics/MethodLength
32
32
  OptionParser.new do |opts|
33
- opts.banner = 'Usage: fretboard [options]'
33
+ opts.banner = "Usage: fretboard [options]"
34
34
 
35
- opts.on('-v', '--version', 'The current version of the gem') do
35
+ opts.on("-v", "--version", "The current version of the gem") do
36
36
  Fretboard::Console.log(Fretboard::VERSION)
37
37
  exit
38
38
  end
39
39
 
40
- opts.on('-h', '--help', 'Prints this help') do
40
+ opts.on("-h", "--help", "Prints this help") do
41
41
  Fretboard::Console.log(opts.to_s)
42
42
  exit
43
43
  end
44
44
 
45
- opts.on('-d', '--draw-tuning CODE', 'Build a guitar tuning') do |code|
45
+ opts.on("-d", "--draw-tuning CODE", "Build a guitar tuning") do |code|
46
46
  fretboard = Fretboard::Builder.new(code.to_sym)
47
47
  fretboard.build
48
48
  fretboard.draw
49
49
  end
50
50
 
51
- opts.on('-l', '--tunings-list', 'List of supported guitar tunings') do
51
+ opts.on("-l", "--tunings-list", "List of supported guitar tunings") do
52
52
  Fretboard::Tunings.draw_list
53
53
  end
54
54
  end
@@ -1,305 +1,305 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fretboard
4
- class Tunings # rubocop:disable Style/Documentation, Metrics/ClassLength
4
+ class Tunings # rubocop:disable Metrics/ClassLength
5
5
  # Fretboard::Tunings.fetch(:standard)
6
6
  # Fretboard::Tunings.exists?(:standard)
7
7
 
8
8
  TUNINGS = {
9
9
  STANDARD: {
10
10
  STRINGS: {
11
- 1 => { NOTE: 'E' },
12
- 2 => { NOTE: 'B' },
13
- 3 => { NOTE: 'G' },
14
- 4 => { NOTE: 'D' },
15
- 5 => { NOTE: 'A' },
16
- 6 => { NOTE: 'E' }
11
+ 1 => { NOTE: "E" },
12
+ 2 => { NOTE: "B" },
13
+ 3 => { NOTE: "G" },
14
+ 4 => { NOTE: "D" },
15
+ 5 => { NOTE: "A" },
16
+ 6 => { NOTE: "E" }
17
17
  }
18
18
  },
19
19
 
20
20
  TUNING_A: {
21
21
  STRINGS: {
22
- 1 => { NOTE: 'A' },
23
- 2 => { NOTE: 'E' },
24
- 3 => { NOTE: 'C' },
25
- 4 => { NOTE: 'G' },
26
- 5 => { NOTE: 'D' },
27
- 6 => { NOTE: 'A' }
22
+ 1 => { NOTE: "A" },
23
+ 2 => { NOTE: "E" },
24
+ 3 => { NOTE: "C" },
25
+ 4 => { NOTE: "G" },
26
+ 5 => { NOTE: "D" },
27
+ 6 => { NOTE: "A" }
28
28
  }
29
29
  },
30
30
 
31
31
  OPEN_A: {
32
32
  STRINGS: {
33
- 1 => { NOTE: 'E' },
34
- 2 => { NOTE: 'A' },
35
- 3 => { NOTE: 'E' },
36
- 4 => { NOTE: ['C#', 'Db'] },
37
- 5 => { NOTE: 'A' },
38
- 6 => { NOTE: 'E' }
33
+ 1 => { NOTE: "E" },
34
+ 2 => { NOTE: "A" },
35
+ 3 => { NOTE: "E" },
36
+ 4 => { NOTE: %w[C# Db] },
37
+ 5 => { NOTE: "A" },
38
+ 6 => { NOTE: "E" }
39
39
  }
40
40
  },
41
41
 
42
42
  DROP_A: {
43
43
  STRINGS: {
44
- 1 => { NOTE: 'B' },
45
- 2 => { NOTE: ['F#', 'Gb'] },
46
- 3 => { NOTE: 'D' },
47
- 4 => { NOTE: 'A' },
48
- 5 => { NOTE: 'E' },
49
- 6 => { NOTE: 'A' }
44
+ 1 => { NOTE: "B" },
45
+ 2 => { NOTE: %w[F# Gb] },
46
+ 3 => { NOTE: "D" },
47
+ 4 => { NOTE: "A" },
48
+ 5 => { NOTE: "E" },
49
+ 6 => { NOTE: "A" }
50
50
  }
51
51
  },
52
52
 
53
53
  DROP_A_SHARP: {
54
54
  STRINGS: {
55
- 1 => { NOTE: 'C' },
56
- 2 => { NOTE: 'G' },
57
- 3 => { NOTE: ['D#', 'Eb'] },
58
- 4 => { NOTE: ['A#', 'Bb'] },
59
- 5 => { NOTE: 'F' },
60
- 6 => { NOTE: ['A#', 'Bb'] }
55
+ 1 => { NOTE: "C" },
56
+ 2 => { NOTE: "G" },
57
+ 3 => { NOTE: %w[D# Eb] },
58
+ 4 => { NOTE: %w[A# Bb] },
59
+ 5 => { NOTE: "F" },
60
+ 6 => { NOTE: %w[A# Bb] }
61
61
  }
62
62
  },
63
63
 
64
64
  DROP_A_FLAT: {
65
65
  STRINGS: {
66
- 1 => { NOTE: ['A#', 'Bb'] },
67
- 2 => { NOTE: 'F' },
68
- 3 => { NOTE: ['C#', 'Db'] },
69
- 4 => { NOTE: ['G#', 'Ab'] },
70
- 5 => { NOTE: ['D#', 'Eb'] },
71
- 6 => { NOTE: ['G#', 'Ab'] }
66
+ 1 => { NOTE: %w[A# Bb] },
67
+ 2 => { NOTE: "F" },
68
+ 3 => { NOTE: %w[C# Db] },
69
+ 4 => { NOTE: %w[G# Ab] },
70
+ 5 => { NOTE: %w[D# Eb] },
71
+ 6 => { NOTE: %w[G# Ab] }
72
72
  }
73
73
  },
74
74
 
75
75
  TUNING_B: {
76
76
  STRINGS: {
77
- 1 => { NOTE: 'B' },
78
- 2 => { NOTE: ['F#', 'Gb'] },
79
- 3 => { NOTE: 'D' },
80
- 4 => { NOTE: 'A' },
81
- 5 => { NOTE: 'E' },
82
- 6 => { NOTE: 'B' }
77
+ 1 => { NOTE: "B" },
78
+ 2 => { NOTE: %w[F# Gb] },
79
+ 3 => { NOTE: "D" },
80
+ 4 => { NOTE: "A" },
81
+ 5 => { NOTE: "E" },
82
+ 6 => { NOTE: "B" }
83
83
  }
84
84
  },
85
85
 
86
86
  OPEN_B: {
87
87
  STRINGS: {
88
- 1 => { NOTE: ['D#', 'Eb'] },
89
- 2 => { NOTE: 'B' },
90
- 3 => { NOTE: ['F#', 'Gb'] },
91
- 4 => { NOTE: 'B' },
92
- 5 => { NOTE: ['F#', 'Gb'] },
93
- 6 => { NOTE: 'B' }
88
+ 1 => { NOTE: %w[D# Eb] },
89
+ 2 => { NOTE: "B" },
90
+ 3 => { NOTE: %w[F# Gb] },
91
+ 4 => { NOTE: "B" },
92
+ 5 => { NOTE: %w[F# Gb] },
93
+ 6 => { NOTE: "B" }
94
94
  }
95
95
  },
96
96
 
97
97
  DROP_B: {
98
98
  STRINGS: {
99
- 1 => { NOTE: ['C#', 'Db'] },
100
- 2 => { NOTE: ['G#', 'Ab'] },
101
- 3 => { NOTE: 'E' },
102
- 4 => { NOTE: 'B' },
103
- 5 => { NOTE: ['F#', 'Gb'] },
104
- 6 => { NOTE: 'B' }
99
+ 1 => { NOTE: %w[C# Db] },
100
+ 2 => { NOTE: %w[G# Ab] },
101
+ 3 => { NOTE: "E" },
102
+ 4 => { NOTE: "B" },
103
+ 5 => { NOTE: %w[F# Gb] },
104
+ 6 => { NOTE: "B" }
105
105
  }
106
106
  },
107
107
 
108
108
  DROP_B_FLAT: {
109
109
  STRINGS: {
110
- 1 => { NOTE: 'C' },
111
- 2 => { NOTE: 'G' },
112
- 3 => { NOTE: ['D#', 'Eb'] },
113
- 4 => { NOTE: ['A#', 'Bb'] },
114
- 5 => { NOTE: 'F' },
115
- 6 => { NOTE: ['A#', 'Bb'] }
110
+ 1 => { NOTE: "C" },
111
+ 2 => { NOTE: "G" },
112
+ 3 => { NOTE: %w[D# Eb] },
113
+ 4 => { NOTE: %w[A# Bb] },
114
+ 5 => { NOTE: "F" },
115
+ 6 => { NOTE: %w[A# Bb] }
116
116
  }
117
117
  },
118
118
 
119
119
  TUNING_C: {
120
120
  STRINGS: {
121
- 1 => { NOTE: 'C' },
122
- 2 => { NOTE: 'G' },
123
- 3 => { NOTE: ['D#', 'Eb'] },
124
- 4 => { NOTE: ['A#', 'Bb'] },
125
- 5 => { NOTE: 'F' },
126
- 6 => { NOTE: 'C' }
121
+ 1 => { NOTE: "C" },
122
+ 2 => { NOTE: "G" },
123
+ 3 => { NOTE: %w[D# Eb] },
124
+ 4 => { NOTE: %w[A# Bb] },
125
+ 5 => { NOTE: "F" },
126
+ 6 => { NOTE: "C" }
127
127
  }
128
128
  },
129
129
 
130
130
  OPEN_C: {
131
131
  STRINGS: {
132
- 1 => { NOTE: 'E' },
133
- 2 => { NOTE: 'C' },
134
- 3 => { NOTE: 'G' },
135
- 4 => { NOTE: 'C' },
136
- 5 => { NOTE: 'G' },
137
- 6 => { NOTE: 'C' }
132
+ 1 => { NOTE: "E" },
133
+ 2 => { NOTE: "C" },
134
+ 3 => { NOTE: "G" },
135
+ 4 => { NOTE: "C" },
136
+ 5 => { NOTE: "G" },
137
+ 6 => { NOTE: "C" }
138
138
  }
139
139
  },
140
140
 
141
141
  DROP_C: {
142
142
  STRINGS: {
143
- 1 => { NOTE: 'D' },
144
- 2 => { NOTE: 'A' },
145
- 3 => { NOTE: 'F' },
146
- 4 => { NOTE: 'C' },
147
- 5 => { NOTE: 'G' },
148
- 6 => { NOTE: 'C' }
143
+ 1 => { NOTE: "D" },
144
+ 2 => { NOTE: "A" },
145
+ 3 => { NOTE: "F" },
146
+ 4 => { NOTE: "C" },
147
+ 5 => { NOTE: "G" },
148
+ 6 => { NOTE: "C" }
149
149
  }
150
150
  },
151
151
 
152
152
  TUNING_D: {
153
153
  STRINGS: {
154
- 1 => { NOTE: 'D' },
155
- 2 => { NOTE: 'A' },
156
- 3 => { NOTE: 'F' },
157
- 4 => { NOTE: 'C' },
158
- 5 => { NOTE: 'G' },
159
- 6 => { NOTE: 'D' }
154
+ 1 => { NOTE: "D" },
155
+ 2 => { NOTE: "A" },
156
+ 3 => { NOTE: "F" },
157
+ 4 => { NOTE: "C" },
158
+ 5 => { NOTE: "G" },
159
+ 6 => { NOTE: "D" }
160
160
  }
161
161
  },
162
162
 
163
163
  OPEN_D: {
164
164
  STRINGS: {
165
- 1 => { NOTE: 'D' },
166
- 2 => { NOTE: 'A' },
167
- 3 => { NOTE: ['F#', 'Gb'] },
168
- 4 => { NOTE: 'D' },
169
- 5 => { NOTE: 'A' },
170
- 6 => { NOTE: 'D' }
165
+ 1 => { NOTE: "D" },
166
+ 2 => { NOTE: "A" },
167
+ 3 => { NOTE: %w[F# Gb] },
168
+ 4 => { NOTE: "D" },
169
+ 5 => { NOTE: "A" },
170
+ 6 => { NOTE: "D" }
171
171
  }
172
172
  },
173
173
 
174
174
  OPEN_D_MINOR: {
175
175
  STRINGS: {
176
- 1 => { NOTE: 'D' },
177
- 2 => { NOTE: 'A' },
178
- 3 => { NOTE: 'F' },
179
- 4 => { NOTE: 'D' },
180
- 5 => { NOTE: 'A' },
181
- 6 => { NOTE: 'D' }
176
+ 1 => { NOTE: "D" },
177
+ 2 => { NOTE: "A" },
178
+ 3 => { NOTE: "F" },
179
+ 4 => { NOTE: "D" },
180
+ 5 => { NOTE: "A" },
181
+ 6 => { NOTE: "D" }
182
182
  }
183
183
  },
184
184
 
185
185
  DROP_D: {
186
186
  STRINGS: {
187
- 1 => { NOTE: 'E' },
188
- 2 => { NOTE: 'B' },
189
- 3 => { NOTE: 'G' },
190
- 4 => { NOTE: 'D' },
191
- 5 => { NOTE: 'A' },
192
- 6 => { NOTE: 'D' }
187
+ 1 => { NOTE: "E" },
188
+ 2 => { NOTE: "B" },
189
+ 3 => { NOTE: "G" },
190
+ 4 => { NOTE: "D" },
191
+ 5 => { NOTE: "A" },
192
+ 6 => { NOTE: "D" }
193
193
  }
194
194
  },
195
195
 
196
196
  DOUBLE_DROP_D: {
197
197
  STRINGS: {
198
- 1 => { NOTE: 'D' },
199
- 2 => { NOTE: 'B' },
200
- 3 => { NOTE: 'G' },
201
- 4 => { NOTE: 'D' },
202
- 5 => { NOTE: 'A' },
203
- 6 => { NOTE: 'D' }
198
+ 1 => { NOTE: "D" },
199
+ 2 => { NOTE: "B" },
200
+ 3 => { NOTE: "G" },
201
+ 4 => { NOTE: "D" },
202
+ 5 => { NOTE: "A" },
203
+ 6 => { NOTE: "D" }
204
204
  }
205
205
  },
206
206
 
207
207
  MODAL_D: {
208
208
  STRINGS: {
209
- 1 => { NOTE: 'D' },
210
- 2 => { NOTE: 'A' },
211
- 3 => { NOTE: 'G' },
212
- 4 => { NOTE: 'D' },
213
- 5 => { NOTE: 'A' },
214
- 6 => { NOTE: 'D' }
209
+ 1 => { NOTE: "D" },
210
+ 2 => { NOTE: "A" },
211
+ 3 => { NOTE: "G" },
212
+ 4 => { NOTE: "D" },
213
+ 5 => { NOTE: "A" },
214
+ 6 => { NOTE: "D" }
215
215
  }
216
216
  },
217
217
 
218
218
  OPEN_E: {
219
219
  STRINGS: {
220
- 1 => { NOTE: 'E' },
221
- 2 => { NOTE: 'B' },
222
- 3 => { NOTE: ['G#', 'Ab'] },
223
- 4 => { NOTE: 'E' },
224
- 5 => { NOTE: 'B' },
225
- 6 => { NOTE: 'E' }
220
+ 1 => { NOTE: "E" },
221
+ 2 => { NOTE: "B" },
222
+ 3 => { NOTE: %w[G# Ab] },
223
+ 4 => { NOTE: "E" },
224
+ 5 => { NOTE: "B" },
225
+ 6 => { NOTE: "E" }
226
226
  }
227
227
  },
228
228
 
229
229
  TUNING_F: {
230
230
  STRINGS: {
231
- 1 => { NOTE: 'F' },
232
- 2 => { NOTE: 'C' },
233
- 3 => { NOTE: ['G#', 'Ab'] },
234
- 4 => { NOTE: ['D#', 'Eb'] },
235
- 5 => { NOTE: ['A#', 'Bb'] },
236
- 6 => { NOTE: 'F' }
231
+ 1 => { NOTE: "F" },
232
+ 2 => { NOTE: "C" },
233
+ 3 => { NOTE: %w[G# Ab] },
234
+ 4 => { NOTE: %w[D# Eb] },
235
+ 5 => { NOTE: %w[A# Bb] },
236
+ 6 => { NOTE: "F" }
237
237
  }
238
238
  },
239
239
 
240
240
  TUNING_G: {
241
241
  STRINGS: {
242
- 1 => { NOTE: 'G' },
243
- 2 => { NOTE: 'D' },
244
- 3 => { NOTE: ['A#', 'Bb'] },
245
- 4 => { NOTE: 'F' },
246
- 5 => { NOTE: 'C' },
247
- 6 => { NOTE: 'G' }
242
+ 1 => { NOTE: "G" },
243
+ 2 => { NOTE: "D" },
244
+ 3 => { NOTE: %w[A# Bb] },
245
+ 4 => { NOTE: "F" },
246
+ 5 => { NOTE: "C" },
247
+ 6 => { NOTE: "G" }
248
248
  }
249
249
  },
250
250
 
251
251
  OPEN_F: {
252
252
  STRINGS: {
253
- 1 => { NOTE: 'F' },
254
- 2 => { NOTE: 'C' },
255
- 3 => { NOTE: 'F' },
256
- 4 => { NOTE: 'C' },
257
- 5 => { NOTE: 'A' },
258
- 6 => { NOTE: 'F' }
253
+ 1 => { NOTE: "F" },
254
+ 2 => { NOTE: "C" },
255
+ 3 => { NOTE: "F" },
256
+ 4 => { NOTE: "C" },
257
+ 5 => { NOTE: "A" },
258
+ 6 => { NOTE: "F" }
259
259
  }
260
260
  },
261
261
 
262
262
  OPEN_G: {
263
263
  STRINGS: {
264
- 1 => { NOTE: 'D' },
265
- 2 => { NOTE: 'B' },
266
- 3 => { NOTE: 'G' },
267
- 4 => { NOTE: 'D' },
268
- 5 => { NOTE: 'G' },
269
- 6 => { NOTE: 'D' }
264
+ 1 => { NOTE: "D" },
265
+ 2 => { NOTE: "B" },
266
+ 3 => { NOTE: "G" },
267
+ 4 => { NOTE: "D" },
268
+ 5 => { NOTE: "G" },
269
+ 6 => { NOTE: "D" }
270
270
  }
271
271
  },
272
272
 
273
273
  OPEN_G_MINOR: {
274
274
  STRINGS: {
275
- 1 => { NOTE: 'D' },
276
- 2 => { NOTE: ['A#', 'Bb'] },
277
- 3 => { NOTE: 'G' },
278
- 4 => { NOTE: 'D' },
279
- 5 => { NOTE: 'G' },
280
- 6 => { NOTE: 'D' }
275
+ 1 => { NOTE: "D" },
276
+ 2 => { NOTE: %w[A# Bb] },
277
+ 3 => { NOTE: "G" },
278
+ 4 => { NOTE: "D" },
279
+ 5 => { NOTE: "G" },
280
+ 6 => { NOTE: "D" }
281
281
  }
282
282
  },
283
283
 
284
284
  DROP_G_SHARP: {
285
285
  STRINGS: {
286
- 1 => { NOTE: ['A#', 'Bb'] },
287
- 2 => { NOTE: 'F' },
288
- 3 => { NOTE: ['C#', 'Db'] },
289
- 4 => { NOTE: ['G#', 'Ab'] },
290
- 5 => { NOTE: ['D#', 'Eb'] },
291
- 6 => { NOTE: ['G#', 'Ab'] }
286
+ 1 => { NOTE: %w[A# Bb] },
287
+ 2 => { NOTE: "F" },
288
+ 3 => { NOTE: %w[C# Db] },
289
+ 4 => { NOTE: %w[G# Ab] },
290
+ 5 => { NOTE: %w[D# Eb] },
291
+ 6 => { NOTE: %w[G# Ab] }
292
292
  }
293
293
  },
294
294
 
295
295
  MODAL_G: {
296
296
  STRINGS: {
297
- 1 => { NOTE: 'D' },
298
- 2 => { NOTE: 'C' },
299
- 3 => { NOTE: 'G' },
300
- 4 => { NOTE: 'D' },
301
- 5 => { NOTE: 'G' },
302
- 6 => { NOTE: 'D' }
297
+ 1 => { NOTE: "D" },
298
+ 2 => { NOTE: "C" },
299
+ 3 => { NOTE: "G" },
300
+ 4 => { NOTE: "D" },
301
+ 5 => { NOTE: "G" },
302
+ 6 => { NOTE: "D" }
303
303
  }
304
304
  }
305
305
  }.freeze
@@ -314,8 +314,8 @@ module Fretboard
314
314
  headings = []
315
315
  rows = []
316
316
 
317
- headings << 'Tuning'
318
- headings << 'Notes'
317
+ headings << "Tuning"
318
+ headings << "Notes"
319
319
 
320
320
  list.each do |tuning_code, tuning_data|
321
321
  row = []
@@ -325,8 +325,8 @@ module Fretboard
325
325
  prepared_string_notes = tuning_data[:STRINGS].map do |_string_number, string_notes|
326
326
  note = string_notes[:NOTE]
327
327
 
328
- note.is_a?(Array) ? note.join('/') : note
329
- end.join(', ')
328
+ note.is_a?(Array) ? note.join("/") : note
329
+ end.join(", ")
330
330
 
331
331
  row << prepared_string_notes
332
332
 
@@ -1,13 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fretboard
4
- MAJOR = 1
5
- MINOR = 5
6
- PATCH = 0
4
+ module VERSION
5
+ MAJOR = 1
6
+ MINOR = 5
7
+ PATCH = 1
7
8
 
8
- VERSION = [
9
- MAJOR,
10
- MINOR,
11
- PATCH
12
- ].join('.')
9
+ STRING = [MAJOR, MINOR, PATCH].join(".")
10
+ end
13
11
  end
data/lib/fretboard.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'fretboard/builder'
3
+ require "fretboard/builder"
4
4
  # require 'fretboard/constants'
5
- require 'fretboard/note'
6
- require 'fretboard/notes'
7
- require 'fretboard/tunings'
5
+ require "fretboard/note"
6
+ require "fretboard/notes"
7
+ require "fretboard/tunings"
8
8
 
9
- module Fretboard # rubocop:disable Style/Documentation
9
+ module Fretboard
10
10
  # extend Constants
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fretboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Sokolov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-29 00:00:00.000000000 Z
11
+ date: 2023-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,69 +16,80 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.3
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 7.0.3
26
+ version: '7.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.1
33
+ version: '0.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.8.1
40
+ version: '0.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: terminal-table
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.0.2
47
+ version: '3.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.0.2
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.37.1
61
+ version: '1.50'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.37.1
68
+ version: '1.50'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-performance
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.17'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.17'
69
83
  description: Tools for working with the guitar fretboard
70
84
  email:
71
- - anton@sokolov.digital
85
+ - profox.rus@gmail.com
72
86
  executables:
73
87
  - fretboard
74
88
  extensions: []
75
89
  extra_rdoc_files: []
76
90
  files:
77
- - LICENSE.md
78
91
  - README.md
79
- - RELEASE.md
80
92
  - bin/fretboard
81
- - fretboard.gemspec
82
93
  - lib/fretboard.rb
83
94
  - lib/fretboard/builder.rb
84
95
  - lib/fretboard/console.rb
@@ -92,6 +103,10 @@ homepage: https://github.com/afuno/fretboard
92
103
  licenses:
93
104
  - MIT
94
105
  metadata:
106
+ homepage_uri: https://github.com/afuno/fretboard
107
+ documentation_uri: https://github.com/afuno/fretboard
108
+ source_code_uri: https://github.com/afuno/fretboard
109
+ bug_tracker_uri: https://github.com/afuno/fretboard/issues
95
110
  rubygems_mfa_required: 'true'
96
111
  post_install_message:
97
112
  rdoc_options: []
@@ -101,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
116
  requirements:
102
117
  - - ">="
103
118
  - !ruby/object:Gem::Version
104
- version: 3.1.0
119
+ version: 2.7.0
105
120
  required_rubygems_version: !ruby/object:Gem::Requirement
106
121
  requirements:
107
122
  - - ">="
data/LICENSE.md DELETED
@@ -1,21 +0,0 @@
1
- # MIT LICENSE
2
-
3
- Copyright (c) 2020 Anton Sokolov <anton@sokolov.digital>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
data/RELEASE.md DELETED
@@ -1,7 +0,0 @@
1
- ```shell
2
- gem build fretboard.gemspec
3
-
4
- gem push fretboard-1.5.0.gem
5
-
6
- gem push --key github --host https://rubygems.pkg.github.com/afuno fretboard-1.5.0.gem
7
- ```
data/fretboard.gemspec DELETED
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
-
6
- require 'fretboard/version'
7
-
8
- Gem::Specification.new do |spec|
9
- spec.name = 'fretboard'
10
- spec.version = Fretboard::VERSION
11
- spec.platform = Gem::Platform::RUBY
12
- spec.authors = ['Anton Sokolov']
13
- spec.email = ['anton@sokolov.digital']
14
- spec.homepage = 'https://github.com/afuno/fretboard'
15
- spec.licenses = ['MIT']
16
- spec.summary = 'Tools for working with the guitar fretboard'
17
- spec.description = 'Tools for working with the guitar fretboard'
18
-
19
- spec.files = `git ls-files -z *.md *.gemspec bin lib`.split("\x0")
20
- spec.require_paths = ['lib']
21
-
22
- spec.executables = ['fretboard']
23
-
24
- spec.metadata['rubygems_mfa_required'] = 'true'
25
-
26
- spec.required_ruby_version = '>= 3.1.0'
27
-
28
- spec.add_dependency 'activesupport', '~> 7.0.3'
29
- spec.add_dependency 'colorize', '~> 0.8.1'
30
- spec.add_dependency 'terminal-table', '~> 3.0.2'
31
- spec.add_development_dependency 'rubocop', '~> 1.37.1'
32
- end