gepub 1.0.11 → 1.0.15

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: 294cefe070bfd2c4a87e0fd46c45f10f08f75857045ad62ed02b83694ca9e9ae
4
- data.tar.gz: 1df169f042577cd0ae74db3565e92f7f70b0b87fd9bafd7de5e3802574ab1578
3
+ metadata.gz: 19218e13519e47532dee8d0a4f1c45a3acaa65dd105b4fcd1b09774f9f482bd6
4
+ data.tar.gz: abeb56bc8baa0d505f75af8403eb4e59a86aa386aeac83040c2dcf9fc2f5b45e
5
5
  SHA512:
6
- metadata.gz: 403d05c6d0a0d0121526d5ce92c8e95dfcb11aae052c84af6bec3303f8039b56852cc64fd4e1d171c715ad2b728a6eee2cee6043cedca2576999c7ccf1f35ae8
7
- data.tar.gz: 89e1b455c6d1653fc4ec60ada97da3da50d508260ce5309ca3ec3aceabecd528b1941723ac5a4e594ec0bb34ea99d7ef64a5c4c573f22d5dc7627ea9e8d4b3f0
6
+ metadata.gz: d1c20a5567c1033fceafbe660f8bc2b227b3a269125d1da4b58d2183fb13f24a4f7e56242100e37b662f03a17ebb744fc686151782ef2d8fb36c9d94ef39275b
7
+ data.tar.gz: 6dcf08c29ca933edba399cd1ffbb001196d8d8ef74cb62bcb8619135eddec743975b1654b5c3ce57342d91da7c8166949057591da1d3e429c1f326967544077e
@@ -0,0 +1,3 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: skoji
@@ -0,0 +1,8 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "20:00"
8
+ open-pull-requests-limit: 10
@@ -4,26 +4,19 @@ jobs:
4
4
  test:
5
5
  strategy:
6
6
  matrix:
7
- ruby: [2.4, 2.5, 2.6, 2.7, jruby]
7
+ ruby: [2.5, 2.6, 2.7, 3.0, jruby]
8
8
  platform: [ubuntu-latest, macos-latest, windows-latest]
9
- exclude:
10
- # TODO: https://github.com/sparklemotion/nokogiri/issues/1961
11
- # exclude windows with ruby 2.7 ; nokogiri is not supported for the present
12
- - ruby: 2.7
13
- platform: windows-latest
14
9
  runs-on: ${{ matrix.platform }}
15
10
  env:
16
11
  CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
17
12
  steps:
18
- - uses: actions/checkout@master
13
+ - uses: actions/checkout@v2
19
14
  - name: Set up Ruby
20
- uses: eregon/use-ruby-action@master
15
+ uses: ruby/setup-ruby@v1
21
16
  with:
22
17
  ruby-version: ${{ matrix.ruby }}
23
18
  - name: setup gems
24
- run: |
25
- gem install bundler
26
- bundle install
19
+ run: bundle install --jobs 4 --retry 3
27
20
  - name: run test and publish code coverage
28
21
  if: runner.os == 'Linux' && matrix.ruby == '2.7' && env.CC_TEST_REPORTER_ID != ''
29
22
  uses: paambaati/codeclimate-action@v2.3.0
data/.rubocop.yml ADDED
@@ -0,0 +1,6 @@
1
+ AllCops:
2
+ DisabledByDefault: true
3
+
4
+ Layout/IndentationStyle:
5
+ Enabled: true
6
+ EnforcedStyle: spaces
data/Gemfile CHANGED
@@ -5,4 +5,4 @@ gemspec
5
5
 
6
6
  # workarond : simplecov 0.18 with cc-reporter is broken
7
7
  # https://github.com/codeclimate/test-reporter/issues/418
