ebook_renamer 0.1.0 → 0.1.1
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 +4 -4
- data/Gemfile +2 -0
- data/README.md +57 -36
- data/Rakefile +0 -10
- data/bin/ebook_renamer +1 -5
- data/ebook_renamer.gemspec +2 -1
- data/lib/ebook_renamer.rb +6 -128
- data/lib/ebook_renamer/cli.rb +103 -0
- data/lib/ebook_renamer/core_ext/hash.rb +20 -0
- data/lib/ebook_renamer/helper.rb +2 -1
- data/lib/ebook_renamer/version.rb +1 -1
- data/test/fixtures/ebooks/subdir/{demo3.pdf → demo1.pdf} +0 -0
- data/test/fixtures/ebooks/subdir/{demo4.epub → demo2.epub} +0 -0
- data/test/lib/ebook_renamer/{helpers_test.rb → helper_test.rb} +0 -0
- data/test/test_helper.rb +1 -1
- metadata +26 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e27d4db397905bbe0cf08d76ed4b6d01b4b2a29
|
4
|
+
data.tar.gz: 53bc900783b7757cfdbdd8d6ed632facdd8a9f52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c04360a30e7491e5704d51ed7140146f805a11062f8deab049988ef7a0ef1e8fe7e7d30258abe683b9ce0d81d5d0eeef0dcafde5fb5673a2aa62e16e7d722462
|
7
|
+
data.tar.gz: 22ce0baff5a0bdc51ff3e422ef8f9c2e8aa45d8c20d45a7a142483f20519d04a148b7acd92c5e49b0603d2262c8510346f2cbfb7bacdf1c633e30470d90107f4
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,17 +2,8 @@
|
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/ebook_renamer)
|
4
4
|
|
5
|
-
|
6
|
-
the embedded meta-data (title, author(s)).
|
7
|
-
|
8
|
-
### Why do I wrote this gem
|
9
|
-
|
10
|
-
Almost always, when I get an ebook it does not have a good file name.
|
11
|
-
This is very annoying as it does not work well when you want to search for it later.
|
12
|
-
|
13
|
-
I wrote this gem just to make it possible to rename multiple ebook files at once using the
|
14
|
-
available meta-data from each file. I like to be able to use this on the single folder or recursively from
|
15
|
-
a given folder.
|
5
|
+
Perform bulk rename of ebook files (epub,mobi,pdf, and any other extensions supported by Calibre)
|
6
|
+
based on the embedded meta-data (title, author(s)).
|
16
7
|
|
17
8
|
### How the file is renamed
|
18
9
|
|
@@ -22,16 +13,21 @@ Also the final file name will be sanitized e.g. any multiple occurence of specia
|
|
22
13
|
replace by one dot `.`.
|
23
14
|
|
24
15
|
For example if the ebook contain the title `Start with Why: How Grate Leader Inspire Everyone to Take Action`
|
25
|
-
and the author is `Simon Sinek` then the default output will be
|
16
|
+
and the author is `Simon Sinek` then the default output will be
|
17
|
+
`Start.with.Why.How.Great.Leader.Inspire.Everyone.to.Take.Action.by.Simon.Sinek.pdf`
|
26
18
|
Note that the `:` and one space before the word `How` is replaced with just one dot string.
|
27
19
|
|
28
|
-
if the `--sep-string` is used then the output will be
|
20
|
+
if the `--sep-string _` is used then the output will be
|
21
|
+
`Start_with_Why_How_Great_Leader_Inspire_Everyone_to_Take_Action_by_Simon_Sinek.pdf`.
|
29
22
|
|
30
23
|
### What you will need
|
31
24
|
|
32
25
|
* You will need to install the [Calibre](http://www.calibre-ebook.com/) and
|
33
26
|
[Calibre CLI](http://manual.calibre-ebook.com/cli/cli-index.html) on your OS.
|
34
27
|
|
28
|
+
In particular the gem is looking for the `ebook-meta` binary in a path.
|
29
|
+
If this is not installed the error will be raised.
|
30
|
+
|
35
31
|
* Linux or Mac OSX operating system
|
36
32
|
|
37
33
|
### Installation and Usage:
|
@@ -83,28 +79,40 @@ test/fixtures/
|
|
83
79
|
Run the command without making any changes
|
84
80
|
|
85
81
|
```sh
|
86
|
-
|
82
|
+
ebook_renamer rename --base-dir -e epub pdf ./test/fixtures/ebooks --recursive
|
87
83
|
```
|
88
84
|
|
89
85
|
You should see the result like the following
|
90
86
|
|
91
87
|
```
|
92
|
-
Your
|
88
|
+
Your options :{:base_dir=>"test/fixtures/ebooks/",
|
89
|
+
:exts=>["epub", "pdf"],
|
90
|
+
:non_exts=>[],
|
91
|
+
:inc_words=>[],
|
92
|
+
:exc_words=>[],
|
93
|
+
:ignore_case=>true,
|
94
|
+
:recursive=>true,
|
95
|
+
:version=>false,
|
96
|
+
:sep_string=>".",
|
97
|
+
:commit=>false}
|
93
98
|
Changes will not be applied without the --commit option.
|
94
|
-
|
95
|
-
[
|
96
|
-
[
|
97
|
-
[
|
99
|
+
|
100
|
+
[test/fixtures/ebooks/demo1.pdf] -> [test/fixtures/ebooks/Fearless.Refactoring.by.Andrzej.Krzywda.pdf]
|
101
|
+
[test/fixtures/ebooks/demo2.epub] -> [test/fixtures/ebooks/EPUB.3.0.Specification.by.EPUB.3.Working.Group.epub]
|
102
|
+
[test/fixtures/ebooks/subdir/demo1.pdf] -> [test/fixtures/ebooks/subdir/Reliably.Deploying.Rails.Applications.by.Ben.Dixon.pdf]
|
103
|
+
[test/fixtures/ebooks/subdir/demo2.epub] -> [test/fixtures/ebooks/subdir/EPUB.3.0.Specification.by.EPUB.3.Working.Group.epub]
|
104
|
+
|
98
105
|
```
|
99
106
|
|
100
|
-
To actually make the actual rename just pass in the `--commit` option like
|
107
|
+
To actually make the actual rename just pass in the `--commit` option like so:
|
101
108
|
|
102
109
|
```sh
|
103
|
-
./bin/ebook_renamer rename --base-dir ./test/fixtures/ebooks --recursive --commit
|
104
|
-
|
110
|
+
./bin/ebook_renamer rename --base-dir ./test/fixtures/ebooks -e epub pdf --recursive --commit
|
111
|
+
# or short version
|
112
|
+
./bin/ebook_renamer rename -b ./test/fixtures/ebooks -e epub pdf -r -c
|
105
113
|
```
|
106
114
|
|
107
|
-
The final output should be like
|
115
|
+
The final output should be something like:
|
108
116
|
|
109
117
|
```
|
110
118
|
test/fixtures/
|
@@ -119,30 +127,43 @@ test/fixtures/
|
|
119
127
|
|
120
128
|
### Sample Usage
|
121
129
|
|
130
|
+
To get the help just type `ebook_renamer` without any argument
|
131
|
+
|
122
132
|
```
|
123
133
|
Usage:
|
124
|
-
ebook_renamer rename
|
134
|
+
ebook_renamer rename [OPTIONS]
|
125
135
|
|
126
136
|
Options:
|
127
|
-
-b, [--base-dir=BASE_DIR]
|
128
|
-
|
129
|
-
-e, [--exts=one two three]
|
130
|
-
|
131
|
-
-
|
132
|
-
|
133
|
-
-
|
134
|
-
|
135
|
-
-
|
136
|
-
|
137
|
-
|
137
|
+
-b, [--base-dir=BASE_DIR] # Base directory
|
138
|
+
# Default: . (current directory)
|
139
|
+
-e, [--exts=one two three] # List of extensions to search for
|
140
|
+
-f, [--non-exts=one two three] # List of files without extension to search for
|
141
|
+
-n, [--inc-words=one two three] # List of words to be included in the result if any
|
142
|
+
-x, [--exc-words=one two three] # List of words to be excluded from the result if any
|
143
|
+
-i, [--ignore-case], [--no-ignore-case] # Match case insensitively
|
144
|
+
# Default: true
|
145
|
+
-r, [--recursive], [--no-recursive] # Search for files recursively
|
146
|
+
# Default: true
|
147
|
+
-v, [--version], [--no-version] # Display version information
|
148
|
+
-s, [--sep-string=SEP_STRING] # Separator string between words in filename
|
149
|
+
# Default: .
|
150
|
+
-c, [--commit], [--no-commit] # Make change permanent
|
151
|
+
|
152
|
+
Rename multiple ebook files (pdf,epub,mobi)
|
138
153
|
```
|
139
154
|
|
140
155
|
### Changelog
|
141
156
|
|
157
|
+
#### 0.1.1
|
158
|
+
|
159
|
+
- Make use of the 'code_lister' for better options [see: `ebook_renamer` for detail]
|
160
|
+
- The --exts must be specified explicitly as `code_lister` is not set any extension by default.
|
161
|
+
|
142
162
|
#### 0.1.0
|
143
163
|
|
144
164
|
- Add link to the version badge to link to latest gem.
|
145
|
-
-
|
165
|
+
- Implicitly set the default value for extension to `pdf,epub,mobi` if
|
166
|
+
not explicitly set by the user at the command line.
|
146
167
|
|
147
168
|
#### 0.0.9
|
148
169
|
|
data/Rakefile
CHANGED
@@ -9,16 +9,6 @@ end
|
|
9
9
|
|
10
10
|
task :default => :test
|
11
11
|
|
12
|
-
task :irb do
|
13
|
-
require 'irb'
|
14
|
-
require 'awesome_print'
|
15
|
-
require 'irb/completion'
|
16
|
-
require 'ebook_renamer'
|
17
|
-
include EbookRenamer
|
18
|
-
ARGV.clear
|
19
|
-
IRB.start
|
20
|
-
end
|
21
|
-
|
22
12
|
task :pry do
|
23
13
|
require 'pry'
|
24
14
|
require 'awesome_print'
|
data/bin/ebook_renamer
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require 'thor'
|
3
2
|
require_relative '../lib/ebook_renamer'
|
4
|
-
require_relative '../lib/ebook_renamer/helper'
|
5
|
-
require_relative '../lib/ebook_renamer/version'
|
6
|
-
|
7
3
|
include EbookRenamer
|
8
|
-
EbookRenamer::
|
4
|
+
EbookRenamer::CLI.start(ARGV)
|
data/ebook_renamer.gemspec
CHANGED
@@ -18,10 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_runtime_dependency "thor", "~> 0.18"
|
21
|
-
spec.add_runtime_dependency "
|
21
|
+
spec.add_runtime_dependency "code_lister", "~> 0.0.6"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
24
|
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "awesome_print", "~> 1.2"
|
25
26
|
spec.add_development_dependency "minitest-spec-context", "~> 0.0.3"
|
26
27
|
spec.add_development_dependency "guard-minitest", "~> 2.2"
|
27
28
|
spec.add_development_dependency "minitest", "~> 4.2"
|
data/lib/ebook_renamer.rb
CHANGED
@@ -1,129 +1,7 @@
|
|
1
1
|
require 'thor'
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
method_option :base_dir,
|
9
|
-
aliases: "-b",
|
10
|
-
desc: "Base directory",
|
11
|
-
default: Dir.pwd
|
12
|
-
|
13
|
-
method_option :exts,
|
14
|
-
aliases: "-e",
|
15
|
-
desc: "List of extensions to search for",
|
16
|
-
type: :array,
|
17
|
-
default: %w(pdf epub mobi)
|
18
|
-
|
19
|
-
method_option :sep_string,
|
20
|
-
aliases: "-s",
|
21
|
-
desc: "Separator string between words in filename",
|
22
|
-
default: "."
|
23
|
-
|
24
|
-
method_option :commit,
|
25
|
-
aliases: "-c",
|
26
|
-
desc: "Make change permanent",
|
27
|
-
type: :boolean,
|
28
|
-
default: false
|
29
|
-
|
30
|
-
method_option :recursive,
|
31
|
-
aliases: "-r",
|
32
|
-
desc: "Search for files recursively",
|
33
|
-
type: :boolean,
|
34
|
-
default: false
|
35
|
-
|
36
|
-
method_option :version,
|
37
|
-
aliases: "-v",
|
38
|
-
desc: "Display version information",
|
39
|
-
type: :boolean,
|
40
|
-
default: false
|
41
|
-
|
42
|
-
def rename
|
43
|
-
args = options.symbolize_keys
|
44
|
-
#puts "Your argument: #{args}"
|
45
|
-
|
46
|
-
if options[:version]
|
47
|
-
puts "You are using ebook_renamer version #{EbookRenamer::VERSION}"
|
48
|
-
exit
|
49
|
-
end
|
50
|
-
|
51
|
-
execute(args)
|
52
|
-
end
|
53
|
-
|
54
|
-
desc "help", "Display help screen"
|
55
|
-
def help
|
56
|
-
puts <<-EOS
|
57
|
-
Usage:
|
58
|
-
ebook_renamer rename
|
59
|
-
|
60
|
-
Options:
|
61
|
-
-b, [--base-dir=BASE_DIR] # Base directory
|
62
|
-
# Default: /home/bchoomnuan/Dropbox/spikes/ebooks-renamer
|
63
|
-
-e, [--exts=one two three] # List of extensions to search for
|
64
|
-
# Default: ["pdf", "epub", "mobi"]
|
65
|
-
-s, [--sep-string=SEP_STRING] # Separator string between words in filename
|
66
|
-
# Default: .
|
67
|
-
-c, [--commit], [--no-commit] # Make change permanent
|
68
|
-
-r, [--recursive], [--no-recursive] # Search for files recursively
|
69
|
-
-v, [--version], [--no-version] # Display version information
|
70
|
-
|
71
|
-
Rename ebook files (pdf,epub,mobi)
|
72
|
-
EOS
|
73
|
-
end
|
74
|
-
|
75
|
-
default_task :help
|
76
|
-
|
77
|
-
private
|
78
|
-
|
79
|
-
# Rename the file from the given directory
|
80
|
-
# Using the with the argurment options as follow
|
81
|
-
#
|
82
|
-
# :base_dir - the base directory
|
83
|
-
# :recursive - perform the rename recursively (true|false)
|
84
|
-
# :commit - make the rename permanent (true|false)
|
85
|
-
# :exts - list of extensions to be processed default to ['epub,mobi,pdf']
|
86
|
-
#
|
87
|
-
# @param args [Hash<Symbol, Object>] options argument
|
88
|
-
def execute(args = {})
|
89
|
-
meta_binary = "ebook-meta"
|
90
|
-
options = default_options.merge(args)
|
91
|
-
|
92
|
-
input_files = files(options[:base_dir], options).sort
|
93
|
-
|
94
|
-
if input_files.empty?
|
95
|
-
puts "No file found for your option:", options
|
96
|
-
ap options
|
97
|
-
return
|
98
|
-
end
|
99
|
-
|
100
|
-
unless options[:commit]
|
101
|
-
puts "Changes will not be applied without the --commit option."
|
102
|
-
end
|
103
|
-
|
104
|
-
input_files.each do |file|
|
105
|
-
extension = File.extname(file)
|
106
|
-
begin
|
107
|
-
hash = meta_to_hash(meta(file, meta_binary))
|
108
|
-
full_name = formatted_name(hash, sep_char: " by ")
|
109
|
-
new_name = "#{File.dirname(file)}/#{sanitize_filename(full_name, options[:sep_string])}#{extension}"
|
110
|
-
puts "[#{file}] -> [#{new_name}]"
|
111
|
-
FileUtils.mv(file,new_name) if options[:commit] && file != new_name
|
112
|
-
rescue RuntimeError => e
|
113
|
-
puts e.backtrace
|
114
|
-
next
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
def default_options
|
120
|
-
options = {
|
121
|
-
base_dir: Dir.pwd,
|
122
|
-
recursive: false,
|
123
|
-
commit: false,
|
124
|
-
exts: %w(epub mobi pdf),
|
125
|
-
sep_string: '.'
|
126
|
-
}
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
2
|
+
require 'code_lister'
|
3
|
+
require_relative 'ebook_renamer/core_ext/hash'
|
4
|
+
require_relative 'ebook_renamer/version'
|
5
|
+
require_relative 'ebook_renamer/logger'
|
6
|
+
require_relative 'ebook_renamer/helper'
|
7
|
+
require_relative 'ebook_renamer/cli'
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'code_lister'
|
2
|
+
require_relative '../ebook_renamer'
|
3
|
+
|
4
|
+
module EbookRenamer
|
5
|
+
class CLI < CodeLister::BaseCLI
|
6
|
+
desc 'rename', 'Rename multiple ebook files (pdf,epub,mobi)'
|
7
|
+
|
8
|
+
shared_options
|
9
|
+
|
10
|
+
method_option :sep_string,
|
11
|
+
aliases: "-s",
|
12
|
+
desc: "Separator string between words in filename",
|
13
|
+
default: "."
|
14
|
+
|
15
|
+
method_option :commit,
|
16
|
+
aliases: "-c",
|
17
|
+
desc: "Make change permanent",
|
18
|
+
type: :boolean,
|
19
|
+
default: false
|
20
|
+
def rename
|
21
|
+
opts = options.symbolize_keys
|
22
|
+
|
23
|
+
# Note: by default the 'code_lister' for exts: is [].
|
24
|
+
# To make it more user friendly, we explicitly set the extension
|
25
|
+
# to %w(pdf epub mobi) to avoid the need for explicit value by the user
|
26
|
+
opts[:exts] = %w(pdf epub mobi) if opts.fetch(:exts, []).empty?
|
27
|
+
|
28
|
+
if opts[:version]
|
29
|
+
puts "You are using EbookRenamer version #{EbookRenamer::VERSION}"
|
30
|
+
exit
|
31
|
+
end
|
32
|
+
execute(opts)
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "usage", "Display help screen"
|
36
|
+
def usage
|
37
|
+
puts <<-EOS
|
38
|
+
Usage:
|
39
|
+
cli.rb rename [OPTIONS]
|
40
|
+
|
41
|
+
Options:
|
42
|
+
-b, [--base-dir=BASE_DIR] # Base directory
|
43
|
+
# Default: /Users/agilecreativity/Dropbox/spikes/ebooks-renamer
|
44
|
+
-e, [--exts=one two three] # List of extensions to search for
|
45
|
+
-f, [--non-exts=one two three] # List of files without extension to search for
|
46
|
+
-n, [--inc-words=one two three] # List of words to be included in the result if any
|
47
|
+
-x, [--exc-words=one two three] # List of words to be excluded from the result if any
|
48
|
+
-i, [--ignore-case], [--no-ignore-case] # Match case insensitively
|
49
|
+
# Default: true
|
50
|
+
-r, [--recursive], [--no-recursive] # Search for files recursively
|
51
|
+
# Default: true
|
52
|
+
-v, [--version], [--no-version] # Display version information
|
53
|
+
-s, [--sep-string=SEP_STRING] # Separator string between words in filename
|
54
|
+
# Default: .
|
55
|
+
-c, [--commit], [--no-commit] # Make change permanent
|
56
|
+
|
57
|
+
Rename multiple ebook files (pdf,epub,mobi)
|
58
|
+
EOS
|
59
|
+
end
|
60
|
+
|
61
|
+
default_task :usage
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
# Rename the file from the given directory
|
66
|
+
# Using the with the argurment options as follow
|
67
|
+
#
|
68
|
+
# :base_dir - the base directory
|
69
|
+
# :recursive - perform the rename recursively (true|false)
|
70
|
+
# :commit - make the rename permanent (true|false)
|
71
|
+
# :exts - list of extensions to be processed default to ['epub,mobi,pdf']
|
72
|
+
#
|
73
|
+
# @param args [Hash<Symbol, Object>] options argument
|
74
|
+
def execute(options = {})
|
75
|
+
meta_binary = "ebook-meta"
|
76
|
+
|
77
|
+
input_files = CodeLister.files(options)
|
78
|
+
|
79
|
+
if input_files.empty?
|
80
|
+
puts "No file found for your option: #{options}"
|
81
|
+
return
|
82
|
+
end
|
83
|
+
|
84
|
+
unless options[:commit]
|
85
|
+
puts "Changes will not be applied without the --commit option."
|
86
|
+
end
|
87
|
+
|
88
|
+
input_files.each do |file|
|
89
|
+
extension = File.extname(file)
|
90
|
+
begin
|
91
|
+
hash = meta_to_hash(meta(file, meta_binary))
|
92
|
+
full_name = formatted_name(hash, sep_char: " by ")
|
93
|
+
new_name = "#{File.dirname(file)}/#{sanitize_filename(full_name, options[:sep_string])}#{extension}"
|
94
|
+
puts "[#{file}] -> [#{new_name}]"
|
95
|
+
FileUtils.mv(file,new_name) if options[:commit] && file != new_name
|
96
|
+
rescue RuntimeError => e
|
97
|
+
puts e.backtrace
|
98
|
+
next
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -33,4 +33,24 @@ class Hash
|
|
33
33
|
transform_keys!{ |key| key.to_sym rescue key }
|
34
34
|
end
|
35
35
|
|
36
|
+
# Merges the caller into +other_hash+. For example,
|
37
|
+
#
|
38
|
+
# options = options.reverse_merge(size: 25, velocity: 10)
|
39
|
+
#
|
40
|
+
# is equivalent to
|
41
|
+
#
|
42
|
+
# options = { size: 25, velocity: 10 }.merge(options)
|
43
|
+
#
|
44
|
+
# This is particularly useful for initializing an options hash
|
45
|
+
# with default values.
|
46
|
+
def reverse_merge(other_hash)
|
47
|
+
other_hash.merge(self)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Destructive +reverse_merge+.
|
51
|
+
def reverse_merge!(other_hash)
|
52
|
+
# right wins if there is no left
|
53
|
+
merge!(other_hash) { |key,left,right| left }
|
54
|
+
end
|
55
|
+
|
36
56
|
end
|
data/lib/ebook_renamer/helper.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ebook_renamer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burin Choomnuan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.18'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: code_lister
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.0.6
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.0.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: awesome_print
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.2'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: minitest-spec-context
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,15 +198,16 @@ files:
|
|
184
198
|
- bin/ebook_renamer
|
185
199
|
- ebook_renamer.gemspec
|
186
200
|
- lib/ebook_renamer.rb
|
201
|
+
- lib/ebook_renamer/cli.rb
|
187
202
|
- lib/ebook_renamer/core_ext/hash.rb
|
188
203
|
- lib/ebook_renamer/helper.rb
|
189
204
|
- lib/ebook_renamer/logger.rb
|
190
205
|
- lib/ebook_renamer/version.rb
|
191
206
|
- test/fixtures/ebooks/demo1.pdf
|
192
207
|
- test/fixtures/ebooks/demo2.epub
|
193
|
-
- test/fixtures/ebooks/subdir/
|
194
|
-
- test/fixtures/ebooks/subdir/
|
195
|
-
- test/lib/ebook_renamer/
|
208
|
+
- test/fixtures/ebooks/subdir/demo1.pdf
|
209
|
+
- test/fixtures/ebooks/subdir/demo2.epub
|
210
|
+
- test/lib/ebook_renamer/helper_test.rb
|
196
211
|
- test/test_helper.rb
|
197
212
|
homepage: https://github.com/agilecreativity/ebook_renamer
|
198
213
|
licenses:
|
@@ -222,8 +237,8 @@ summary: Rename multiple ebook files (pdf, epub, mobi) based on existing meta-da
|
|
222
237
|
test_files:
|
223
238
|
- test/fixtures/ebooks/demo1.pdf
|
224
239
|
- test/fixtures/ebooks/demo2.epub
|
225
|
-
- test/fixtures/ebooks/subdir/
|
226
|
-
- test/fixtures/ebooks/subdir/
|
227
|
-
- test/lib/ebook_renamer/
|
240
|
+
- test/fixtures/ebooks/subdir/demo1.pdf
|
241
|
+
- test/fixtures/ebooks/subdir/demo2.epub
|
242
|
+
- test/lib/ebook_renamer/helper_test.rb
|
228
243
|
- test/test_helper.rb
|
229
244
|
has_rdoc:
|