thinreports 0.10.1 → 0.10.2

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.
Files changed (33) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +7 -8
  3. data/CHANGELOG.md +6 -0
  4. data/README.md +3 -3
  5. data/Rakefile +1 -4
  6. data/lib/thinreports/core/shape.rb +2 -3
  7. data/lib/thinreports/core/shape/base/interface.rb +0 -1
  8. data/lib/thinreports/core/shape/list/manager.rb +1 -4
  9. data/lib/thinreports/core/shape/list/page.rb +1 -4
  10. data/lib/thinreports/core/shape/manager/internal.rb +0 -1
  11. data/lib/thinreports/core/shape/page_number/internal.rb +0 -1
  12. data/lib/thinreports/core/shape/text_block/formatter/number.rb +2 -6
  13. data/lib/thinreports/core/utils.rb +2 -2
  14. data/lib/thinreports/generator/pdf/document/draw_shape.rb +0 -1
  15. data/lib/thinreports/generator/pdf/document/draw_template_items.rb +0 -1
  16. data/lib/thinreports/generator/pdf/document/font.rb +16 -10
  17. data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +0 -1
  18. data/lib/thinreports/generator/pdf/document/graphics/basic.rb +0 -1
  19. data/lib/thinreports/generator/pdf/document/graphics/text.rb +0 -3
  20. data/lib/thinreports/generator/pdf/document/page.rb +1 -4
  21. data/lib/thinreports/generator/pdf/drawer/list.rb +0 -1
  22. data/lib/thinreports/generator/pdf/prawn_ext/calc_image_dimensions.rb +1 -3
  23. data/lib/thinreports/layout/base.rb +1 -3
  24. data/lib/thinreports/layout/format.rb +0 -1
  25. data/lib/thinreports/layout/legacy_schema.rb +1 -6
  26. data/lib/thinreports/report/internal.rb +1 -3
  27. data/lib/thinreports/report/page.rb +2 -7
  28. data/lib/thinreports/version.rb +1 -1
  29. data/test/unit/core/shape/list/test_page.rb +0 -2
  30. data/test/unit/generator/pdf/document/test_font.rb +35 -9
  31. data/thinreports.gemspec +6 -7
  32. metadata +3 -18
  33. data/.rubocop.yml +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 687d41cb0fe000892fa4cb8751fdc8fa70e20f0e
4
- data.tar.gz: 0a40e144fe135538bb37e793117f7a56348a934b
2
+ SHA256:
3
+ metadata.gz: b4474cfbc0c46ee058fe7c39e3a6b927f6095ca471696c119e306c1cf9aa7e67
4
+ data.tar.gz: ef944d6dc314c13c8c983af7fc9ccec2a949f7c59e113978b1626daaea3bee54
5
5
  SHA512:
6
- metadata.gz: 0d6da77661a179f657503f76f3e4c12b6664a73cac7f403aaf4506efb201ad336a18dd44612e4e456fdfb063e3c837692c02e877a3117897fb54b1dd4eefb3fe
7
- data.tar.gz: 57443d5529f32831839676b6f9a8bb7a487153d0282e8c5fbee762ac52443f997071437b99d8543e81eeb8fbf785b5fb07b17825ff774f83b3e1508fe4239e37
6
+ metadata.gz: eb722605ed4c420f4eaca8880be300e3dbed0817b3c0eaac6fe8c34cd52f55b097dfec1a691e26c996f46405fec10db2f3caace17a8d7a1b248338f92b3e9cca
7
+ data.tar.gz: fb5756fdf71f6ccf23f75102b4e94c362e0959e50e79f84f6dc33f116e3ca758a38471c49499132cebc17da58c8ca2ae6e492bb9ca40690a5d3371fc865742bb
@@ -2,15 +2,14 @@ language: ruby
2
2
  sudo: false
3
3
  rvm:
4
4
  - 2.1.10
5
- - 2.2.7
6
- - 2.3.4
7
- - 2.4.1
8
- - jruby-9.1.8.0
5
+ - 2.2.9
6
+ - 2.3.6
7
+ - 2.4.3
8
+ - 2.5.0
9
+ - jruby-9.1.15.0
9
10
 