8
- gem 'simplecov', '~> 0.10', '< 0.18', require: false
8
+ gem 'simplecov', '~> 0.21', require: false
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Test Coverage](https://api.codeclimate.com/v1/badges/acd6df07e071a4bbb399/test_coverage)](https://codeclimate.com/github/skoji/gepub/test_coverage)
6
6
  [![Gem Version](https://badge.fury.io/rb/gepub.svg)](http://badge.fury.io/rb/gepub)
7
7
 
8
- * http://rdoc.info/github/skoji/gepub/master/frames
8
+ * http://rdoc.info/github/skoji/gepub/main/frames
9
9
 
10
10
  ## DESCRIPTION:
11
11
 
@@ -103,9 +103,13 @@ epubname = File.join(File.dirname(__FILE__), 'example_test.epub')
103
103
  # auto-generated nav file will not appear on spine.
104
104
  book.generate_epub(epubname)
105
105
  ```
106
- * [examples in this repository](https://github.com/skoji/gepub/tree/master/examples/)
106
+ * [examples in this repository](https://github.com/skoji/gepub/tree/main/examples/)
107
107
 
108
108
  ## INSTALL:
109
109
 
110
110
  * gem install gepub
111
111
 
112
+ ## DONATE:
113
+
114
+ * Bitcoin Address: `1M69AwoxpgPZsp5KStLUEjP7so5dHVfDTH`
115
+
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  # also generates 'lib/gepub/book_add_item.rb'
16
16
  file 'lib/gepub/metadata_add.rb' => 'tools/generate_function.rb' do
17
- sh %Q(ruby tools/generate_function.rb)
17
+ sh %Q(ruby tools/generate_function.rb)
18
18
  end
19
19
 
20
20
  desc 'auto generate code'
data/gepub.gemspec CHANGED
@@ -16,8 +16,10 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.add_runtime_dependency "nokogiri", ">= 1.8.2", "< 1.11"
20
- s.add_runtime_dependency "rubyzip", "> 1.1.1", "< 2.3"
19
+ s.add_runtime_dependency "nokogiri", ">= 1.8.2", "< 2.0"
20
+ s.add_runtime_dependency "rubyzip", "> 1.1.1", "< 2.4"
21
+ s.add_development_dependency "epubcheck-ruby"
21
22
  s.add_development_dependency "rake"
22
23
  s.add_development_dependency "rspec"
24
+ s.add_development_dependency "rubocop"
23
25
  end
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
  module GEPUB
4
4
  class Bindings
5
5
  include XMLUtil
6
+ include InspectMixin
7
+
6
8
  class MediaType
7
9
  attr_accessor :handler, :media_type
8
10
  def initialize(handler, media_type)
data/lib/gepub/book.rb CHANGED
@@ -79,6 +79,8 @@ module GEPUB
79
79
  # set page-proression-direction attribute to spine.
80
80
 
81
81
  class Book
82
+ include InspectMixin
83
+
82
84
  MIMETYPE='mimetype'
83
85
  MIMETYPE_CONTENTS='application/epub+zip'
84
86
  CONTAINER='META-INF/container.xml'
@@ -316,6 +318,9 @@ EOF
316
318
  # build nav
317
319
  builder = Nokogiri::XML::Builder.new {
318
320
  |doc|
321
+ unless version.to_f < 3.0
322
+ doc.doc.create_internal_subset('html', nil, nil )
323
+ end
319
324
  doc.html('xmlns' => "http://www.w3.org/1999/xhtml",'xmlns:epub' => "http://www.idpf.org/2007/ops") {
320
325
  doc.head {
321
326
  doc.title title
@@ -1,3 +1,5 @@
1
+ ## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
2
+
1
3
  module GEPUB
2
4
  class Book
3
5
  # add an item(i.e. html, images, audios, etc) to Book.
@@ -0,0 +1,26 @@
1
+ module GEPUB
2
+ module InspectMixin
3
+ def inspect
4
+ result = instance_variables.each
5
+ .with_object({}) { |name, h| h[name] = instance_variable_get(name) }
6
+ .reject { |name, value| value.nil? }
7
+ .map { |name, value|
8
+ case value
9
+ when true, false, Symbol, Numeric, Array, Hash
10
+ "#{name}=#{value.inspect}"
11
+ when String
12
+ if value.length > 80
13
+ "#{name}=(omitted)"
14
+ else
15
+ "#{name}=#{value.inspect}"
16
+ end
17
+ else
18
+ "#{name}=#<#{value.class.name}>"
19
+ end
20
+ }
21
+ .join(' ')
22
+
23
+ "#<#{self.class.name} " + result + '>'
24
+ end
25
+ end
26
+ end
data/lib/gepub/item.rb CHANGED
@@ -6,6 +6,8 @@ module GEPUB
6
6
  # #id, #id=, #set_id, #href, #href=, #set_href, #media_type, #media_type=, #set_media_type,
7
7
  # #fallback, #fallback=, #set_fallback, #media_overlay, #media_overlay=, #set_media_overlay
8
8
  class Item
9
+ include InspectMixin
10
+
9
11
  attr_accessor :content
10
12
  def self.create(parent, attributes = {})
11
13
  Item.new(attributes['id'], attributes['href'], attributes['media-type'], parent,
@@ -46,12 +48,14 @@ module GEPUB
46
48
  media_type
47
49
  end
48
50
 
49
- def [](x)
50
- @attributes[x]
51
+ # get +attribute+
52
+ def [](attribute)
53
+ @attributes[attribute]
51
54
  end
52
55
 
53
- def []=(x,y)
54
- @attributes[x] = y
56
+ # set +attribute+
57
+ def []=(attribute, value)
58
+ @attributes[attribute] = value
55
59
  end
56
60
 
57
61
  # add value to properties attribute.
@@ -106,9 +110,10 @@ module GEPUB
106
110
  else
107
111
  prefix = "#{ns_prefix}:"
108
112
  end
113
+ images = parsed.xpath("//#{prefix}img[starts-with(@src,'http')]")
109
114
  videos = parsed.xpath("//#{prefix}video[starts-with(@src,'http')]") + parsed.xpath("//#{prefix}video/#{prefix}source[starts-with(@src,'http')]")
110
115
  audios = parsed.xpath("//#{prefix}audio[starts-with(@src,'http')]") + parsed.xpath("//#{prefix}audio/#{prefix}source[starts-with(@src,'http')]")
111
- if videos.size > 0 || audios.size > 0
116
+ if images.size > 0 || videos.size > 0 || audios.size > 0
112
117
  self.add_property('remote-resources')
113
118
  end
114
119
  if parsed.xpath("//p:math", { 'p' => 'http://www.w3.org/1998/Math/MathML' }).size > 0
@@ -137,12 +142,19 @@ module GEPUB
137
142
  self
138
143
  end
139
144
 
140
- # add content form io or file to the item
145
+ # add content from io or file to the item
141
146
  def add_content(io_or_filename)
142
- io = io_or_filename
143
147
  if io_or_filename.class == String
144
- io = File.new(io_or_filename)
148
+ File.open(io_or_filename, mode='r') do |f|
149
+ add_content_io f
150
+ end
151
+ else
152
+ add_content_io io_or_filename
145
153
  end
154
+ self
155
+ end
156
+
157
+ def add_content_io(io)
146
158
  io.binmode
147
159
  @content = io.read
148
160
  if File.extname(self.href) =~ /x?html$/
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
  module GEPUB
4
4
  class Manifest
5
5
  include XMLUtil
6
+ include InspectMixin
7
+
6
8
  attr_accessor :opf_version
7
9
  def self.parse(manifest_xml, opf_version = '3.0', id_pool = Package::IDPool.new)
8
10
  Manifest.new(opf_version, id_pool) {
data/lib/gepub/meta.rb CHANGED
@@ -16,12 +16,14 @@ module GEPUB
16
16
  @parent.register_meta(self) unless @parent.nil?
17
17
  end
18
18
 
19
- def [](x)
20
- @attributes[x]
19
+ # get +attribute+
20
+ def [](attribute)
21
+ @attributes[attribute]
21
22
  end
22
23
 
23
- def []=(x,y)
24
- @attributes[x] = y
24
+ # set +attribute+
25
+ def []=(attribute, value)
26
+ @attributes[attribute] = value
25
27
  end
26
28
 
27
29
  def refiner_list(name)
@@ -18,6 +18,8 @@ module GEPUB
18
18
  end
19
19
  end
20
20
  include XMLUtil, DSLUtil
21
+ include InspectMixin
22
+
21
23
  attr_accessor :opf_version
22
24
  # parse metadata element. metadata_xml should be Nokogiri::XML::Node object.
23
25
  def self.parse(metadata_xml, opf_version = '3.0', id_pool = Package::IDPool.new)
@@ -1,5 +1,7 @@
1
+ ## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
2
+
1
3
  module GEPUB
2
- class Metadata
4
+ class Metadata
3
5
  CONTENT_NODE_LIST = ['identifier', 'title', 'language', 'contributor', 'creator', 'coverage', 'date','description','format','publisher','relation','rights','source','subject','type'].each {
4
6
  |node|
5
7
  define_method(node + '_list') { @content_nodes[node].dup.sort_as_meta }
@@ -14,7 +16,7 @@ module GEPUB
14
16
 
15
17
  define_method(node, ->(content=UNASSIGNED, deprecated_id=nil, id:nil,
16
18
  title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
17
- lang: nil, alternates: {}) {
19
+ lang: nil, alternates: {}) {
18
20
  if unassigned?(content)
19
21
  get_first_node(node)
20
22
  else
@@ -48,7 +50,7 @@ module GEPUB
48
50
 
49
51
  def add_title(content, deprecated_id = nil, deprecated_title_type = nil, id: nil,
50
52
  title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
51
- lang: nil, alternates: {})
53
+ lang: nil, alternates: {})
52
54
  if deprecated_id
53
55
  warn 'second argument for add_title is deprecated. use id: instead'
54
56
  id = deprecated_id
@@ -58,15 +60,15 @@ module GEPUB
58
60
  title_type = deprecated_title_type
59
61
  end
60
62
  meta = add_metadata('title', content, id: id,
61
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
62
- lang: lang, alternates: alternates)
63
+ title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
64
+ lang: lang, alternates: alternates)
63
65
  yield meta if block_given?
64
66
  meta
65
67
  end
66
68
 
67
69
  def add_person(name, content, deprecated_id = nil, deprecated_role = nil, id: nil,
68
- title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
69
- lang: nil, alternates: {})
70
+ title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
71
+ lang: nil, alternates: {})
70
72
  if deprecated_id
71
73
  warn 'second argument for add_person is deprecated. use id: instead'
72
74
  id = deprecated_id
@@ -76,15 +78,15 @@ module GEPUB
76
78
  role = deprecated_role
77
79
  end
78
80
  meta = add_metadata(name, content, id: id,
79
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
80
- lang: lang, alternates: alternates)
81
+ title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
82
+ lang: lang, alternates: alternates)
81
83
  yield meta if block_given?
82
84
  meta
83
85
  end
84
86
 
85
87
  def add_creator(content, deprecated_id = nil, deprecated_role = nil, id: nil,
86
88
  title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
87
- lang: nil, alternates: {})
89
+ lang: nil, alternates: {})
88
90
  if deprecated_id
89
91
  warn 'second argument for add_creator is deprecated. use id: instead'
90
92
  id = deprecated_id
@@ -93,17 +95,17 @@ module GEPUB
93
95
  warn 'third argument for add_creator is deprecated. use role: instead'
94
96
  role = deprecated_role
95
97
  end
96
- role = 'aut' if role.nil?
98
+ role = 'aut' if role.nil?
97
99
  meta = add_person('creator', content, id: id,
98
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
99
- lang: lang, alternates: alternates)
100
+ title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
101
+ lang: lang, alternates: alternates)
100
102
  yield meta if block_given?
101
103
  meta
102
104
  end
103
105
 
104
106
  def add_contributor(content, deprecated_id = nil, deprecated_role = nil, id: nil,
105
107
  title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
106
- lang: nil, alternates: {})
108
+ lang: nil, alternates: {})
107
109
  if deprecated_id
108
110
  warn 'second argument for add_contributor is deprecated. use id: instead'
109
111
  id = deprecated_id
@@ -113,30 +115,30 @@ module GEPUB
113
115
  role = deprecated_role
114
116
  end
115
117
  meta = add_person('contributor', content, id: id,
116
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
117
- lang: lang, alternates: alternates)
118
+ title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
119
+ lang: lang, alternates: alternates)
118
120
  yield meta if block_given?
119
121
  meta
120
122
  end
121
123
 
122
- def add_metadata(name, content, id: nil, itemclass: Meta,
123
- title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
124
- lang: nil, alternates: {}
125
- )
126
- meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
124
+ def add_metadata(name, content, id: nil, itemclass: Meta,
125
+ title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
126
+ lang: nil, alternates: {}
127
+ )
128
+ meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
127
129
  [{ value: title_type, name: 'title-type'},{ value: identifier_type, name: 'identifier-type'},{ value: display_seq, name: 'display-seq'},{ value: file_as, name: 'file-as'},{ value: group_position, name: 'group-position'},{ value: role, name: 'role'}].each do |refiner|
128
- if refiner[:value]
129
- meta.refine(refiner[:name], refiner[:value])
130
- end
131
- end
132
- if lang
133
- meta.lang = lang
134
- end
135
- if alternates
136
- meta.add_alternates alternates
137
- end
130
+ if refiner[:value]
131
+ meta.refine(refiner[:name], refiner[:value])
132
+ end
133
+ end
134
+ if lang
135
+ meta.lang = lang
136
+ end
137
+ if alternates
138
+ meta.add_alternates alternates
139
+ end
138
140
  yield meta if block_given?
139
- meta
140
- end
141
- end
141
+ meta
142
+ end
143
+ end
142
144
  end
data/lib/gepub/package.rb CHANGED
@@ -6,6 +6,8 @@ module GEPUB
6
6
  # Holds data in opf file.
7
7
  class Package
8
8
  include XMLUtil, DSLUtil
9
+ include InspectMixin
10
+
9
11
  extend Forwardable
10
12
  attr_accessor :path, :metadata, :manifest, :spine, :bindings, :epub_backward_compat, :contents_prefix, :prefixes
11
13
  def_delegators :@manifest, :item_by_href
@@ -142,15 +144,16 @@ module GEPUB
142
144
  })
143
145
  }
144
146
 
145
- def [](x)
146
- @attributes[x]
147
+ # get +attribute+
148
+ def [](attribute)
149
+ @attributes[attribute]
147
150
  end
148
151
 
149
- def []=(k,v)
150
- @attributes[k] = v
152
+ # set +attribute+
153
+ def []=(attribute, value)
154
+ @attributes[attribute] = value
151
155
  end
152
156
 
153
-
154
157
  def identifier(identifier=UNASSIGNED)
155
158
  if unassigned?(identifier)
156
159
  @metadata.identifier_by_id(unique_identifier)
data/lib/gepub/spine.rb CHANGED
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
  module GEPUB
4
4
  class Spine
5
5
  include XMLUtil
6
+ include InspectMixin
7
+
6
8
  attr_accessor :opf_version
7
9
  class Itemref
8
10
  def self.create(parent, attributes = {})
@@ -26,14 +28,16 @@ module GEPUB
26
28
  define_method(methodbase) { @attributes[name] }
27
29
  }
28
30
 
29
- def [](x)
30
- @attributes[x]
31
+ # get +attribute+
32
+ def [](attribute)
33
+ @attributes[attribute]
31
34
  end
32
35
 
33
- def []=(x,y)
34
- @attributes[x] = y
36
+ # set +attribute+
37
+ def []=(attribute, value)
38
+ @attributes[attribute] = value
35
39
  end
36
-
40
+
37
41
  def add_property(property)
38
42
  (@attributes['properties'] ||=[]) << property
39
43
  end
data/lib/gepub/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module GEPUB
2
2
  # GEPUB gem version
3
- VERSION = "1.0.11"
3
+ VERSION = "1.0.15"
4
4
  end
data/lib/gepub.rb CHANGED
@@ -4,6 +4,7 @@ end if RUBY_VERSION < "2.7" && !(defined? ruby2_keywords)
4
4
  require 'gepub/version'
5
5
  require 'gepub/dsl_util'
6
6
  require 'gepub/xml_util'
7
+ require 'gepub/inspect_mixin'
7
8
  require 'gepub/meta'
8
9
  require 'gepub/datemeta'
9
10
  require 'gepub/meta_array'
@@ -1,3 +1,4 @@
1
+ require_relative '../lib/gepub/inspect_mixin.rb'
1
2
  require_relative '../lib/gepub/item.rb'
2
3
  attrs = GEPUB::Item::ATTRIBUTES.select do |attr|
3
4
  attr != 'href'
@@ -9,6 +10,8 @@ attrs << "property"
9
10
  attrs_arguments_string = attrs.map { |attr| "#{attr}: nil" }.join(',')
10
11
  attrs_internal_string = "{ " + attrs.map { |attr| "#{attr}: #{attr}"}.join(',') + " }"
11
12
  File.write(File.join(File.dirname(__FILE__), "../lib/gepub/book_add_item.rb"), <<EOF)
13
+ ## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
14
+
12
15
  module GEPUB
13
16
  class Book
14
17
  # add an item(i.e. html, images, audios, etc) to Book.
@@ -35,7 +38,7 @@ require_relative '../lib/gepub/dsl_util.rb'
35
38
  require_relative '../lib/gepub/meta.rb'
36
39
 
37
40
  refiners = GEPUB::Meta::REFINERS.map do |refiner|
38
- refiner.sub('-', '_')
41
+ refiner.sub('-', '_')
39
42
  end
40
43
 
41
44
  refiners_arguments_string = refiners.map { |refiner| "#{refiner}: nil" }.join(',')
@@ -46,8 +49,10 @@ meta_attr_arguments_string = "lang: nil, alternates: {}"
46
49
  meta_attr_arguments_set_string = "lang: lang, alternates: alternates"
47
50
 
48
51
  File.write(File.join(File.dirname(__FILE__), "../lib/gepub/metadata_add.rb"), <<EOF)
52
+ ## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
53
+
49
54
  module GEPUB
50
- class Metadata
55
+ class Metadata
51
56
  CONTENT_NODE_LIST = ['identifier', 'title', 'language', 'contributor', 'creator', 'coverage', 'date','description','format','publisher','relation','rights','source','subject','type'].each {
52
57
  |node|
53
58
  define_method(node + '_list') { @content_nodes[node].dup.sort_as_meta }
@@ -62,7 +67,7 @@ module GEPUB
62
67
 
63
68
  define_method(node, ->(content=UNASSIGNED, deprecated_id=nil, id:nil,
64
69
  #{refiners_arguments_string},
65
- #{meta_attr_arguments_string}) {
70
+ #{meta_attr_arguments_string}) {
66
71
  if unassigned?(content)
67
72
  get_first_node(node)
68
73
  else
@@ -96,7 +101,7 @@ module GEPUB
96
101
 
97
102
  def add_title(content, deprecated_id = nil, deprecated_title_type = nil, id: nil,
98
103
  #{refiners_arguments_string},
99
- #{meta_attr_arguments_string})
104
+ #{meta_attr_arguments_string})
100
105
  if deprecated_id
101
106
  warn 'second argument for add_title is deprecated. use id: instead'
102
107
  id = deprecated_id
@@ -106,15 +111,15 @@ module GEPUB
106
111
  title_type = deprecated_title_type
107
112
  end
108
113
  meta = add_metadata('title', content, id: id,
109
- #{refiners_arguments_set_string},
110
- #{meta_attr_arguments_set_string})
114
+ #{refiners_arguments_set_string},
115
+ #{meta_attr_arguments_set_string})
111
116
  yield meta if block_given?
112
117
  meta
113
118
  end
114
119
 
115
120
  def add_person(name, content, deprecated_id = nil, deprecated_role = nil, id: nil,
116
- #{refiners_arguments_string},
117
- #{meta_attr_arguments_string})
121
+ #{refiners_arguments_string},
122
+ #{meta_attr_arguments_string})
118
123
  if deprecated_id
119
124
  warn 'second argument for add_person is deprecated. use id: instead'
120
125
  id = deprecated_id
@@ -124,15 +129,15 @@ module GEPUB
124
129
  role = deprecated_role
125
130
  end
126
131
  meta = add_metadata(name, content, id: id,
127
- #{refiners_arguments_set_string},
128
- #{meta_attr_arguments_set_string})
132
+ #{refiners_arguments_set_string},
133
+ #{meta_attr_arguments_set_string})
129
134
  yield meta if block_given?
130
135
  meta
131
136
  end
132
137
 
133
138
  def add_creator(content, deprecated_id = nil, deprecated_role = nil, id: nil,
134
139
  #{refiners_arguments_string},
135
- #{meta_attr_arguments_string})
140
+ #{meta_attr_arguments_string})
136
141
  if deprecated_id
137
142
  warn 'second argument for add_creator is deprecated. use id: instead'
138
143
  id = deprecated_id
@@ -141,17 +146,17 @@ module GEPUB
141
146
  warn 'third argument for add_creator is deprecated. use role: instead'
142
147
  role = deprecated_role
143
148
  end
144
- role = 'aut' if role.nil?
149
+ role = 'aut' if role.nil?
145
150
  meta = add_person('creator', content, id: id,
146
- #{refiners_arguments_set_string},
147
- #{meta_attr_arguments_set_string})
151
+ #{refiners_arguments_set_string},
152
+ #{meta_attr_arguments_set_string})
148
153
  yield meta if block_given?
149
154
  meta
150
155
  end
151
156
 
152
157
  def add_contributor(content, deprecated_id = nil, deprecated_role = nil, id: nil,
153
158
  #{refiners_arguments_string},
154
- #{meta_attr_arguments_string})
159
+ #{meta_attr_arguments_string})
155
160
  if deprecated_id
156
161
  warn 'second argument for add_contributor is deprecated. use id: instead'
157
162
  id = deprecated_id
@@ -161,32 +166,32 @@ module GEPUB
161
166
  role = deprecated_role
162
167
  end
163
168
  meta = add_person('contributor', content, id: id,
164
- #{refiners_arguments_set_string},
165
- #{meta_attr_arguments_set_string})
169
+ #{refiners_arguments_set_string},
170
+ #{meta_attr_arguments_set_string})
166
171
  yield meta if block_given?
167
172
  meta
168
173
  end
169
174
 
170
- def add_metadata(name, content, id: nil, itemclass: Meta,
171
- #{refiners_arguments_string},
172
- #{meta_attr_arguments_string}
173
- )
174
- meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
175
+ def add_metadata(name, content, id: nil, itemclass: Meta,
176
+ #{refiners_arguments_string},
177
+ #{meta_attr_arguments_string}
178
+ )
179
+ meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
175
180
  #{refiners_string}.each do |refiner|
176
- if refiner[:value]
177
- meta.refine(refiner[:name], refiner[:value])
178
- end
179
- end
180
- if lang
181
- meta.lang = lang
182
- end
183
- if alternates
184
- meta.add_alternates alternates
185
- end
181
+ if refiner[:value]
182
+ meta.refine(refiner[:name], refiner[:value])
183
+ end
184
+ end
185
+ if lang
186
+ meta.lang = lang
187
+ end
188
+ if alternates
189
+ meta.add_alternates alternates
190
+ end
186
191
  yield meta if block_given?
187
- meta
188
- end
189
- end
192
+ meta
193
+ end
194
+ end
190
195
  end
191
196
  EOF
192
197
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gepub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - KOJIMA Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-24 00:00:00.000000000 Z
11
+ date: 2021-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 1.8.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.11'
22
+ version: '2.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 1.8.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.11'
32
+ version: '2.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rubyzip
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: 1.1.1
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '2.3'
42
+ version: '2.4'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,21 @@ dependencies:
49
49
  version: 1.1.1
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '2.3'
52
+ version: '2.4'
53
+ - !ruby/object:Gem::Dependency
54
+ name: epubcheck-ruby
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
53
67
  - !ruby/object:Gem::Dependency
54
68
  name: rake
55
69
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +92,20 @@ dependencies:
78
92
  - - ">="
79
93
  - !ruby/object:Gem::Version
80
94
  version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rubocop
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
81
109
  description: gepub is a generic EPUB parser/generator. Generates and parse EPUB2 and
82
110
  EPUB3
83
111
  email:
@@ -89,9 +117,12 @@ extensions: []
89
117
  extra_rdoc_files: []
90
118
  files:
91
119
  - ".gitattributes"
120
+ - ".github/FUNDING.yml"
121
+ - ".github/dependabot.yml"
92
122
  - ".github/workflows/gempush.yml"
93
123
  - ".github/workflows/test.yml"
94
124
  - ".gitignore"
125
+ - ".rubocop.yml"
95
126
  - Gemfile
96
127
  - LICENSE.txt
97
128
  - README.md
@@ -112,6 +143,7 @@ files:
112
143
  - lib/gepub/builder_mixin.rb
113
144
  - lib/gepub/datemeta.rb
114
145
  - lib/gepub/dsl_util.rb
146
+ - lib/gepub/inspect_mixin.rb
115
147
  - lib/gepub/item.rb
116
148
  - lib/gepub/manifest.rb
117
149
  - lib/gepub/meta.rb
@@ -146,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
178
  - !ruby/object:Gem::Version
147
179
  version: '0'
148
180
  requirements: []
149
- rubygems_version: 3.0.3
181
+ rubygems_version: 3.0.3.1
150
182
  signing_key:
151
183
  specification_version: 4
152
184
  summary: a generic EPUB library for Ruby.