note-transpose 0.1.1 → 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: 34d45237ed688088cea474edda1664dd711f07ef1faef0de6b7d43fedb5c8935
4
- data.tar.gz: 5e6f510857dafd65c8df058b9c58dcd6a9ab9e1c7e07a4c3f7dacfc04b509448
3
+ metadata.gz: 0bbc3b677dae36c2aaaa2393f654a9fe2b2163c13550ec6cdb3459d82f04e544
4
+ data.tar.gz: ce229a4e097d362523b077527d88ff99f55868f5f54e13c0fd849b925a83ae88
5
5
  SHA512:
6
- metadata.gz: 9f514f4d0e3a5e9a470247c095c2d888d14e2aebbab59cf533e9a7da8d236cce68cacb51bb6d2c60c03d0c713d4750adb579f5c376c766c8915bbd14ea760bff
7
- data.tar.gz: 90d79c48f039580910e7251f0383781dec1811057ef40cc5754e5b5f6c7368c94e3a2cb5483d974a7e598a63f8ec941e872ccfac2c55e7ce1b624ce7f3efbac5
6
+ metadata.gz: 70a02bfa6abdc76a894ccc09e6884a8b41e1c217769f639e89643dbf64669e8ab75bbf85e2510f617dac56497da36882960ea89cd6b99adecc6c4b67995b0634
7
+ data.tar.gz: 89396d0778695cf3b1453d701810ba46453b0fd720aac5f4c5bf2f3dda669db2f8a859df7e217becce0729924e459cc8b1faa81efe04c95e8be86623943a5bab
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # Note Transpose
2
+ [![Gem Version](https://badge.fury.io/rb/note-transpose.svg)](https://badge.fury.io/rb/note-transpose)
3
+ [![Build Status](https://travis-ci.org/vyder/note-transpose.svg?branch=master)](https://travis-ci.org/vyder/note-transpose)
4
+ [![Inline docs](http://inch-ci.org/github/vyder/note-transpose.svg?branch=master)](http://inch-ci.org/github/vyder/note-transpose)
2
5
 
3
6
  A CLI tool to transpose notes by half steps
4
7
 
@@ -6,6 +9,7 @@ A CLI tool to transpose notes by half steps
6
9
 
7
10
  - [Install](#install)
8
11
  - [Usage](#usage)
12
+ - [Documentation](#documentation)
9
13
  - [Support](#support)
10
14
  - [Contributing](#contributing)
11
15
 
@@ -18,27 +22,39 @@ A CLI tool to transpose notes by half steps
18
22
  ❯ note-transpose --help
19
23
 
20
24
  Usage: note-transpose [-]<number half steps> <notes> [--pref-flat]
21
- --pref-flat Always uses flat notes in output instead of sharp ones
22
25
 
23
- Examples:
24
- ❯ note-transpose +1 C G F Am
25
- => Db Ab Gb Bbm
26
+ Options:
27
+ --pref-flat Always uses flat notes in output instead of sharp ones
26
28
 
27
- ❯ note-transpose 2 C G F Am
28
- => D A G Bm
29
+ Examples:
30
+ note-transpose +1 C G F Am
31
+ => Db Ab Gb Bbm
29
32
 
30
- ❯ note-transpose -2 D# G7 F Am7 Cadd7
31
- => C# F7 Eb Gm7 Bbadd7
33
+ ❯ note-transpose 2 C G F Am
34
+ => D A G Bm
32
35
 
33
- ❯ note-transpose -2 D# G7 F Am7 Cadd7 --pref-flat
34
- => Db F7 Eb Gm7 Bbadd7
36
+ ❯ note-transpose -2 D# G7 F Am7 Cadd7
37
+ => C# F7 Eb Gm7 Bbadd7
38
+
39
+ ❯ note-transpose -2 D# G7 F Am7 Cadd7 --pref-flat
40
+ => Db F7 Eb Gm7 Bbadd7
35
41
 
36
42
  You can even include the module in your code if you need that for some reason:
37
43
 
38
44
  require 'note-transpose'
39
45
 
40
- NoteTranspose.transpose(-3, "C", "F", "Am", "G")
41
- # => ["A", "D", "Gbm", "E"]
46
+ NoteTranspose.transpose(3, "D#", "F", "Bm", "G7")
47
+ # => ["F#", "Ab", "Dm", "Bb7"]
48
+
49
+ NoteTranspose.transpose(3, "D#", "F", "Bm", "G7", pref_flat: true)
50
+ # => ["Gb", "Ab", "Dm", "Bb7"]
51
+
52
+ ## Documentation
53
+
54
+ You can find the docs hosted at:
55
+
56
+ - [This repo's Github pages](https://vyder.github.io/note-transpose/)
57
+ - [RubyGems](https://rubygems.org/gems/note-transpose)
42
58
 
43
59
  ## Support
44
60
 
@@ -8,21 +8,23 @@ def print_help
8
8
  basename = File.basename(__FILE__)
9
9
  puts <<EOF
10
10
 
11
- Usage: #{basename} [-]<number half steps> <notes> [#{PREF_FLAT_OPT}]
12
- #{PREF_FLAT_OPT} Always uses flat notes in output instead of sharp ones
11
+ Usage: #{basename} [-]<number half steps> <notes> [options]
13
12
 
14
- Example:
15
- #{basename} +1 C G F Am
16
- => #{NoteTranspose.transpose(1, %w(C G F Am))}
13
+ Options:
14
+ #{PREF_FLAT_OPT} Always uses flat notes in output instead of sharp ones
17
15
 
18
- ❯ #{basename} 2 C G F Am
19
- => #{NoteTranspose.transpose(2, %w(C G F Am))}
16
+ Examples:
17
+ #{basename} +1 C G F Am
18
+ => #{NoteTranspose.transpose(1, %w(C G F Am))}
20
19
 
21
- ❯ #{basename} -2 D# G7 F Am7 Cadd7
22
- => #{NoteTranspose.transpose(-2, %w(D# G7 F Am7 Cadd7))}
20
+ ❯ #{basename} 2 C G F Am
21
+ => #{NoteTranspose.transpose(2, %w(C G F Am))}
23
22
 
24
- ❯ #{basename} -2 D# G7 F Am7 Cadd7 --pref-flat
25
- => #{NoteTranspose.transpose(-2, %w(D# G7 F Am7 Cadd7), pref_flat: true)}
23
+ ❯ #{basename} -2 D# G7 F Am7 Cadd7
24
+ => #{NoteTranspose.transpose(-2, %w(D# G7 F Am7 Cadd7))}
25
+
26
+ ❯ #{basename} -2 D# G7 F Am7 Cadd7 --pref-flat
27
+ => #{NoteTranspose.transpose(-2, %w(D# G7 F Am7 Cadd7), pref_flat: true)}
26
28
  EOF
27
29
  end
28
30
 
@@ -40,6 +42,5 @@ pref_flat = !input.delete(PREF_FLAT_OPT).nil?
40
42
  result = NoteTranspose.transpose(half_steps, input, pref_flat: pref_flat)
41
43
 
42
44
  puts <<EOF
43
-
44
45
  => #{result.join(' ')}
45
46
  EOF
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
 
3
2
  # List of musical notes, as sharps and flats
4
3
  NOTES = {
@@ -59,8 +58,7 @@ module NoteTranspose
59
58
 
60
59
  transposed_notes << note.gsub(actual_note, transposed_note).capitalize
61
60
  rescue
62
- puts "'#{note.capitalize}' is not a valid note!"
63
- exit 1
61
+ raise "'#{note.capitalize}' is not a valid note!"
64
62
  end
65
63
  end
66
64
 
metadata CHANGED
@@ -1,15 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: note-transpose
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vidur Murali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-24 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 13.0.1
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 13.0.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.9.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.9.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubygems-tasks
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.5
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.5
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.19.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.19.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.25
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.9.25
13
83
  description:
14
84
  email:
15
85
  - vidur@monkeychai.com
@@ -40,8 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
110
  - !ruby/object:Gem::Version
41
111
  version: '0'
42
112
  requirements: []
43
- rubyforge_project:
44
- rubygems_version: 2.7.3
113
+ rubygems_version: 3.1.4
45
114
  signing_key:
46
115
  specification_version: 4
47
116
  summary: A CLI tool to transpose notes by half steps