song_pro 0.1.10 → 0.1.11
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 +4 -4
- data/.github/workflows/build.yml +10 -10
- data/.ruby-version +1 -1
- data/.tool-versions +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +51 -22
- data/README.md +5 -2
- data/Rakefile +4 -3
- data/lib/song_pro/part.rb +1 -1
- data/lib/song_pro/section.rb +2 -2
- data/lib/song_pro/song.rb +9 -82
- data/lib/song_pro/version.rb +1 -1
- data/lib/song_pro.rb +23 -23
- data/song_pro.gemspec +18 -18
- metadata +22 -22
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 493de9f0e847cc708651498787e30288deb0a3d4c56e386005a2d0c7e3a45acc
|
|
4
|
+
data.tar.gz: 8c847db3bb3081f92d01f8ca5b8b97ca494020b207fa082e4c4c4588089425b9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 714d2daca1841acebb02202fe164fb287687b722777334eddb85f322d7cfcf5cf151d94df71a850503fbdc1049082787b5a553902d06a6bc8f665b921617a889
|
|
7
|
+
data.tar.gz: 8fda1e7a30888518b662e375729d3268ebc344dd54bf8e0ee4bee5b34b9bc8087fdea32d28005775ba207aeceae28063ccab706b148ef0fd3c737b26c8d12fa8
|
data/.github/workflows/build.yml
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
name: Build
|
|
2
2
|
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ master ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ master ]
|
|
3
|
+
on: [push, pull_request]
|
|
8
4
|
|
|
9
5
|
jobs:
|
|
10
6
|
test:
|
|
11
7
|
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
strategy:
|
|
10
|
+
matrix:
|
|
11
|
+
ruby-version: [3.0, 3.1, 3.2]
|
|
12
|
+
|
|
12
13
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
14
|
-
- name: Set up Ruby
|
|
14
|
+
- uses: actions/checkout@v3
|
|
15
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
15
16
|
uses: ruby/setup-ruby@v1
|
|
16
17
|
with:
|
|
17
|
-
ruby-version:
|
|
18
|
-
|
|
19
|
-
run: bundle install
|
|
18
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
19
|
+
bundler-cache: true
|
|
20
20
|
- name: Run tests
|
|
21
21
|
run: bundle exec rake
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
3.2.2
|
data/.tool-versions
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby 3.2.2
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,39 +1,68 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
song_pro (0.1.
|
|
5
|
-
markaby
|
|
4
|
+
song_pro (0.1.11)
|
|
6
5
|
|
|
7
6
|
GEM
|
|
8
7
|
remote: https://rubygems.org/
|
|
9
8
|
specs:
|
|
10
|
-
|
|
11
|
-
diff-lcs (1.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
rspec
|
|
9
|
+
ast (2.4.2)
|
|
10
|
+
diff-lcs (1.5.0)
|
|
11
|
+
json (2.6.3)
|
|
12
|
+
language_server-protocol (3.17.0.2)
|
|
13
|
+
parallel (1.22.1)
|
|
14
|
+
parser (3.1.3.0)
|
|
15
|
+
ast (~> 2.4.1)
|
|
16
|
+
rainbow (3.1.1)
|
|
17
|
+
rake (13.0.6)
|
|
18
|
+
regexp_parser (2.6.1)
|
|
19
|
+
rexml (3.2.5)
|
|
20
|
+
rspec (3.12.0)
|
|
21
|
+
rspec-core (~> 3.12.0)
|
|
22
|
+
rspec-expectations (~> 3.12.0)
|
|
23
|
+
rspec-mocks (~> 3.12.0)
|
|
24
|
+
rspec-core (3.12.0)
|
|
25
|
+
rspec-support (~> 3.12.0)
|
|
26
|
+
rspec-expectations (3.12.1)
|
|
22
27
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
23
|
-
rspec-support (~> 3.
|
|
24
|
-
rspec-mocks (3.
|
|
28
|
+
rspec-support (~> 3.12.0)
|
|
29
|
+
rspec-mocks (3.12.1)
|
|
25
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
26
|
-
rspec-support (~> 3.
|
|
27
|
-
rspec-support (3.
|
|
31
|
+
rspec-support (~> 3.12.0)
|
|
32
|
+
rspec-support (3.12.0)
|
|
33
|
+
rubocop (1.40.0)
|
|
34
|
+
json (~> 2.3)
|
|
35
|
+
parallel (~> 1.10)
|
|
36
|
+
parser (>= 3.1.2.1)
|
|
37
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
38
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
39
|
+
rexml (>= 3.2.5, < 4.0)
|
|
40
|
+
rubocop-ast (>= 1.23.0, < 2.0)
|
|
41
|
+
ruby-progressbar (~> 1.7)
|
|
42
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
43
|
+
rubocop-ast (1.24.1)
|
|
44
|
+
parser (>= 3.1.1.0)
|
|
45
|
+
rubocop-performance (1.15.1)
|
|
46
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
47
|
+
rubocop-ast (>= 0.4.0)
|
|
48
|
+
ruby-progressbar (1.11.0)
|
|
49
|
+
standard (1.20.0)
|
|
50
|
+
language_server-protocol (~> 3.17.0.2)
|
|
51
|
+
rubocop (= 1.40.0)
|
|
52
|
+
rubocop-performance (= 1.15.1)
|
|
53
|
+
standardrb (1.0.1)
|
|
54
|
+
standard
|
|
55
|
+
unicode-display_width (2.3.0)
|
|
28
56
|
|
|
29
57
|
PLATFORMS
|
|
30
58
|
ruby
|
|
31
59
|
|
|
32
60
|
DEPENDENCIES
|
|
33
|
-
bundler
|
|
34
|
-
rake
|
|
35
|
-
rspec
|
|
61
|
+
bundler
|
|
62
|
+
rake
|
|
63
|
+
rspec
|
|
36
64
|
song_pro!
|
|
65
|
+
standardrb
|
|
37
66
|
|
|
38
67
|
BUNDLED WITH
|
|
39
|
-
2.
|
|
68
|
+
2.4.16
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# SongPro for Ruby 
|
|
2
2
|
|
|
3
3
|
[SongPro](https://songpro.org) is a text format for transcribing songs.
|
|
4
4
|
|
|
@@ -60,8 +60,11 @@ puts song.title
|
|
|
60
60
|
puts song.artist
|
|
61
61
|
# Brian Kelly
|
|
62
62
|
|
|
63
|
-
puts song.sections[1].
|
|
63
|
+
puts song.sections[1].name
|
|
64
64
|
# Chorus 1
|
|
65
|
+
|
|
66
|
+
p song.chords
|
|
67
|
+
# ["D", "A", "Bm", "F#m", "G", "Asus4", "A7", "F#"]
|
|
65
68
|
```
|
|
66
69
|
|
|
67
70
|
## Development
|
data/Rakefile
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require "bundler/gem_tasks"
|
|
4
|
+
require "rspec/core/rake_task"
|
|
5
|
+
require "standard/rake"
|
|
5
6
|
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
|
7
8
|
|
|
8
|
-
task default: :spec
|
|
9
|
+
task default: [:spec, :standard]
|
data/lib/song_pro/part.rb
CHANGED
data/lib/song_pro/section.rb
CHANGED
data/lib/song_pro/song.rb
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'markaby'
|
|
4
|
-
|
|
5
3
|
module SongPro
|
|
6
4
|
class Song
|
|
7
5
|
attr_accessor :title,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
:artist,
|
|
7
|
+
:capo,
|
|
8
|
+
:key,
|
|
9
|
+
:tempo,
|
|
10
|
+
:year,
|
|
11
|
+
:album,
|
|
12
|
+
:tuning,
|
|
13
|
+
:sections,
|
|
14
|
+
:custom
|
|
17
15
|
|
|
18
16
|
def initialize
|
|
19
17
|
@sections = []
|
|
@@ -35,76 +33,5 @@ module SongPro
|
|
|
35
33
|
end
|
|
36
34
|
end.flatten.uniq.reject(&:empty?)
|
|
37
35
|
end
|
|
38
|
-
|
|
39
|
-
def to_html
|
|
40
|
-
mab = Markaby::Builder.new(song: self)
|
|
41
|
-
mab.div.song do
|
|
42
|
-
h1.title song.title if song.title
|
|
43
|
-
h2.artist song.artist if song.artist
|
|
44
|
-
|
|
45
|
-
dl.information do
|
|
46
|
-
if song.tuning
|
|
47
|
-
dt.tuning 'Tuning'
|
|
48
|
-
dd.tuning song.tuning
|
|
49
|
-
end
|
|
50
|
-
if song.capo
|
|
51
|
-
dt.capo 'Capo'
|
|
52
|
-
dd.capo song.capo
|
|
53
|
-
end
|
|
54
|
-
if song.key
|
|
55
|
-
dt.key 'Key'
|
|
56
|
-
dd.key song.key
|
|
57
|
-
end
|
|
58
|
-
if song.tempo
|
|
59
|
-
dt.tempo 'Tempo'
|
|
60
|
-
dd.tempo song.tempo
|
|
61
|
-
end
|
|
62
|
-
if song.year
|
|
63
|
-
dt.year 'Year'
|
|
64
|
-
dd.year song.year
|
|
65
|
-
end
|
|
66
|
-
if song.album
|
|
67
|
-
dt.album 'Album'
|
|
68
|
-
dd.album song.album
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
song.sections.each do |section|
|
|
73
|
-
div.section do
|
|
74
|
-
div.name section.name
|
|
75
|
-
div.lines do
|
|
76
|
-
section.lines.each do |line|
|
|
77
|
-
if line.tablature?
|
|
78
|
-
div.tablature do
|
|
79
|
-
line.tablature
|
|
80
|
-
end
|
|
81
|
-
elsif line.measures?
|
|
82
|
-
div.measures do
|
|
83
|
-
line.measures.each do |measure|
|
|
84
|
-
div.measure do
|
|
85
|
-
measure.chords.each do |chord|
|
|
86
|
-
div.chord chord
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
else
|
|
92
|
-
div.line do
|
|
93
|
-
line.parts.each do |part|
|
|
94
|
-
div.part do
|
|
95
|
-
div.chord part.chord
|
|
96
|
-
div.lyric part.lyric
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
mab.to_s
|
|
108
|
-
end
|
|
109
36
|
end
|
|
110
37
|
end
|
data/lib/song_pro/version.rb
CHANGED
data/lib/song_pro.rb
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
3
|
+
require "song_pro/version"
|
|
4
|
+
require "song_pro/song"
|
|
5
|
+
require "song_pro/section"
|
|
6
|
+
require "song_pro/line"
|
|
7
|
+
require "song_pro/part"
|
|
8
|
+
require "song_pro/measure"
|
|
9
9
|
|
|
10
10
|
module SongPro
|
|
11
11
|
SECTION_REGEX = /#\s*([^$]*)/
|
|
12
12
|
ATTRIBUTE_REGEX = /@(\w*)=([^%]*)/
|
|
13
13
|
CUSTOM_ATTRIBUTE_REGEX = /!(\w*)=([^%]*)/
|
|
14
|
-
CHORDS_AND_LYRICS_REGEX = %r{(\[[\w#b
|
|
14
|
+
CHORDS_AND_LYRICS_REGEX = %r{(\[[\w#b+/]+\])?([^\[]*)}i
|
|
15
15
|
|
|
16
|
-
MEASURES_REGEX = %r{([\[[\w#b
|
|
17
|
-
CHORDS_REGEX = %r{\[([\w#b
|
|
16
|
+
MEASURES_REGEX = %r{([\[[\w#b/]+\]\s]+)[|]*}i
|
|
17
|
+
CHORDS_REGEX = %r{\[([\w#b+/]+)\]?}i
|
|
18
18
|
COMMENT_REGEX = />\s*([^$]*)/
|
|
19
19
|
|
|
20
20
|
def self.parse(lines)
|
|
@@ -22,11 +22,11 @@ module SongPro
|
|
|
22
22
|
current_section = nil
|
|
23
23
|
|
|
24
24
|
lines.split("\n").each do |text|
|
|
25
|
-
if text.start_with?(
|
|
25
|
+
if text.start_with?("@")
|
|
26
26
|
process_attribute(song, text)
|
|
27
|
-
elsif text.start_with?(
|
|
27
|
+
elsif text.start_with?("!")
|
|
28
28
|
process_custom_attribute(song, text)
|
|
29
|
-
elsif text.start_with?(
|
|
29
|
+
elsif text.start_with?("#")
|
|
30
30
|
current_section = process_section(song, text)
|
|
31
31
|
else
|
|
32
32
|
process_lyrics_and_chords(song, current_section, text)
|
|
@@ -50,8 +50,8 @@ module SongPro
|
|
|
50
50
|
key = matches[1]
|
|
51
51
|
value = matches[2].strip
|
|
52
52
|
|
|
53
|
-
if song.respond_to?("#{key}="
|
|
54
|
-
song.send("#{key}=", value)
|
|
53
|
+
if song.respond_to?(:"#{key}=")
|
|
54
|
+
song.send(:"#{key}=", value)
|
|
55
55
|
else
|
|
56
56
|
puts "WARNING: Unknown attribute '#{key}'"
|
|
57
57
|
end
|
|
@@ -66,18 +66,18 @@ module SongPro
|
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def self.process_lyrics_and_chords(song, current_section, text)
|
|
69
|
-
return if text ==
|
|
69
|
+
return if text == ""
|
|
70
70
|
|
|
71
71
|
if current_section.nil?
|
|
72
|
-
current_section = Section.new(name:
|
|
72
|
+
current_section = Section.new(name: "")
|
|
73
73
|
song.sections << current_section
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
line = Line.new
|
|
77
77
|
|
|
78
|
-
if text.start_with?(
|
|
78
|
+
if text.start_with?("|-")
|
|
79
79
|
line.tablature = text
|
|
80
|
-
elsif text.start_with?(
|
|
80
|
+
elsif text.start_with?("| ")
|
|
81
81
|
captures = text.scan(MEASURES_REGEX).flatten
|
|
82
82
|
|
|
83
83
|
measures = []
|
|
@@ -90,7 +90,7 @@ module SongPro
|
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
line.measures = measures
|
|
93
|
-
elsif text.start_with?(
|
|
93
|
+
elsif text.start_with?(">")
|
|
94
94
|
matches = COMMENT_REGEX.match(text)
|
|
95
95
|
comment = matches[1].strip
|
|
96
96
|
line.comment = comment
|
|
@@ -99,11 +99,11 @@ module SongPro
|
|
|
99
99
|
|
|
100
100
|
captures.each_slice(2) do |pair|
|
|
101
101
|
part = Part.new
|
|
102
|
-
chord = pair[0]&.strip ||
|
|
103
|
-
part.chord = chord.delete(
|
|
104
|
-
part.lyric = pair[1] ||
|
|
102
|
+
chord = pair[0]&.strip || ""
|
|
103
|
+
part.chord = chord.delete("[").delete("]")
|
|
104
|
+
part.lyric = pair[1] || ""
|
|
105
105
|
|
|
106
|
-
line.parts << part unless (part.chord ==
|
|
106
|
+
line.parts << part unless (part.chord == "") && (part.lyric == "")
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
109
|
|
data/song_pro.gemspec
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
lib = File.expand_path(
|
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
-
require
|
|
5
|
+
require "song_pro/version"
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
|
-
spec.name
|
|
9
|
-
spec.version
|
|
10
|
-
spec.authors
|
|
11
|
-
spec.email
|
|
8
|
+
spec.name = "song_pro"
|
|
9
|
+
spec.version = SongPro::VERSION
|
|
10
|
+
spec.authors = ["Brian Kelly"]
|
|
11
|
+
spec.email = ["polymonic@gmail.com"]
|
|
12
12
|
|
|
13
|
-
spec.summary
|
|
14
|
-
spec.description
|
|
15
|
-
spec.homepage
|
|
16
|
-
spec.license
|
|
13
|
+
spec.summary = "Converts SongPro files to HTML"
|
|
14
|
+
spec.description = "Provides classes for creating, parsing and rendering SongPro files"
|
|
15
|
+
spec.homepage = "https://songpro.org"
|
|
16
|
+
spec.license = "MIT"
|
|
17
17
|
|
|
18
18
|
if spec.respond_to?(:metadata)
|
|
19
|
-
spec.metadata[
|
|
19
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
|
20
20
|
else
|
|
21
|
-
raise
|
|
22
|
-
|
|
21
|
+
raise "RubyGems 2.0 or newer is required to protect against " \
|
|
22
|
+
"public gem pushes."
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
26
26
|
f.match(%r{^(test|spec|features)/})
|
|
27
27
|
end
|
|
28
|
-
spec.require_paths = [
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
29
|
|
|
30
|
-
spec.
|
|
31
|
-
spec.add_development_dependency "
|
|
32
|
-
spec.add_development_dependency
|
|
33
|
-
spec.add_development_dependency
|
|
30
|
+
spec.add_development_dependency "bundler"
|
|
31
|
+
spec.add_development_dependency "rake"
|
|
32
|
+
spec.add_development_dependency "rspec"
|
|
33
|
+
spec.add_development_dependency "standardrb"
|
|
34
34
|
end
|
metadata
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: song_pro
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brian Kelly
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-06-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '0'
|
|
20
|
-
type: :
|
|
20
|
+
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
@@ -25,47 +25,47 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: '0'
|
|
34
34
|
type: :development
|
|
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:
|
|
40
|
+
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :development
|
|
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: '
|
|
54
|
+
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: standardrb
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '0'
|
|
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: '
|
|
68
|
+
version: '0'
|
|
69
69
|
description: Provides classes for creating, parsing and rendering SongPro files
|
|
70
70
|
email:
|
|
71
71
|
- polymonic@gmail.com
|
|
@@ -77,7 +77,7 @@ files:
|
|
|
77
77
|
- ".gitignore"
|
|
78
78
|
- ".rspec"
|
|
79
79
|
- ".ruby-version"
|
|
80
|
-
- ".
|
|
80
|
+
- ".tool-versions"
|
|
81
81
|
- Gemfile
|
|
82
82
|
- Gemfile.lock
|
|
83
83
|
- LICENSE.txt
|
|
@@ -98,7 +98,7 @@ licenses:
|
|
|
98
98
|
- MIT
|
|
99
99
|
metadata:
|
|
100
100
|
allowed_push_host: https://rubygems.org
|
|
101
|
-
post_install_message:
|
|
101
|
+
post_install_message:
|
|
102
102
|
rdoc_options: []
|
|
103
103
|
require_paths:
|
|
104
104
|
- lib
|
|
@@ -113,8 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
113
113
|
- !ruby/object:Gem::Version
|
|
114
114
|
version: '0'
|
|
115
115
|
requirements: []
|
|
116
|
-
rubygems_version: 3.
|
|
117
|
-
signing_key:
|
|
116
|
+
rubygems_version: 3.5.11
|
|
117
|
+
signing_key:
|
|
118
118
|
specification_version: 4
|
|
119
119
|
summary: Converts SongPro files to HTML
|
|
120
120
|
test_files: []
|