song_pro 0.1.5 → 0.1.6

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: d5b9d169304e009b8c9876b13232d4d04304943598b0bbb92835c2661a777313
4
- data.tar.gz: 415a129826227cd2a1a714dcb2c3cbdbf20064a51bc62598db79292b190fc5c0
3
+ metadata.gz: 2cc000fc4571c9fa968eab38c8f17fd41018ce41bcadf232ae0322f3b945c24c
4
+ data.tar.gz: 0d022723e2b367d8a5eb8830cdcb4d49fc1d802798dfdb36ea61ce4599c77de2
5
5
  SHA512:
6
- metadata.gz: f4d6365fdfcf86dd304ab76ac04b23168eb4650324b6aa858a8885ac538dd507b719be2a209e346c9d47f2cd1c7874ea2ccfcaeabc02c3f9455d88e70c3ca8d7
7
- data.tar.gz: 3f7a514db743c783750feecdd093e78ca1d86cd30840a04f41561261e329b47f46c816da6904a85e2be36c4fdd626dc10b0de4933d418b5dc7d95bdef8bb185e
6
+ metadata.gz: eeea491a0ef30fed63a319473e8915f8b56d1c3a3d347e422574a12f8cd253200368bfbd131608bd42e1b4bcfa7309ede20de2a1c623fd6fb7c51d2b4650d0ec
7
+ data.tar.gz: 8a229476ec09221725d4b25b38c7b5e6c1c11217ef6ea7ba933acfbfe1f419d3d2ee87d80b15c64eec813e1aba18649cd9ca5cebbfcc21cb99d17c9e0253f77a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- song_pro (0.1.5)
4
+ song_pro (0.1.6)
5
5
  markaby
6
6
 
7
7
  GEM
data/lib/song_pro/line.rb CHANGED
@@ -2,21 +2,25 @@
2
2
 
3
3
  module SongPro
4
4
  class Line
5
- attr_accessor :parts, :tablature, :measures
5
+ attr_accessor :parts, :tablature, :measures, :comment
6
6
 
7
7
  def initialize
8
8
  @parts = []
9
9
  @tablature = nil
10
10
  @measures = nil
11
+ @comment = nil
11
12
  end
12
13
 
13
14
  def tablature?
14
- return @tablature != nil
15
+ !@tablature.nil?
15
16
  end
16
17
 
17
18
  def measures?
18
- return @measures != nil
19
+ !@measures.nil?
19
20
  end
20
21
 
22
+ def comment?
23
+ !@comment.nil?
24
+ end
21
25
  end
22
- end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module SongPro
2
- VERSION = '0.1.5'.freeze
2
+ VERSION = '0.1.6'.freeze
3
3
  end
data/lib/song_pro.rb CHANGED
@@ -14,6 +14,7 @@ module SongPro
14
14
  CHORDS_AND_LYRICS_REGEX = %r{(\[[\w#b\/]+\])?([\w\s',.!()_\-"]*)}i
15
15
  MEASURES_REGEX = %r{([\[[\w#b\/]+\]\s]+)[|]*}i
16
16
  CHORDS_REGEX = %r{\[([\w#b\/]+)\]?}i
17
+ COMMENT_REGEX = />\s*([^$]*)/
17
18
 
18
19
  def self.parse(lines)
19
20
  song = Song.new
@@ -88,6 +89,10 @@ module SongPro
88
89
  end
89
90
 
90
91
  line.measures = measures
92
+ elsif text.start_with?('>')
93
+ matches = COMMENT_REGEX.match(text)
94
+ comment = matches[1].strip
95
+ line.comment = comment
91
96
  else
92
97
  captures = text.scan(CHORDS_AND_LYRICS_REGEX).flatten
93
98
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: song_pro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Kelly
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-05 00:00:00.000000000 Z
11
+ date: 2019-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: markaby