pdf_info 0.2.0 → 0.3.0
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.
Potentially problematic release.
This version of pdf_info might be problematic. Click here for more details.
- data/.gitignore +42 -0
- data/.rspec +2 -0
- data/Gemfile +1 -6
- data/Gemfile.lock +17 -17
- data/Rakefile +2 -41
- data/lib/pdf/info/version.rb +6 -0
- data/lib/pdf/info.rb +11 -0
- data/pdf_info.gemspec +15 -54
- data/spec/assets/sample.pdf +0 -0
- data/spec/pdf_info_spec.rb +16 -0
- data/spec/spec_helper.rb +2 -3
- metadata +54 -88
- data/VERSION +0 -1
data/.gitignore
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# rcov generated
|
2
|
+
coverage
|
3
|
+
|
4
|
+
# rdoc generated
|
5
|
+
rdoc
|
6
|
+
|
7
|
+
# yard generated
|
8
|
+
doc
|
9
|
+
.yardoc
|
10
|
+
|
11
|
+
# bundler
|
12
|
+
.bundle
|
13
|
+
|
14
|
+
# jeweler generated
|
15
|
+
pkg
|
16
|
+
|
17
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
18
|
+
#
|
19
|
+
# * Create a file at ~/.gitignore
|
20
|
+
# * Include files you want ignored
|
21
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
22
|
+
#
|
23
|
+
# After doing this, these files will be ignored in all your git projects,
|
24
|
+
# saving you from having to 'pollute' every project you touch with them
|
25
|
+
#
|
26
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
27
|
+
#
|
28
|
+
# For MacOS:
|
29
|
+
#
|
30
|
+
#.DS_Store
|
31
|
+
#
|
32
|
+
# For TextMate
|
33
|
+
#*.tmproj
|
34
|
+
#tmtags
|
35
|
+
#
|
36
|
+
# For emacs:
|
37
|
+
#*~
|
38
|
+
#\#*
|
39
|
+
#.\#*
|
40
|
+
#
|
41
|
+
# For vim:
|
42
|
+
#*.swp
|
data/.rspec
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
pdf_info (0.3.0)
|
5
|
+
|
1
6
|
GEM
|
2
7
|
remote: http://rubygems.org/
|
3
8
|
specs:
|
4
|
-
diff-lcs (1.1.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
rspec (2.
|
12
|
-
rspec-core (~> 2.5.0)
|
13
|
-
rspec-expectations (~> 2.5.0)
|
14
|
-
rspec-mocks (~> 2.5.0)
|
15
|
-
rspec-core (2.5.1)
|
16
|
-
rspec-expectations (2.5.0)
|
9
|
+
diff-lcs (1.1.3)
|
10
|
+
rake (0.9.2.2)
|
11
|
+
rspec (2.8.0)
|
12
|
+
rspec-core (~> 2.8.0)
|
13
|
+
rspec-expectations (~> 2.8.0)
|
14
|
+
rspec-mocks (~> 2.8.0)
|
15
|
+
rspec-core (2.8.0)
|
16
|
+
rspec-expectations (2.8.0)
|
17
17
|
diff-lcs (~> 1.1.2)
|
18
|
-
rspec-mocks (2.
|
18
|
+
rspec-mocks (2.8.0)
|
19
19
|
|
20
20
|
PLATFORMS
|
21
21
|
ruby
|
22
22
|
|
23
23
|
DEPENDENCIES
|
24
|
-
|
25
|
-
|
26
|
-
rspec
|
24
|
+
pdf_info!
|
25
|
+
rake
|
26
|
+
rspec
|
data/Rakefile
CHANGED
@@ -1,45 +1,6 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'bundler'
|
3
|
-
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'rake'
|
2
|
+
Bundler::GemHelper.install_tasks
|
11
3
|
|
12
|
-
require 'jeweler'
|
13
|
-
Jeweler::Tasks.new do |gem|
|
14
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
-
gem.name = "pdf_info"
|
16
|
-
gem.homepage = "http://github.com/newspaperclub/pdf_info"
|
17
|
-
gem.license = "MIT"
|
18
|
-
gem.summary = %Q{Wraps the pdfinfo command line tool to provide a hash of metadata}
|
19
|
-
gem.email = "tom@newspaperclub.com"
|
20
|
-
gem.authors = ["Tom Taylor"]
|
21
|
-
end
|
22
|
-
Jeweler::RubygemsDotOrgTasks.new
|
23
|
-
|
24
|
-
require 'rspec/core'
|
25
4
|
require 'rspec/core/rake_task'
|
26
|
-
RSpec::Core::RakeTask.new(
|
27
|
-
spec.pattern = FileList['spec/**/*_spec.rb']
|
28
|
-
end
|
29
|
-
|
30
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
31
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
32
|
-
spec.rcov = true
|
33
|
-
end
|
34
|
-
|
5
|
+
RSpec::Core::RakeTask.new('spec')
|
35
6
|
task :default => :spec
|
36
|
-
|
37
|
-
require 'rake/rdoctask'
|
38
|
-
Rake::RDocTask.new do |rdoc|
|
39
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
40
|
-
|
41
|
-
rdoc.rdoc_dir = 'rdoc'
|
42
|
-
rdoc.title = "pdf_info #{version}"
|
43
|
-
rdoc.rdoc_files.include('README*')
|
44
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
45
|
-
end
|
data/lib/pdf/info.rb
CHANGED
@@ -56,11 +56,22 @@ module PDF
|
|
56
56
|
metadata[:page_count] = pair.last.to_i
|
57
57
|
when "Encrypted"
|
58
58
|
metadata[:encrypted] = pair.last == 'yes'
|
59
|
+
when "Optimized"
|
60
|
+
metadata[:optimized] = pair.last == 'yes'
|
59
61
|
when "PDF version"
|
60
62
|
metadata[:version] = pair.last.to_f
|
63
|
+
when "Title"
|
64
|
+
metadata[:title] = pair.last.to_s.strip
|
65
|
+
when "Creator"
|
66
|
+
metadata[:creator] = pair.last.to_s.strip
|
67
|
+
when "Producer"
|
68
|
+
metadata[:producer] = pair.last.to_s.strip
|
69
|
+
when "Subject"
|
70
|
+
metadata[:subject] = pair.last.to_s.strip
|
61
71
|
when /^Page.*size$/
|
62
72
|
metadata[:pages] ||= []
|
63
73
|
metadata[:pages] << pair.last.scan(/[\d.]+/).map(&:to_f)
|
74
|
+
metadata[:format] = pair.last.scan(/.*\(\w+\)$/).to_s
|
64
75
|
end
|
65
76
|
end
|
66
77
|
return metadata
|
data/pdf_info.gemspec
CHANGED
@@ -1,63 +1,24 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "pdf/info/version"
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
6
|
s.name = %q{pdf_info}
|
8
|
-
s.version =
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
7
|
+
s.version = PDF::Info::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
11
9
|
s.authors = ["Tom Taylor"]
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.extra_rdoc_files = [
|
15
|
-
"LICENSE.txt",
|
16
|
-
"README.md"
|
17
|
-
]
|
18
|
-
s.files = [
|
19
|
-
".document",
|
20
|
-
"Gemfile",
|
21
|
-
"Gemfile.lock",
|
22
|
-
"LICENSE.txt",
|
23
|
-
"README.md",
|
24
|
-
"Rakefile",
|
25
|
-
"VERSION",
|
26
|
-
"lib/pdf/info.rb",
|
27
|
-
"lib/pdf/info/exceptions.rb",
|
28
|
-
"pdf_info.gemspec",
|
29
|
-
"spec/output/successful.txt",
|
30
|
-
"spec/pdf_info_spec.rb",
|
31
|
-
"spec/spec_helper.rb",
|
32
|
-
"spec/support/output_helper.rb"
|
33
|
-
]
|
34
|
-
s.homepage = %q{http://github.com/newspaperclub/pdf_info}
|
35
|
-
s.licenses = ["MIT"]
|
36
|
-
s.require_paths = ["lib"]
|
37
|
-
s.rubygems_version = %q{1.6.2}
|
10
|
+
s.email = ["tom@tomtaylor.co.uk"]
|
11
|
+
s.homepage = "https://github.com/newspaperclub/pdf_info"
|
38
12
|
s.summary = %q{Wraps the pdfinfo command line tool to provide a hash of metadata}
|
39
|
-
s.
|
40
|
-
"spec/pdf_info_spec.rb",
|
41
|
-
"spec/spec_helper.rb",
|
42
|
-
"spec/support/output_helper.rb"
|
43
|
-
]
|
13
|
+
s.licenses = ["MIT"]
|
44
14
|
|
45
|
-
|
46
|
-
s.specification_version = 3
|
15
|
+
s.rubyforge_project = "pdf_info"
|
47
16
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
else
|
53
|
-
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
54
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
55
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
56
|
-
end
|
57
|
-
else
|
58
|
-
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
59
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
60
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
61
|
-
end
|
62
|
-
end
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
s.require_paths = ["lib"]
|
63
21
|
|
22
|
+
s.add_development_dependency "rake"
|
23
|
+
s.add_development_dependency "rspec"
|
24
|
+
end
|
Binary file
|
data/spec/pdf_info_spec.rb
CHANGED
@@ -87,4 +87,20 @@ describe PDF::Info do
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
+
describe "running on sample.pdf" do
|
91
|
+
subject do
|
92
|
+
PDF::Info.command_path = "pdfinfo"
|
93
|
+
PDF::Info.new(File.join(File.dirname(__FILE__), 'assets', 'sample.pdf')).metadata
|
94
|
+
end
|
95
|
+
|
96
|
+
its([:page_count]) { should == 1 }
|
97
|
+
its([:creator]) { should == "PScript5.dll Version 5.2.2" }
|
98
|
+
its([:version]) { should == 1.4 }
|
99
|
+
its([:title]) { should == "Microsoft Word - sample.pdf.docx" }
|
100
|
+
its([:encrypted]) { should == false }
|
101
|
+
its([:optimized]) { should == false }
|
102
|
+
its([:producer]) { should == "GPL Ghostscript 8.15" }
|
103
|
+
its([:subject]) { should be_nil }
|
104
|
+
end
|
105
|
+
|
90
106
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'rspec'
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
4
3
|
require 'pdf/info'
|
5
4
|
|
6
5
|
# Requires supporting files with custom matchers and macros, etc,
|
metadata
CHANGED
@@ -1,130 +1,96 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdf_info
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 0.2.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Tom Taylor
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
prerelease: false
|
23
|
-
type: :development
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-02-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: &70234940118020 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 2
|
32
|
-
- 5
|
33
|
-
- 0
|
34
|
-
version: 2.5.0
|
35
|
-
name: rspec
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
prerelease: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
39
22
|
type: :development
|
40
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 23
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 0
|
49
|
-
- 0
|
50
|
-
version: 1.0.0
|
51
|
-
name: bundler
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
23
|
prerelease: false
|
55
|
-
|
56
|
-
|
24
|
+
version_requirements: *70234940118020
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &70234940117100 !ruby/object:Gem::Requirement
|
57
28
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
- 2
|
66
|
-
version: 1.5.2
|
67
|
-
name: jeweler
|
68
|
-
version_requirements: *id003
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70234940117100
|
69
36
|
description:
|
70
|
-
email:
|
37
|
+
email:
|
38
|
+
- tom@tomtaylor.co.uk
|
71
39
|
executables: []
|
72
|
-
|
73
40
|
extensions: []
|
74
|
-
|
75
|
-
|
76
|
-
- LICENSE.txt
|
77
|
-
- README.md
|
78
|
-
files:
|
41
|
+
extra_rdoc_files: []
|
42
|
+
files:
|
79
43
|
- .document
|
44
|
+
- .gitignore
|
45
|
+
- .rspec
|
80
46
|
- Gemfile
|
81
47
|
- Gemfile.lock
|
82
48
|
- LICENSE.txt
|
83
49
|
- README.md
|
84
50
|
- Rakefile
|
85
|
-
- VERSION
|
86
51
|
- lib/pdf/info.rb
|
87
52
|
- lib/pdf/info/exceptions.rb
|
53
|
+
- lib/pdf/info/version.rb
|
88
54
|
- pdf_info.gemspec
|
55
|
+
- spec/assets/sample.pdf
|
89
56
|
- spec/output/successful.txt
|
90
57
|
- spec/pdf_info_spec.rb
|
91
58
|
- spec/spec_helper.rb
|
92
59
|
- spec/support/output_helper.rb
|
93
|
-
|
94
|
-
|
95
|
-
licenses:
|
60
|
+
homepage: https://github.com/newspaperclub/pdf_info
|
61
|
+
licenses:
|
96
62
|
- MIT
|
97
63
|
post_install_message:
|
98
64
|
rdoc_options: []
|
99
|
-
|
100
|
-
require_paths:
|
65
|
+
require_paths:
|
101
66
|
- lib
|
102
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
68
|
none: false
|
104
|
-
requirements:
|
105
|
-
- -
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
|
108
|
-
segments:
|
69
|
+
requirements:
|
70
|
+
- - ! '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
segments:
|
109
74
|
- 0
|
110
|
-
|
111
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
hash: -1781697912224154655
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
77
|
none: false
|
113
|
-
requirements:
|
114
|
-
- -
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
|
117
|
-
segments:
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
segments:
|
118
83
|
- 0
|
119
|
-
|
84
|
+
hash: -1781697912224154655
|
120
85
|
requirements: []
|
121
|
-
|
122
|
-
|
123
|
-
rubygems_version: 1.6.2
|
86
|
+
rubyforge_project: pdf_info
|
87
|
+
rubygems_version: 1.8.11
|
124
88
|
signing_key:
|
125
89
|
specification_version: 3
|
126
90
|
summary: Wraps the pdfinfo command line tool to provide a hash of metadata
|
127
|
-
test_files:
|
91
|
+
test_files:
|
92
|
+
- spec/assets/sample.pdf
|
93
|
+
- spec/output/successful.txt
|
128
94
|
- spec/pdf_info_spec.rb
|
129
95
|
- spec/spec_helper.rb
|
130
96
|
- spec/support/output_helper.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.2.0
|