Class: PdfParadise::QueryPdfTitle
- Inherits:
-
Base
- Object
- Base
- PdfParadise::QueryPdfTitle
show all
- Defined in:
- lib/pdf_paradise/toplevel_methods/query_pdf_title.rb
Overview
PdfParadise::QueryPdfTitle
Constant Summary
collapse
- NAMESPACE =
inspect
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === PdfParadise::QueryPdfTitle[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#basename, #be_verbose?, #change_directory, #commandline_arguments?, #copy_file, #delete_file, #e, #ecomment, #esystem, #first_argument?, #gold, #infer_the_namespace, #input_without_leading_hyphens?, #internal_hash?, #is_an_image_file?, #is_on_roebe?, #lightsteelblue, #log_dir?, #mkdir, #mv, #n_pages?, #namespace?, #no_file_at, #opne, #opnn, #orange, #reset_the_internal_hash, #return_commandline_arguments_starting_with_hyphens, #return_files_from_the_commandline_arguments, #return_pwd, #rev, #set_be_quiet, #set_commandline_arguments, #steelblue, #try_to_ensure_that_this_directory_exists, #write_what_into
Constructor Details
#initialize(i = nil, run_already = true) ⇒ QueryPdfTitle
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 41
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
if block_given?
yielded = yield
case yielded
when :be_verbose
@be_verbose = true
when :be_quiet
@be_verbose = false
end
end
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
PdfParadise::QueryPdfTitle[]
#
144
145
146
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 144
def self.[](i = '')
self.new(i)
end
|
Instance Method Details
85
86
87
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 85
def input?
@input
end
|
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 92
def iterate_over_the_input_files
use_this_regex = /^Title\s*: (.+)$/
pdf_files?.each {|this_pdf_file|
if File.exist? this_pdf_file
sys_cmd = `exiftool #{this_pdf_file}`
begin
@title = sys_cmd.scan(use_this_regex).flatten.first
rescue ArgumentError => error
e 'An error happened for '+sfile(this_pdf_file)+'.'
pp error
pp error.class
exit
end
if @be_verbose
e "#{rev}The title for `#{sfile(this_pdf_file)}#{rev}` is:"
e
e " #{sfancy(@title)}"
e
end
else
opnn(namespace: @namespace); e "No file exists at `#{sfile(this_pdf_file)}`."
end
}
end
|
#reset ⇒ Object
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 62
def reset
super()
@be_verbose = true
@namespace = NAMESPACE
end
|
#run ⇒ Object
137
138
139
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 137
def run
iterate_over_the_input_files
end
|
77
78
79
80
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 77
def set_input(i = '')
i = [i] unless i.is_a? Array
@input = i
end
|
#string? ⇒ Boolean
#
string?
This variant will always return a String - an empty String if the .pdf file has no title set.
#
130
131
132
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 130
def string?
title?.to_s
end
|
#title? ⇒ Boolean
120
121
122
|
# File 'lib/pdf_paradise/toplevel_methods/query_pdf_title.rb', line 120
def title?
@title
end
|