thinreports 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
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