10
- branches:
11
- only:
12
- - master
13
- - /stable$/
11
+ before_install:
12
+ - travis_retry gem update --system
14
13
 
15
14
  notifications:
16
15
  slack:
@@ -1,3 +1,9 @@
1
+ ## 0.10.2
2
+
3
+ Bug Fixes:
4
+
5
+ * Fixed: Prawn::Errors::UnknownFont error occured: "is not a known font" #89
6
+
1
7
  ## 0.10.1
2
8
 
3
9
  Bug Fixes:
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/thinreports.svg)](http://badge.fury.io/rb/thinreports)
4
4
  [![](http://img.shields.io/travis/thinreports/thinreports-generator.svg?style=flat)](http://travis-ci.org/thinreports/thinreports-generator)
5
- [![](http://img.shields.io/codeclimate/github/thinreports/thinreports-generator.svg?style=flat)](https://codeclimate.com/github/thinreports/thinreports-generator)
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/054b400031608957ec4a/maintainability)](https://codeclimate.com/github/thinreports/thinreports-generator/maintainability)
6
6
  [![](http://img.shields.io/gemnasium/thinreports/thinreports-generator.svg?style=flat)](https://gemnasium.com/thinreports/thinreports-generator)
7
7
 
8
8
  [Thinreports](http://www.thinreports.org) is an open source report generating tool for Ruby.
@@ -21,8 +21,8 @@
21
21
 
22
22
  ## Supported versions
23
23
 
24
- * Ruby 2.1, 2.2, 2.3, 2.4
25
- * JRuby 9.1.8.0
24
+ * Ruby 2.1, 2.2, 2.3, 2.4, 2.5
25
+ * JRuby 9.1.15.0
26
26
 
27
27
  ## Quick Reference
28
28
 
data/Rakefile CHANGED
@@ -1,8 +1,7 @@
1
1
  require 'rake/testtask'
2
- require 'rubocop/rake_task'
3
2
  require 'yard'
4
3
 
5
- task default: %i[test rubocop]
4
+ task default: :test
6
5
 
7
6
  Rake::TestTask.new do |t|
8
7
  t.libs << 'test'
@@ -34,5 +33,3 @@ YARD::Rake::YardocTask.new :doc do |yard|
34
33
  yard.files = Dir['lib/**/*.rb']
35
34
  yard.options = ['--readme', 'README.md']
36
35
  end
37
-
38
- RuboCop::RakeTask.new
@@ -3,17 +3,16 @@
3
3
  module Thinreports
4
4
  module Core
5
5
  module Shape
6
- def Interface(parent, format) # rubocop:disable Naming/MethodName
6
+ def Interface(parent, format)
7
7
  find_by_type(format.type)::Interface.new(parent, format)
8
8
  end
9
9
 
10
- def Format(type) # rubocop:disable Naming/MethodName
10
+ def Format(type)
11
11
  find_by_type(type)::Format
12
12
  end
13
13
 
14
14
  module_function :Interface, :Format
15
15
 
16
- # rubocop:disable Metrics/CyclomaticComplexity
17
16
  def self.find_by_type(type)
18
17
  case type
19
18
  when TextBlock::TYPE_NAME then TextBlock
@@ -30,7 +30,6 @@ module Thinreports
30
30
  # @param [Thinreports::Core::Shape::Basic::Format] format
31
31
  # @return [Thinreports::Core::Shape::Basic::Internal]
32
32
  # @abstract
33
- # rubocop:disable Lint/UnusedMethodArgument
34
33
  def init_internal(parent, format)
35
34
  raise NotImplementedError
36
35
  end
@@ -4,7 +4,6 @@ module Thinreports
4
4
  module Core
5
5
  module Shape
6
6
  module List
7
- # rubocop:disable Metrics/ClassLength
8
7
  class Manager
9
8
  include Utils
10
9
 
@@ -136,9 +135,7 @@ module Thinreports
136
135
  def overflow_with?(section_name = :detail)
137
136
  max_height = page_max_height
138
137
 
139
- if section_name == :footer && format.has_page_footer?
140
- max_height += format.section_height(:page_footer)
141
- end
138
+ max_height += format.section_height(:page_footer) if section_name == :footer && format.has_page_footer?
142
139
 
143
140
  height = format.section_height(section_name)
144
141
  (current_page_state.height + height) > max_height
@@ -74,7 +74,6 @@ module Thinreports
74
74
 
75
75
  # @param [Thinreports::Report::Page] new_parent
76
76
  # @return [Thinreports::Core::Shape::List::Page]
77
- # rubocop:disable Metrics/AbcSize
78
77
  def copy(new_parent)
79
78
  if manager.auto_page_break?
80
79
  new_list = self.class.new(new_parent, internal.format,
@@ -90,9 +89,7 @@ module Thinreports
90
89
  new_list.internal.finalized!
91
90
  end
92
91
 
93
- if internal.format.has_header?
94
- new_list.internal.header = internal.header.copy(new_list)
95
- end
92
+ new_list.internal.header = internal.header.copy(new_list) if internal.format.has_header?
96
93
  new_list
97
94
  end
98
95
 
@@ -47,7 +47,6 @@ module Thinreports
47
47
 
48
48
  # @param [String, Symbol] id
49
49
  # @return [Thinreports::Core::Shape::Base::Interface, nil]
50
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
51
50
  def final_shape(id)
52
51
  shape = shapes[id]
53
52
 
@@ -19,7 +19,6 @@ module Thinreports
19
19
  states[:format] = format.to_s
20
20
  end
21
21
 
22
- # rubocop:disable Metrics/AbcSize
23
22
  def build_format(page_no, page_count)
24
23
  return '' if blank_value?(read_format)
25
24
 
@@ -15,12 +15,8 @@ module Thinreports
15
15
  delimiter = format.format_number_delimiter
16
16
 
17
17
  if_applicable value do |val|
18
- unless blank_value?(precision)
19
- val = number_with_precision(val, precision)
20
- end
21
- unless blank_value?(delimiter)
22
- val = number_with_delimiter(val, delimiter)
23
- end
18
+ val = number_with_precision(val, precision) unless blank_value?(precision)
19
+ val = number_with_delimiter(val, delimiter) unless blank_value?(delimiter)
24
20
  val
25
21
  end
26
22
  end
@@ -10,11 +10,11 @@ module Thinreports
10
10
  case src
11
11
  when Hash
12
12
  src.each_with_object({}) do |(k, v), h|
13
- h[k] = v.dup rescue v # rubocop:disable Lint/RescueWithoutErrorClass,Lint/RescueModifier
13
+ h[k] = v.dup rescue v
14
14
  end
15
15
  when Array
16
16
  src.map do |a|
17
- a.dup rescue a # rubocop:disable Lint/RescueWithoutErrorClass,Lint/RescueModifier
17
+ a.dup rescue a
18
18
  end
19
19
  else
20
20
  raise ArgumentError
@@ -5,7 +5,6 @@ module Thinreports
5
5
  class PDF
6
6
  module DrawShape
7
7
  # @param [Thinreports::Core::Shape::TextBlock::Internal] shape
8
- # rubocop:disable Metrics/AbcSize
9
8
  def draw_shape_tblock(shape)
10
9
  x, y, w, h = shape.format.attributes.values_at('x', 'y', 'width', 'height')
11
10
 
@@ -5,7 +5,6 @@ module Thinreports
5
5
  class PDF
6
6
  module DrawTemplateItems
7
7
  # @param [Array<Hash>] items
8
- # rubocop:disable Metrics/CyclomaticComplexity
9
8
  def draw_template_items(items)
10
9
  items.each do |item_attributes|
11
10
  next unless drawable?(item_attributes)
@@ -7,10 +7,10 @@ module Thinreports
7
7
  FONT_STORE = Thinreports.root.join('fonts')
8
8
 
9
9
  BUILTIN_FONTS = {
10
- 'IPAMincho' => { normal: FONT_STORE.join('ipam.ttf').to_s },
11
- 'IPAPMincho' => { normal: FONT_STORE.join('ipamp.ttf').to_s },
12
- 'IPAGothic' => { normal: FONT_STORE.join('ipag.ttf').to_s },
13
- 'IPAPGothic' => { normal: FONT_STORE.join('ipagp.ttf').to_s }
10
+ 'IPAMincho' => FONT_STORE.join('ipam.ttf').to_s,
11
+ 'IPAPMincho' => FONT_STORE.join('ipamp.ttf').to_s,
12
+ 'IPAGothic' => FONT_STORE.join('ipag.ttf').to_s,
13
+ 'IPAPGothic' => FONT_STORE.join('ipagp.ttf').to_s
14
14
  }.freeze
15
15
 
16
16
  DEFAULT_FALLBACK_FONTS = %w[IPAMincho].freeze
@@ -20,10 +20,11 @@ module Thinreports
20
20
  'Times New Roman' => 'Times-Roman'
21
21
  }.freeze
22
22
 
23
- # rubocop:disable Metrics/AbcSize
24
23
  def setup_fonts
25
24
  # Install built-in fonts.
26
- pdf.font_families.update(BUILTIN_FONTS)
25
+ BUILTIN_FONTS.each do |font_name, font_path|
26
+ install_font(font_name, font_path)
27
+ end
27
28
 
28
29
  # Create aliases from the font list provided by Prawn.
29
30
  PRAWN_BUINTIN_FONT_ALIASES.each do |alias_name, name|
@@ -70,11 +71,16 @@ module Thinreports
70
71
  pdf.font_families.key?(family) ? family : default_family
71
72
  end
72
73
 
73
- # @param [String] font
74
- # @param [Symbol] style
74
+ # @param [String] font_name
75
+ # @param [:bold, :italic] font_style
75
76
  # @return [Boolean]
76
- def font_has_style?(font, style)
77
- (f = pdf.font_families[font]) && f.key?(style)
77
+ def font_has_style?(font_name, font_style)
78
+ font = pdf.font_families[font_name]
79
+
80
+ return false unless font
81
+ return false unless font.key?(font_style)
82
+
83
+ font[font_style] != font[:normal]
78
84
  end
79
85
  end
80
86
  end
@@ -23,7 +23,6 @@ module Thinreports
23
23
  # @yield [attrs]
24
24
  # @yieldparam [Hash] attrs
25
25
  # @return [Hash]
26
- # rubocop:disable Metrics/AbcSize
27
26
  def build_text_attributes(style, &block)
28
27
  text_attributes = {
29
28
  font: font_family(style['font-family']),
@@ -65,7 +65,6 @@ module Thinreports
65
65
  end
66
66
 
67
67
  # @param [Hash] attrs
68
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
69
68
  def with_graphic_styles(attrs, &block)
70
69
  stroke = build_stroke_styles(attrs)
71
70
  fill = build_fill_styles(attrs)
@@ -40,7 +40,6 @@ module Thinreports
40
40
  built_attrs.merge(box_attrs)
41
41
  )
42
42
  end
43
- # rubocop:disable Lint/HandleExceptions
44
43
  rescue Prawn::Errors::CannotFit
45
44
  # Nothing to do.
46
45
  #
@@ -81,7 +80,6 @@ module Thinreports
81
80
  # @yield [built_attrs, font_styles]
82
81
  # @yieldparam [Hash] built_attrs The finalized attributes.
83
82
  # @yieldparam [Array] font_styles The finalized styles.
84
- # rubocop:disable Metrics/AbcSize
85
83
  def with_text_styles(attrs, &block)
86
84
  # When no color is given, do not draw.
87
85
  return unless attrs.key?(:color) && attrs[:color] != 'none'
@@ -139,7 +137,6 @@ module Thinreports
139
137
  # @yield [attributes, styles]
140
138
  # @yieldparam [Hash] modified_attrs
141
139
  # @yieldparam [Array] styles
142
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
143
140
  def with_font_styles(attrs, font, &block)
144
141
  # Building font styles.
145
142
  styles = attrs.delete(:styles)
@@ -10,16 +10,13 @@ module Thinreports
10
10
  }.freeze
11
11
 
12
12
  # @param [Thinreports::Layout::Format] format
13
- # rubocop:disable Metrics/AbcSize
14
13
  def start_new_page(format)
15
14
  format_id =
16
15
  if change_page_format?(format)
17
16
  pdf.start_new_page(new_basic_page_options(format))
18
17
  @current_page_format = format
19
18
 
20
- unless format_stamp_registry.include?(format.identifier)
21
- create_format_stamp(format)
22
- end
19
+ create_format_stamp(format) unless format_stamp_registry.include?(format.identifier)
23
20
  format.identifier
24
21
  else
25
22
  pdf.start_new_page(new_basic_page_options(current_page_format))
@@ -12,7 +12,6 @@ module Thinreports
12
12
  end
13
13
 
14
14
  # @param [Thinreports::Core::Shape::List::PageState] list_page
15
- # rubocop:disable Metrics/AbcSize
16
15
  def draw(list_page)
17
16
  draw_section(list_page.header) if list_page.header
18
17
  list_page.rows.each do |row|
@@ -20,9 +20,7 @@ module Thinreports
20
20
 
21
21
  box_width, box_height = options.delete(:auto_fit)
22
22
 
23
- if image_width > box_width || image_height > box_height
24
- options[:fit] = [box_width, box_height]
25
- end
23
+ options[:fit] = [box_width, box_height] if image_width > box_width || image_height > box_height
26
24
  end
27
25
  super(options)
28
26
  end
@@ -14,9 +14,7 @@ module Thinreports
14
14
  def load_format(filename)
15
15
  filename += ".#{EXT_NAME}" unless filename =~ /\.#{EXT_NAME}$/
16
16
 
17
- unless File.exist?(filename)
18
- raise Thinreports::Errors::LayoutFileNotFound
19
- end
17
+ raise Thinreports::Errors::LayoutFileNotFound unless File.exist?(filename)
20
18
  # Build format.
21
19
  Thinreports::Layout::Format.build(filename)
22
20
  end
@@ -13,7 +13,6 @@ module Thinreports
13
13
  page_orientation: %w[report orientation]
14
14
 
15
15
  class << self
16
- # rubocop:disable Metrics/AbcSize
17
16
  def build(filename)
18
17
  schema = JSON.parse(read_file(filename))
19
18
  schema_version = Layout::Version.new(schema['version'])
@@ -5,7 +5,6 @@ require 'rexml/document'
5
5
 
6
6
  module Thinreports
7
7
  module Layout
8
- # rubocop:disable Metrics/ClassLength
9
8
  class LegacySchema
10
9
  include Utils
11
10
 
@@ -17,7 +16,6 @@ module Thinreports
17
16
  @legacy_svg = cleanup_svg(@legacy_svg)
18
17
  end
19
18
 
20
- # rubocop:disable Metrics/AbcSize
21
19
  def upgrade
22
20
  config = legacy_schema['config']
23
21
  page_config = config['page']
@@ -48,7 +46,6 @@ module Thinreports
48
46
  build_item_schemas_from_svg(svg.elements['/svg/g'])
49
47
  end
50
48
 
51
- # rubocop:disable Metrics/CyclomaticComplexity
52
49
  def build_item_schemas_from_svg(svg_elements)
53
50
  return [] unless svg_elements
54
51
 
@@ -277,9 +274,7 @@ module Thinreports
277
274
  'footer' => footer
278
275
  }
279
276
 
280
- if page_footer['enabled']
281
- page_footer['translate']['y'] += detail['height']
282
- end
277
+ page_footer['translate']['y'] += detail['height'] if page_footer['enabled']
283
278
 
284
279
  if footer['enabled']
285
280
  footer['translate']['y'] += detail['height']
@@ -33,9 +33,7 @@ module Thinreports
33
33
  else
34
34
  id = options[:id].to_sym
35
35
 
36
- if layout_registry.key?(id)
37
- raise ArgumentError, "Id :#{id} is already in use."
38
- end
36
+ raise ArgumentError, "Id :#{id} is already in use." if layout_registry.key?(id)
39
37
  layout_registry[id] = init_layout(layout, id)
40
38
  end
41
39
  end
@@ -64,7 +64,6 @@ module Thinreports
64
64
  false
65
65
  end
66
66
 
67
- # rubocop:disable Metrics/AbcSize
68
67
  def copy
69
68
  new_page = self.class.new(report, layout, count: count?)
70
69
 
@@ -72,9 +71,7 @@ module Thinreports
72
71
  new_shape = shape.copy(new_page)
73
72
  new_page.manager.shapes[id] = new_shape
74
73
 
75
- if new_shape.internal.type_of?(Core::Shape::List::TYPE_NAME)
76
- new_page.manager.lists[id] = new_shape
77
- end
74
+ new_page.manager.lists[id] = new_shape if new_shape.internal.type_of?(Core::Shape::List::TYPE_NAME)
78
75
  end
79
76
  new_page
80
77
  end
@@ -85,9 +82,7 @@ module Thinreports
85
82
  at = options[:at] || :create
86
83
 
87
84
  # For list shapes.
88
- if at == :create
89
- manager.lists.each_value { |list| list.manager.finalize }
90
- end
85
+ manager.lists.each_value { |list| list.manager.finalize } if at == :create
91
86
 
92
87
  @finalized = true
93
88
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Thinreports
4
- VERSION = '0.10.1'.freeze
4
+ VERSION = '0.10.2'.freeze
5
5
  end
@@ -120,7 +120,6 @@ class Thinreports::Core::Shape::List::TestPage < Minitest::Test
120
120
 
121
121
  report = Thinreports::Report::Base.new
122
122
  layout = Thinreports::Layout::Base.new(layout_file.path)
123
- report_page = Thinreports::Report::Page.new(report, layout)
124
123
 
125
124
  list_format = Thinreports::Core::Shape::List::Format.new(list_schema)
126
125
 
@@ -140,7 +139,6 @@ class Thinreports::Core::Shape::List::TestPage < Minitest::Test
140
139
 
141
140
  report = Thinreports::Report::Base.new
142
141
  layout = Thinreports::Layout::Base.new(layout_file.path)
143
- report_page = Thinreports::Report::Page.new(report, layout)
144
142
 
145
143
  list_format = Thinreports::Core::Shape::List::Format.new(list_schema)
146
144
 
@@ -17,8 +17,14 @@ class Thinreports::Generator::PDF::TestFont < Minitest::Test
17
17
  def test_setup_fonts
18
18
  pdf = document.pdf
19
19
 
20
- Font::BUILTIN_FONTS.each do |name, font|
21
- assert_equal font, pdf.font_families[name]
20
+ Font::BUILTIN_FONTS.each do |name, path|
21
+ expected_font = {
22
+ normal: path,
23
+ bold: path,
24
+ italic: path,
25
+ bold_italic: path
26
+ }
27
+ assert_equal expected_font, pdf.font_families[name]
22
28
  end
23
29
 
24
30
  Font::PRAWN_BUINTIN_FONT_ALIASES.each do |alias_font, original_font|
@@ -65,16 +71,36 @@ class Thinreports::Generator::PDF::TestFont < Minitest::Test
65
71
  end
66
72
  end
67
73
 
68
- def test_font_helpers
69
- doc = document
74
+ def test_default_family
75
+ assert_equal 'Helvetica', document.default_family
76
+ end
77
+
78
+ def test_default_family_if_mmissing
79
+ assert_equal 'Helvetica', document.default_family_if_missing('unknown')
80
+ assert_equal 'IPAMincho', document.default_family_if_missing('IPAMincho')
81
+ end
82
+
83
+ def test_font_has_style?
84
+ doc = create_document
85
+
86
+ assert_equal false, doc.font_has_style?('unknown', :bold)
70
87
 
71
- assert_equal 'Helvetica', doc.default_family
88
+ doc.pdf.font_families['font_foo'] = {
89
+ normal: '/path/to/foo.ttf'
90
+ }
91
+ assert_equal false, doc.font_has_style?('font_foo', :italic)
72
92
 
73
- assert_equal 'Helvetica', doc.default_family_if_missing('unknown')
74
- assert_equal 'IPAMincho', doc.default_family_if_missing('IPAMincho')
93
+ doc.pdf.font_families['font_foo'] = {
94
+ normal: '/path/to/foo.ttf',
95
+ bold: '/path/to/foo.ttf'
96
+ }
97
+ assert_equal false, doc.font_has_style?('font_foo', :bold)
75
98
 
76
- assert_equal false, doc.font_has_style?('IPAMincho', :bold)
77
- assert_equal true, doc.font_has_style?('Courier New', :bold)
99
+ doc.pdf.font_families['font_foo'] = {
100
+ normal: '/path/to/foo.ttf',
101
+ bold: '/path/to/foo_bold.ttf'
102
+ }
103
+ assert_equal true, doc.font_has_style?('font_foo', :bold)
78
104
  end
79
105
 
80
106
  def document
@@ -21,11 +21,10 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_dependency 'prawn', '~> 2.2.0'
23
23
 
24
- s.add_development_dependency 'bundler', ['>= 1.0.0']
25
- s.add_development_dependency 'minitest', ['>= 5.0.0']
26
- s.add_development_dependency 'mocha', ['>= 0']
27
- s.add_development_dependency 'pdf-inspector', ['>= 0']
28
- s.add_development_dependency 'rake', ['>= 0']
29
- s.add_development_dependency 'rubocop', ['>= 0']
30
- s.add_development_dependency 'yard'
24
+ s.add_development_dependency 'bundler', '>= 1.0.0'
25
+ s.add_development_dependency 'minitest', '>= 5.0.0'
26
+ s.add_development_dependency 'mocha', '>= 0'
27
+ s.add_development_dependency 'pdf-inspector', '>= 0'
28
+ s.add_development_dependency 'rake', '>= 0'
29
+ s.add_development_dependency 'yard', '>= 0'
31
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thinreports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matsukei Co.,Ltd.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-30 00:00:00.000000000 Z
11
+ date: 2018-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: yard
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +116,6 @@ extra_rdoc_files: []
130
116
  files:
131
117
  - ".github/CONTRIBUTING.md"
132
118
  - ".gitignore"
133
- - ".rubocop.yml"
134
119
  - ".travis.yml"
135
120
  - CHANGELOG.md
136
121
  - Gemfile
@@ -361,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
361
346
  version: '0'
362
347
  requirements: []
363
348
  rubyforge_project:
364
- rubygems_version: 2.6.11
349
+ rubygems_version: 2.7.6
365
350
  signing_key:
366
351
  specification_version: 4
367
352
  summary: An open source report generation tool for Ruby.
@@ -1,41 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - 'examples/**/*'
4
- - 'test/**/*'
5
- - 'thinreports.gemspec'
6
-
7
- Metrics/LineLength:
8
- Max: 120
9
-
10
- Metrics/MethodLength:
11
- Enabled: false
12
-
13
- Metrics/ParameterLists:
14
- Max: 6
15
-
16
- Performance/RedundantBlockCall:
17
- Enabled: false
18
-
19
- Performance/RegexpMatch:
20
- Enabled: false
21
-
22
- Style/Documentation:
23
- Enabled: false
24
-
25
- Style/FormatString:
26
- Enabled: false
27
-
28
- Style/FrozenStringLiteralComment:
29
- Enabled: false
30
-
31
- Style/NumericPredicate:
32
- Enabled: false
33
-
34
- Style/PerlBackrefs:
35
- Enabled: false
36
-
37
- Naming/PredicateName:
38
- Enabled: false
39
-
40
- Style/SafeNavigation:
41
- Enabled: false