epub_book 0.1.13 → 0.1.18
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.
- checksums.yaml +5 -5
- data/README.md +4 -0
- data/epub_book.gemspec +3 -1
- data/lib/epub_book.rb +5 -1
- data/lib/epub_book/book.rb +99 -61
- data/lib/epub_book/loggable.rb +69 -0
- data/lib/epub_book/version.rb +1 -1
- metadata +38 -12
- data/bin/console +0 -14
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: df55d3587ef2f535b307f63117af6dafa73597a5007ad641e25ce88b17ef78b9
|
4
|
+
data.tar.gz: 0f78bbb8a4dee88540915e1cb95f28cd8abf872b07a8adeb74473ef171162bb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2337421c1b0a1b0ce4d7096f6c899091044c5a69dc9297f95ec22b212f6d0f76677deb2edf53be7a7aa7d89df633ce56cea621b39d2692579a29c0c7060ffced
|
7
|
+
data.tar.gz: 23b4b10d567941e7b8dbf7a8662e370fa5b2d73ec0d6f979ca2e398007cee4b44743cac691395d6583b0aad1567e3ba7acf6cbebba7de36e50281c5450259124
|
data/README.md
CHANGED
@@ -29,6 +29,7 @@ Or install it yourself as:
|
|
29
29
|
book.body_css = '.wrapper #content'
|
30
30
|
book.creator = 'javy_liu'
|
31
31
|
book.path = '/tmp'
|
32
|
+
book.ext_name = 'txt'
|
32
33
|
end
|
33
34
|
```
|
34
35
|
|
@@ -44,6 +45,7 @@ Or install it yourself as:
|
|
44
45
|
config.mail_user_name = 'ex@example.com'
|
45
46
|
config.mail_password = 'password'
|
46
47
|
config.mail_from = 'yourmail@example.com'
|
48
|
+
config.ext_name = 'epub'
|
47
49
|
end
|
48
50
|
```
|
49
51
|
Or use a ./default_setting.yml file have following content
|
@@ -69,6 +71,7 @@ Or use a ./default_setting.yml file have following content
|
|
69
71
|
creator: 'user name'
|
70
72
|
path: '/'
|
71
73
|
mail_to: 'yourmail@example.com'
|
74
|
+
ext_name: 'txt'
|
72
75
|
|
73
76
|
#special host book setting(the key is book_url's host which replacing the dot with underline)
|
74
77
|
#http://www.piaotian.net/html/0/431/index.html
|
@@ -111,6 +114,7 @@ if you have setting file , you can create book like following
|
|
111
114
|
book.creator #epub creator
|
112
115
|
book.path #epub book save path
|
113
116
|
book.mail_to #if your want send by email when epub created, set this to your email
|
117
|
+
book.ext_name #can create epub or txt file
|
114
118
|
```
|
115
119
|
## Perform `create_book` in your terminal
|
116
120
|
```bash
|
data/epub_book.gemspec
CHANGED
@@ -27,7 +27,8 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_dependency '
|
30
|
+
spec.add_dependency 'http','~> 2.1'
|
31
|
+
spec.add_dependency 'nokogiri','1.6.8.1'
|
31
32
|
spec.add_dependency 'eeepub'
|
32
33
|
spec.add_dependency 'zip-zip'
|
33
34
|
spec.add_dependency 'mail'
|
@@ -37,5 +38,6 @@ Gem::Specification.new do |spec|
|
|
37
38
|
spec.add_development_dependency "rake", "~> 10.0"
|
38
39
|
spec.add_development_dependency "rspec", "~> 3.0"
|
39
40
|
spec.add_development_dependency "pry"
|
41
|
+
spec.add_development_dependency "pry-byebug"
|
40
42
|
spec.add_development_dependency "pry-doc"
|
41
43
|
end
|
data/lib/epub_book.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "epub_book/version"
|
2
2
|
require 'epub_book/book'
|
3
|
+
require 'epub_book/loggable'
|
3
4
|
require 'mail'
|
4
5
|
|
5
6
|
module EpubBook
|
@@ -7,15 +8,18 @@ module EpubBook
|
|
7
8
|
autoload :Book, "epub_book/book"
|
8
9
|
autoload :Mailer, "epub_book/mailer"
|
9
10
|
|
10
|
-
Config = Struct.new(:setting_file,:mail_from,:mail_subject,:mail_body,:mail_address,:mail_port,:mail_user_name,:mail_password) do
|
11
|
+
Config = Struct.new(:setting_file,:mail_from,:mail_subject,:mail_body,:mail_address,:mail_port,:mail_user_name,:mail_password,:log_level, :ext_name) do
|
11
12
|
include Singleton
|
12
13
|
def initialize
|
13
14
|
self.mail_subject = 'epub 电子书'
|
14
15
|
#self.mail_body = "您创建的电子书见附件\n"
|
15
16
|
self.mail_port = 25
|
17
|
+
self.log_level = "info"
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
21
|
+
extend Loggable
|
22
|
+
|
19
23
|
#book initialize, and the block will prior the yml setting
|
20
24
|
def self.create_book(url,bookname=nil,des_url=nil)
|
21
25
|
|
data/lib/epub_book/book.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'http'
|
2
2
|
require 'nokogiri'
|
3
3
|
require 'eeepub'
|
4
4
|
require 'base64'
|
@@ -16,13 +16,13 @@ require 'yaml'
|
|
16
16
|
#user_agent 访问代理
|
17
17
|
#referer 访问原地址
|
18
18
|
#creator 责任人
|
19
|
+
#ext_name 扩展名 epub,txt
|
19
20
|
|
20
21
|
module EpubBook
|
21
22
|
class Book
|
22
23
|
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36"
|
23
24
|
Referer = "http://www.baidu.com/"
|
24
|
-
attr_accessor :title_css, :index_item_css, :body_css, :limit, :item_attr, :page_css, :page_attr,:cover
|
25
|
-
attr_accessor :cover_css, :description_css,:path,:user_agent,:referer,:creator,:mail_to
|
25
|
+
attr_accessor :title_css, :index_item_css, :body_css, :limit, :item_attr, :page_css, :page_attr,:cover,:cover_css, :description_css,:path,:user_agent,:referer,:creator,:mail_to, :folder_name,:des_url,:ext_name
|
26
26
|
|
27
27
|
|
28
28
|
Reg = /<script.*?>.*?<\/script>/m
|
@@ -39,22 +39,27 @@ module EpubBook
|
|
39
39
|
@cover = 'cover.jpg'
|
40
40
|
@body_css = '.articlebody'
|
41
41
|
@item_attr = "href"
|
42
|
+
@ext_name = 'epub'
|
42
43
|
yield self if block_given?
|
43
|
-
@book_path = File.join((@path || `pwd`.strip), @folder_name)
|
44
44
|
end
|
45
45
|
|
46
|
+
def book_path
|
47
|
+
@book_path ||= File.join((@path || `pwd`.strip), @folder_name)
|
48
|
+
end
|
46
49
|
|
47
50
|
def link_host
|
48
|
-
@link_host ||= @index_url[/\A(
|
51
|
+
@link_host ||= @index_url[/\A(https?:\/\/.*?)\/\w+/,1]
|
49
52
|
end
|
50
53
|
|
51
54
|
def book
|
52
|
-
|
53
|
-
|
55
|
+
return @book if @book
|
56
|
+
Dir.mkdir(book_path) unless test(?d,book_path)
|
57
|
+
@book = test(?s,File.join(book_path,'index.yml')) ? YAML.load(File.open(File.join(book_path,'index.yml'))) : {files: []}
|
54
58
|
end
|
55
59
|
|
60
|
+
#save catalog file
|
56
61
|
def save_book
|
57
|
-
File.open(File.join(
|
62
|
+
File.open(File.join(book_path,'index.yml' ),'w') do |f|
|
58
63
|
f.write(@book.to_yaml)
|
59
64
|
end
|
60
65
|
end
|
@@ -63,68 +68,78 @@ module EpubBook
|
|
63
68
|
#创建书本
|
64
69
|
def generate_book(book_name=nil)
|
65
70
|
#获取epub源数据
|
66
|
-
|
67
|
-
if !@cover_css && @cover
|
68
|
-
generate_cover = <<-eof
|
69
|
-
convert #{File.expand_path("../../../#{@cover}",__FILE__)} -font tsxc.ttf -gravity center -fill red -pointsize 16 -draw "text 0,0 '#{book[:title]}'" #{File.join(@book_path,@cover)}
|
70
|
-
eof
|
71
|
-
system(generate_cover)
|
72
|
-
end
|
73
|
-
|
74
|
-
epub = EeePub.make
|
71
|
+
fetch_index if !test(?s,File.join(book_path,'index.yml'))
|
75
72
|
|
76
|
-
|
77
|
-
epub.creator @creator
|
78
|
-
epub.publisher @creator
|
79
|
-
epub.date Time.now
|
80
|
-
epub.identifier "http://javy_liu.com/book/#{@folder_name}", :scheme => 'URL'
|
81
|
-
epub.uid "http://javy_liu.com/book/#{@folder_name}"
|
82
|
-
epub.cover @cover
|
83
|
-
epub.subject book[:title]
|
84
|
-
epub.description book[:description] if book[:description]
|
85
|
-
|
86
|
-
book[:files] = book[:files][0...limit] if limit
|
87
|
-
|
88
|
-
epub.files book[:files].map{|item| File.join(@book_path,item[:content])}.push(File.join(@book_path,@cover))
|
89
|
-
epub.nav book[:files]
|
73
|
+
book[:file_abs_name] = File.join(book_path,"#{book[:title]}.#{ext_name}")
|
90
74
|
|
75
|
+
fetch_book
|
76
|
+
if ext_name == 'epub'
|
77
|
+
if !@cover_css && @cover
|
78
|
+
generate_cover = <<-eof
|
79
|
+
convert #{File.expand_path("../../../#{@cover}",__FILE__)} -font tsxc.ttf -gravity center -fill red -pointsize 16 -draw "text 0,0 '#{book[:title]}'" #{File.join(book_path,@cover)}
|
80
|
+
eof
|
81
|
+
system(generate_cover)
|
82
|
+
end
|
91
83
|
|
92
|
-
|
84
|
+
epub = EeePub.make
|
85
|
+
|
86
|
+
epub.title book[:title]
|
87
|
+
epub.creator @creator
|
88
|
+
epub.publisher @creator
|
89
|
+
epub.date Time.now
|
90
|
+
epub.identifier "http://javy_liu.com/book/#{@folder_name}", :scheme => 'URL'
|
91
|
+
epub.uid "http://javy_liu.com/book/#{@folder_name}"
|
92
|
+
epub.cover @cover
|
93
|
+
epub.subject book[:title]
|
94
|
+
epub.description book[:description] if book[:description]
|
95
|
+
|
96
|
+
book[:files] = book[:files][0...limit] if limit
|
97
|
+
_files = []
|
98
|
+
book[:files].collect! do |item|
|
99
|
+
_file = File.join(book_path,item[:content])
|
100
|
+
if test(?f, _file)
|
101
|
+
_files.push(_file)
|
102
|
+
item
|
103
|
+
end
|
104
|
+
end
|
105
|
+
book[:files].compact!
|
93
106
|
|
94
|
-
|
107
|
+
epub.files _files.push(File.join(book_path,@cover))
|
108
|
+
epub.nav book[:files]
|
109
|
+
yield self if block_given?
|
95
110
|
|
111
|
+
epub.save(book[:file_abs_name])
|
112
|
+
end
|
96
113
|
#send mail
|
97
|
-
|
114
|
+
|
98
115
|
if mail_to
|
99
116
|
mailer = Mailer.new
|
100
117
|
mailer.to = mail_to
|
101
|
-
mailer.add_file
|
118
|
+
mailer.add_file book[:file_abs_name]
|
102
119
|
mailer.body = "您创建的电子书[#{book[:title]}]见附件\n"
|
103
|
-
|
104
120
|
mailer.send_mail
|
105
121
|
end
|
106
122
|
|
107
123
|
end
|
108
124
|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
125
|
#得到书目索引
|
113
126
|
def fetch_index(url=nil)
|
127
|
+
book[:files] = []
|
114
128
|
url ||= @index_url
|
115
|
-
doc = Nokogiri::HTML(judge_encoding(
|
129
|
+
doc = Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent ,'Referer'=> @referer).get(URI.encode(url)).to_s))
|
116
130
|
#generate index.yml
|
131
|
+
EpubBook.logger.info "------Fetch index--#{url}---------------"
|
117
132
|
|
118
133
|
if !book[:title]
|
119
134
|
doc1 = if @des_url.nil?
|
120
135
|
doc
|
121
136
|
else
|
122
|
-
Nokogiri::HTML(judge_encoding(
|
137
|
+
Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent ,'Referer'=> @referer).get(URI.encode(generate_abs_url(doc.css(@des_url).attr("href").to_s))).to_s))
|
123
138
|
end
|
124
139
|
get_des(doc1)
|
125
140
|
end
|
126
141
|
|
127
|
-
|
142
|
+
#binding.pry
|
128
143
|
doc.css(@index_item_css).each do |item|
|
129
144
|
_href = URI.encode(item.attr(@item_attr).to_s)
|
130
145
|
next if _href.start_with?('javascript') || _href.start_with?('#')
|
@@ -151,49 +166,72 @@ module EpubBook
|
|
151
166
|
|
152
167
|
def fetch_book
|
153
168
|
#重新得到书目,如果不存在或重新索引的话
|
154
|
-
fetch_index if !test(?s,File.join(
|
169
|
+
#fetch_index if !test(?s,File.join(book_path,'index.yml'))
|
170
|
+
EpubBook.logger.info "------Fetch book----------"
|
171
|
+
#open a txt file to write
|
172
|
+
if ext_name == 'txt'
|
173
|
+
txt_file = File.open(book[:file_abs_name], 'a')
|
174
|
+
end
|
155
175
|
book[:files].each_with_index do |item,index|
|
156
176
|
break if limit && index >= limit
|
157
177
|
|
158
|
-
content_path = File.join(
|
178
|
+
content_path = File.join(book_path,item[:content])
|
159
179
|
|
160
180
|
#如果文件存在且长度不为0则获取下一个
|
181
|
+
#binding.pry
|
161
182
|
next if test(?s,content_path)
|
162
183
|
|
163
184
|
begin
|
164
|
-
doc_file = Nokogiri::HTML(judge_encoding(
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
185
|
+
doc_file = Nokogiri::HTML(judge_encoding(HTTP.headers("User-Agent" => @user_agent,'Referer'=> @referer).get(item[:url]).to_s))
|
186
|
+
|
187
|
+
EpubBook.logger.info item[:label]
|
188
|
+
#binding.pry
|
189
|
+
if ext_name == 'pub'
|
190
|
+
File.open(content_path,'w') do |f|
|
191
|
+
f.write("<h3>#{item[:label]}</h3>")
|
192
|
+
f.write(doc_file.css(@body_css).to_s.gsub(Reg,''))
|
193
|
+
end
|
194
|
+
else
|
195
|
+
txt_file.write("\n\n")
|
196
|
+
txt_file.write(item[:label])
|
197
|
+
txt_file.write("\n ")
|
198
|
+
txt_file.write(doc_file.css(@body_css).text)
|
169
199
|
end
|
170
|
-
|
171
|
-
puts item[:label]
|
172
|
-
|
173
200
|
rescue Exception => e
|
174
|
-
|
175
|
-
|
201
|
+
EpubBook.logger.info "Error:#{e.message},#{item.inspect}"
|
202
|
+
#EpubBook.logger.info e.backtrace
|
176
203
|
next
|
177
204
|
end
|
178
205
|
end
|
179
206
|
|
207
|
+
txt_file.close if ext_name == 'txt'
|
208
|
+
|
180
209
|
end
|
181
210
|
|
182
211
|
|
183
212
|
private
|
184
213
|
#is valid encoding
|
185
214
|
def judge_encoding(str)
|
215
|
+
EpubBook.logger.info str.encoding
|
216
|
+
/<meta.*?charset\s*=[\s\"\']?utf-8/i =~ str ? str : str.force_encoding('gbk').encode!('utf-8',invalid: :replace, undef: :replace)
|
186
217
|
str.scrub! unless str.valid_encoding?
|
187
|
-
|
218
|
+
|
219
|
+
EpubBook.logger.info "-------encode 后 #{str.encoding}"
|
220
|
+
str
|
188
221
|
end
|
189
222
|
|
190
223
|
#得到书名,介绍,及封面
|
191
224
|
def get_des(doc)
|
192
225
|
book[:title] = doc.css(@title_css).text.strip
|
193
|
-
|
226
|
+
|
227
|
+
#EpubBook.logger.info doc
|
228
|
+
#EpubBook.logger.info @title_css
|
229
|
+
|
230
|
+
#binding.pry
|
231
|
+
if @cover_css && !book[:cover] && ext_name == 'epub'
|
194
232
|
cover_url = doc.css(@cover_css).attr("src").to_s
|
195
233
|
cover_url = generate_abs_url(cover_url) #link_host + cover_url unless cover_url.start_with?("http")
|
196
|
-
cover_path = File.join(
|
234
|
+
cover_path = File.join(book_path,@cover)
|
197
235
|
system("curl #{cover_url} -o #{cover_path} ")
|
198
236
|
book[:cover] = cover_path
|
199
237
|
end
|
@@ -204,13 +242,13 @@ module EpubBook
|
|
204
242
|
end
|
205
243
|
|
206
244
|
def generate_abs_url(url)
|
207
|
-
if
|
245
|
+
if url.start_with?("http")
|
208
246
|
url
|
209
|
-
elsif
|
210
|
-
"#{link_host}#{
|
247
|
+
elsif url.start_with?("/")
|
248
|
+
"#{link_host}#{url}"
|
211
249
|
else
|
212
250
|
@path_name ||= @index_url[/.*\//]
|
213
|
-
"#{@path_name}#{
|
251
|
+
"#{@path_name}#{url}"
|
214
252
|
end
|
215
253
|
|
216
254
|
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'logger'
|
2
|
+
module EpubBook
|
3
|
+
|
4
|
+
# Contains logging behaviour.
|
5
|
+
module Loggable
|
6
|
+
|
7
|
+
# Get the logger.
|
8
|
+
#
|
9
|
+
# @note Will try to grab Rails' logger first before creating a new logger
|
10
|
+
# with stdout.
|
11
|
+
#
|
12
|
+
# @example Get the logger.
|
13
|
+
# Loggable.logger
|
14
|
+
#
|
15
|
+
# @return [ Logger ] The logger.
|
16
|
+
#
|
17
|
+
# @since 3.0.0
|
18
|
+
def logger
|
19
|
+
return @logger if defined?(@logger)
|
20
|
+
@logger = rails_logger || default_logger
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set the logger.
|
24
|
+
#
|
25
|
+
# @example Set the logger.
|
26
|
+
# Loggable.logger = Logger.new($stdout)
|
27
|
+
#
|
28
|
+
# @param [ Logger ] The logger to set.
|
29
|
+
#
|
30
|
+
# @return [ Logger ] The new logger.
|
31
|
+
#
|
32
|
+
# @since 3.0.0
|
33
|
+
def logger=(logger)
|
34
|
+
@logger = logger
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
# Gets the default EpubBook logger - stdout.
|
40
|
+
#
|
41
|
+
# @api private
|
42
|
+
#
|
43
|
+
# @example Get the default logger.
|
44
|
+
# Loggable.default_logger
|
45
|
+
#
|
46
|
+
# @return [ Logger ] The default logger.
|
47
|
+
#
|
48
|
+
# @since 3.0.0
|
49
|
+
def default_logger
|
50
|
+
logger = ::Logger.new($stdout)
|
51
|
+
logger.level = EpubBook.config.log_level
|
52
|
+
logger
|
53
|
+
end
|
54
|
+
|
55
|
+
# Get the Rails logger if it's defined.
|
56
|
+
#
|
57
|
+
# @api private
|
58
|
+
#
|
59
|
+
# @example Get Rails' logger.
|
60
|
+
# Loggable.rails_logger
|
61
|
+
#
|
62
|
+
# @return [ Logger ] The Rails logger.
|
63
|
+
#
|
64
|
+
# @since 3.0.0
|
65
|
+
def rails_logger
|
66
|
+
defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/lib/epub_book/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epub_book
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- qmliu
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: http
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1
|
19
|
+
version: '2.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1
|
26
|
+
version: '2.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.8.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.8.1
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: eeepub
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +136,20 @@ dependencies:
|
|
122
136
|
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pry-byebug
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
154
|
name: pry-doc
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -153,13 +181,12 @@ files:
|
|
153
181
|
- LICENSE.txt
|
154
182
|
- README.md
|
155
183
|
- Rakefile
|
156
|
-
- bin/console
|
157
|
-
- bin/setup
|
158
184
|
- cover.jpg
|
159
185
|
- epub_book.gemspec
|
160
186
|
- exe/create_book
|
161
187
|
- lib/epub_book.rb
|
162
188
|
- lib/epub_book/book.rb
|
189
|
+
- lib/epub_book/loggable.rb
|
163
190
|
- lib/epub_book/mailer.rb
|
164
191
|
- lib/epub_book/version.rb
|
165
192
|
- tsxc.ttf
|
@@ -168,7 +195,7 @@ licenses:
|
|
168
195
|
- MIT
|
169
196
|
metadata:
|
170
197
|
allowed_push_host: https://rubygems.org
|
171
|
-
post_install_message:
|
198
|
+
post_install_message:
|
172
199
|
rdoc_options: []
|
173
200
|
require_paths:
|
174
201
|
- lib
|
@@ -183,9 +210,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
210
|
- !ruby/object:Gem::Version
|
184
211
|
version: '0'
|
185
212
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
signing_key:
|
213
|
+
rubygems_version: 3.2.3
|
214
|
+
signing_key:
|
189
215
|
specification_version: 4
|
190
216
|
summary: create epub from a book index url and mail to you.
|
191
217
|
test_files: []
|
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "epub_book"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
require "pry"
|
11
|
-
Pry.start
|
12
|
-
|
13
|
-
#require "irb"
|
14
|
-
#IRB.start
|