songbook 0.3.0 → 0.4.0

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: 90cddbc8c8b4aa8edfc5059faf10479cdab00951f5ac602402a7825d7de218b0
4
- data.tar.gz: 61f2a951e620756d1b443f7f228e35aac862b1f28cb06d224aae9a9fce955bba
3
+ metadata.gz: d862405d26a445cf66da2b06ed4fb5c35bb70ad1e14633649d2f05f141d0f340
4
+ data.tar.gz: d93153d5a854ff317a3be0c20608134aa4c343085eadef3be24ab794abdeb061
5
5
  SHA512:
6
- metadata.gz: 63300706dc45b01e44dd4e07a40d6641523e05faecc5487851a30d0d7d6fedb3325f92449ff3e1c021cb99bd91e2cf01a97ae7e032494961007865b3c12f414a
7
- data.tar.gz: 5f49d78bfb8e6d946df5ce314806a3a0ae1484a2756892a08422ce8c197e7a4ba91af98970fb3a2a2458fc08f8f31a471ea0ea901304b874cc73cbcd381adef8
6
+ metadata.gz: 632ccbdd9d3e895412c0501b7bffdeed7824fb708949eb9eaee7d91e107c0b43d34c9a92a83fa9780ec1eb2da857275476dedcf401c58408f967fb73a17f4398
7
+ data.tar.gz: 83831f2a8e03990d1bb5fce2b3338c70f62f8764b469865df8fb0bcaac2400f0193583926defa16c1471cc46fe5cf8a4ac6cc5c246f70af46bb791c11ffe59e2
@@ -27,11 +27,14 @@ module Songbook
27
27
  end
28
28
 
29
29
  def song
30
+ table_width = song_data['config']['table_width'] if song_data['config']
31
+
30
32
  @song ||= Song.new(
31
33
  title: File.basename(input_path, '.yml'),
32
34
  details: song_data['details'],
33
35
  chords: song_data['chords'],
34
- lyrics: song_data['lyrics']
36
+ lyrics: song_data['lyrics'],
37
+ table_width: table_width
35
38
  )
36
39
  end
37
40
 
@@ -5,7 +5,6 @@ require 'tty-table'
5
5
  module Songbook
6
6
  class RenderSong
7
7
  SEPARATOR = [nil, nil].freeze
8
- TABLE_WIDTH = 80
9
8
  LYRICS_CHORDS_SEPARATOR = ' '
10
9
 
11
10
  attr_reader :song
@@ -54,7 +53,7 @@ module Songbook
54
53
 
55
54
  def lyrics_column_width
56
55
  [
57
- TABLE_WIDTH - chords_column_width - LYRICS_CHORDS_SEPARATOR.length,
56
+ song.table_width - chords_column_width - LYRICS_CHORDS_SEPARATOR.length,
58
57
  max_lyrics_column_width
59
58
  ].min
60
59
  end
data/lib/songbook/song.rb CHANGED
@@ -4,13 +4,16 @@ require_relative 'verse'
4
4
 
5
5
  module Songbook
6
6
  class Song
7
- attr_reader :title, :details, :chords, :lyrics
7
+ TABLE_WIDTH = 80
8
8
 
9
- def initialize(title:, details:, chords:, lyrics:)
9
+ attr_reader :title, :details, :chords, :lyrics, :table_width
10
+
11
+ def initialize(title:, details:, chords:, lyrics:, table_width: nil)
10
12
  @title = title
11
13
  @details = details
12
14
  @chords = chords
13
15
  @lyrics = lyrics
16
+ @table_width = table_width || TABLE_WIDTH
14
17
  end
15
18
 
16
19
  def verses
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Songbook
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
data/songbook.gemspec CHANGED
@@ -34,10 +34,9 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.add_dependency 'tty-table', '~> 0.10'
36
36
 
37
- spec.add_development_dependency 'bundler', '~> 1.16'
38
- spec.add_development_dependency 'byebug'
37
+ spec.add_development_dependency 'byebug', '~> 11.1'
39
38
  spec.add_development_dependency 'overcommit', '~> 0.45'
40
- spec.add_development_dependency 'rake', '~> 10.0'
39
+ spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
41
40
  spec.add_development_dependency 'rspec', '~> 3.0'
42
41
  spec.add_development_dependency 'rubocop', '~> 0.55'
43
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: songbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - George Mendoza
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-16 00:00:00.000000000 Z
11
+ date: 2022-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-table
@@ -25,33 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.10'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.16'
33
+ version: '11.1'
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: '1.16'
41
- - !ruby/object:Gem::Dependency
42
- name: byebug
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: '11.1'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: overcommit
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +58,20 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '10.0'
61
+ version: '12.3'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 12.3.3
76
65
  type: :development
77
66
  prerelease: false
78
67
  version_requirements: !ruby/object:Gem::Requirement
79
68
  requirements:
80
69
  - - "~>"
81
70
  - !ruby/object:Gem::Version
82
- version: '10.0'
71
+ version: '12.3'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 12.3.3
83
75
  - !ruby/object:Gem::Dependency
84
76
  name: rspec
85
77
  requirement: !ruby/object:Gem::Requirement
@@ -158,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
150
  - !ruby/object:Gem::Version
159
151
  version: '0'
160
152
  requirements: []
161
- rubyforge_project:
162
- rubygems_version: 2.7.7
153
+ rubygems_version: 3.1.6
163
154
  signing_key:
164
155
  specification_version: 4
165
156
  summary: Songbook