pdf_tools 0.1.0 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 641f9978e0a51ba3e4453c7f4b793df7963760f86b367b94e50ac7ae9418aaa6
4
- data.tar.gz: 7201cdfbbaeea72b9009ee59df7f8b4c103b3b4f6f9ff6e4e25677a047440e07
3
+ metadata.gz: cfb9fa8f5e36d333d2474a11072af90978df404b600b22cf5e1cc0843e608fa5
4
+ data.tar.gz: b0958ca6b81ea829a9d5ac3445e2757c64d11461277d3788434bf2a29591ad91
5
5
  SHA512:
6
- metadata.gz: 98261b8ce7aa2a6431c29681c9db10ddc0c3fc9264d6e6c21f40dff4ce3a0cca106d2f42c405acf5e2df785ec5cf3642ce90a9aa8b98ed2b7cc44cb492c2fac3
7
- data.tar.gz: cc64f066896705b75beec9f51301ba0b4d013be5ae90ffd1ed73471cef0f5cfc5de79e525ff0db3349933aa1f5d5d4e79c5a5e65bc9dadb08a325d4c9fd3c512
6
+ metadata.gz: d9888b2221a07d203f49d88cb5d1c7f67f5a75db904e41aea86705e3351db1e8575b3760f75581209c14112b8a9f7381a0bac867bc2485ba9d18b4a86fe4c652
7
+ data.tar.gz: 256f6c26ffd36e569f3d28c2e46984e62aac7ddc002791021642f4df20187dfa71fb8adacbb088d24472723c566a9e4243e61130097052b433ac711134b88290
@@ -0,0 +1,21 @@
1
+ name: RuboCop
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ rubocop:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: 2.7
17
+ - name: Lint Ruby code with RuboCop
18
+ run: |
19
+ gem install bundler
20
+ bundle install --gemfile gemfiles/rubocop.gemfile --jobs 4 --retry 3
21
+ bundle exec --gemfile gemfiles/rubocop.gemfile rubocop
data/.rubocop.yml ADDED
@@ -0,0 +1,22 @@
1
+ require:
2
+ - standard/cop/block_single_line_braces
3
+
4
+ inherit_gem:
5
+ standard: config/base.yml
6
+
7
+ AllCops:
8
+ TargetRubyVersion: 2.6
9
+
10
+ Layout/LineLength:
11
+ Max: 120
12
+
13
+ Metrics/ModuleLength:
14
+ Exclude:
15
+ - "**/*_spec.rb"
16
+
17
+ Metrics/BlockLength:
18
+ Exclude:
19
+ - "**/*_spec.rb"
20
+
21
+ Style/MissingRespondToMissing:
22
+ Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.3
1
+ 2.7.6
data/.travis.yml CHANGED
@@ -1,10 +1,19 @@
1
1
  ---
2
2
  sudo: false
3
+ env:
4
+ global:
5
+ - CC_TEST_REPORTER_ID=00d85edb6dc560b7f4e05191be8969963f6b27cef854239cf1e6b7c23b3309e0
3
6
  language: ruby
4
7
  rvm:
5
8
  - 2.5.3
9
+ before_script:
10
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
11
+ - chmod +x ./cc-test-reporter
12
+ - ./cc-test-reporter before-build
6
13
  script:
7
14
  - bundle exec rspec
15
+ after_script:
16
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
8
17
  before_install: gem install bundler -v 2.0.2
9
18
  branches:
10
19
  only:
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in pdf_tools.gemspec
4
4
  gemspec
5
+
6
+ eval_gemfile "gemfiles/rubocop.gemfile"
data/Gemfile.lock CHANGED
@@ -1,19 +1,28 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pdf_tools (0.1.0)
4
+ pdf_tools (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ ast (2.4.2)
9
10
  coderay (1.1.2)
10
11
  diff-lcs (1.3)
11
12
  docile (1.3.2)
13
+ json (2.6.3)
14
+ language_server-protocol (3.17.0.3)
12
15
  method_source (0.9.2)
16
+ parallel (1.22.1)
17
+ parser (3.2.1.1)
18
+ ast (~> 2.4.1)
13
19
  pry (0.12.2)
14
20
  coderay (~> 1.1.0)
15
21
  method_source (~> 0.9.0)
16
- rake (10.5.0)
22
+ rainbow (3.1.1)
23
+ rake (13.0.1)
24
+ regexp_parser (2.7.0)
25
+ rexml (3.2.5)
17
26
  rspec (3.9.0)
18
27
  rspec-core (~> 3.9.0)
19
28
  rspec-expectations (~> 3.9.0)
@@ -27,10 +36,31 @@ GEM
27
36
  diff-lcs (>= 1.2.0, < 2.0)
28
37
  rspec-support (~> 3.9.0)
29
38
  rspec-support (3.9.2)
39
+ rubocop (1.44.1)
40
+ json (~> 2.3)
41
+ parallel (~> 1.10)
42
+ parser (>= 3.2.0.0)
43
+ rainbow (>= 2.2.2, < 4.0)
44
+ regexp_parser (>= 1.8, < 3.0)
45
+ rexml (>= 3.2.5, < 4.0)
46
+ rubocop-ast (>= 1.24.1, < 2.0)
47
+ ruby-progressbar (~> 1.7)
48
+ unicode-display_width (>= 2.4.0, < 3.0)
49
+ rubocop-ast (1.27.0)
50
+ parser (>= 3.2.1.0)
51
+ rubocop-performance (1.15.2)
52
+ rubocop (>= 1.7.0, < 2.0)
53
+ rubocop-ast (>= 0.4.0)
54
+ ruby-progressbar (1.13.0)
30
55
  simplecov (0.18.5)
31
56
  docile (~> 1.1)
32
57
  simplecov-html (~> 0.11)
33
58
  simplecov-html (0.12.2)
59
+ standard (1.24.3)
60
+ language_server-protocol (~> 3.17.0.2)
61
+ rubocop (= 1.44.1)
62
+ rubocop-performance (= 1.15.2)
63
+ unicode-display_width (2.4.2)
34
64
 
35
65
  PLATFORMS
36
66
  ruby
@@ -39,9 +69,10 @@ DEPENDENCIES
39
69
  bundler (>= 1.17)
40
70
  pdf_tools!
41
71
  pry
42
- rake (~> 10.0)
72
+ rake (>= 12.3.3)
43
73
  rspec (~> 3.7)
44
74
  simplecov
75
+ standard (~> 1.0)!
45
76
 
46
77
  BUNDLED WITH
47
- 2.0.2
78
+ 2.4.7
data/README.md CHANGED
@@ -1,12 +1,14 @@
1
- [![Test Coverage](https://api.codeclimate.com/v1/badges/d402008317c8f6cc6715/test_coverage)](https://codeclimate.com/github/ldrner/pdf_tools/test_coverage)
1
+ [![Gem Version](https://badge.fury.io/rb/pdf_tools.svg)](https://badge.fury.io/rb/pdf_tools)
2
+ [![Build Status](https://travis-ci.org/ldrner/pdf_tools.svg?branch=master)](https://travis-ci.org/ldrner/pdf_tools)
3
+ [![Maintainability](https://api.codeclimate.com/v1/badges/b4d61ab4a390d00dd346/maintainability)](https://codeclimate.com/github/ldrner/pdf_tools/maintainability)
4
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/b4d61ab4a390d00dd346/test_coverage)](https://codeclimate.com/github/ldrner/pdf_tools/test_coverage)
5
+
2
6
 
3
7
  # PdfTools
4
8
 
5
9
  Ruby wrapper for the PDF Tools command-line utils.
6
10
  [https://www.pdf-tools.com/](https://www.pdf-tools.com/)
7
11
 
8
-
9
-
10
12
  ## Installation
11
13
 
12
14
  Add this line to your application's Gemfile:
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org" do
2
+ gem "standard", "~> 1.0"
3
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'open3'
3
+ require "open3"
4
4
 
5
5
  module PdfTools
6
6
  # Send commands to the shell
@@ -9,7 +9,7 @@ module PdfTools
9
9
  stdout, stderr, status = execute(command)
10
10
 
11
11
  if status != 0
12
- raise PdfTools::Error, "Command `#{command.join(' ')}` failed!\n Error: #{stderr}"
12
+ raise PdfTools::Error, "Command `#{command.join(" ")}` failed!\n Error: #{stderr}"
13
13
  end
14
14
 
15
15
  $stderr.print(stderr) unless options[:stderr] == false
@@ -29,7 +29,7 @@ module PdfTools
29
29
 
30
30
  [stdout, stderr, status.exitstatus]
31
31
  rescue Errno::ENOENT, IOError
32
- ['', "executable not found: \"#{command.first}\"", 127]
32
+ ["", "executable not found: \"#{command.first}\"", 127]
33
33
  end
34
34
  end
35
35
  end
@@ -15,7 +15,7 @@ module PdfTools
15
15
  # 10 License error
16
16
  # none Information (stdout) "Done."
17
17
  class ImageToPdf < PdfTools::Tool
18
- TOOL_NAME = 'img2pdf'
18
+ TOOL_NAME = "img2pdf"
19
19
 
20
20
  def initialize(*args)
21
21
  super(TOOL_NAME, *args)
@@ -13,7 +13,7 @@ module PdfTools
13
13
  # 4 Generic processing error.
14
14
  # 10 License error, e.g. invalid license key
15
15
  class MergeSplit < PdfTools::Tool
16
- TOOL_NAME = 'pdfsplmrg'
16
+ TOOL_NAME = "pdfsplmrg"
17
17
 
18
18
  def initialize(*args)
19
19
  super(TOOL_NAME, *args)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pdf_tools/shell'
3
+ require "pdf_tools/shell"
4
4
 
5
5
  module PdfTools
6
6
  # Abstract class that wraps command-line tools.
@@ -37,8 +37,8 @@ module PdfTools
37
37
  attr_reader :name, :args
38
38
 
39
39
  def initialize(name)
40
- @name = name
41
- @args = []
40
+ @name = name
41
+ @args = []
42
42
  end
43
43
 
44
44
  # Build and execute the command.
@@ -111,9 +111,9 @@ module PdfTools
111
111
  # tool << 'image.jpg'
112
112
  # tool << 'output.pdf'
113
113
  KEY_VALUE_OPTIONS.each do |option|
114
- define_method(option.gsub('-', '_')) do |hash = {}|
115
- hash.flat_map { |k, v| ["-#{option}", [k.capitalize, "\"#{v}\""].join('=')] }
116
- .each { |el| self << el }
114
+ define_method(option.tr("-", "_")) do |hash = {}|
115
+ hash.flat_map { |k, v| ["-#{option}", [k.capitalize, "\"#{v}\""].join("=")] }
116
+ .each { |el| self << el }
117
117
  self
118
118
  end
119
119
  end
@@ -126,22 +126,22 @@ module PdfTools
126
126
  # licmgr << "your license key"
127
127
  # licmgr.command #=> ["licmgr", "info", "your license key"]
128
128
  def method_missing(name, *args)
129
- option = "-#{name.to_s.tr('_', '-')}"
129
+ option = "-#{name.to_s.tr("_", "-")}"
130
130
  self << option
131
- self.merge!(args)
131
+ merge!(args)
132
132
  self
133
133
  end
134
134
 
135
135
  def self.available_options
136
136
  tool = new
137
- tool << '-version'
137
+ tool << "-version"
138
138
 
139
139
  help_page = tool.call(stderr: false)
140
- available_options = help_page.scan(/^\s+-[a-z\-]+/).map(&:strip)
141
- available_options.map { |o| o[1..-1].tr('-', '_') }
140
+ available_options = help_page.scan(/^\s+-[a-z-]+/).map(&:strip)
141
+ available_options.map { |o| o[1..].tr("-", "_") }
142
142
  end
143
143
  end
144
144
  end
145
145
 
146
- require 'pdf_tools/tool/image_to_pdf'
147
- require 'pdf_tools/tool/merge_split'
146
+ require "pdf_tools/tool/image_to_pdf"
147
+ require "pdf_tools/tool/merge_split"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PdfTools
2
- VERSION = '0.1.0'
4
+ VERSION = "0.1.2"
3
5
  end
data/lib/pdf_tools.rb CHANGED
@@ -1,7 +1,9 @@
1
- require 'pdf_tools/version'
1
+ # frozen_string_literal: true
2
+
3
+ require "pdf_tools/version"
2
4
 
3
5
  module PdfTools
4
6
  class Error < StandardError; end
5
7
  end
6
8
 
7
- require 'pdf_tools/tool'
9
+ require "pdf_tools/tool"
data/pdf_tools.gemspec CHANGED
@@ -5,32 +5,32 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require "pdf_tools/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'pdf_tools'
9
- spec.version = PdfTools::VERSION
10
- spec.authors = ['Ilya K.']
11
- spec.email = ['ldrner@gmail.com']
8
+ spec.name = "pdf_tools"
9
+ spec.version = PdfTools::VERSION
10
+ spec.authors = ["Ilya K."]
11
+ spec.email = ["ldrner@gmail.com"]
12
12
 
13
- spec.summary = 'Ruby wrapper for the PDF Tools command-line utils'
14
- spec.description = 'Ruby wrapper for the PDF Tools command-line utils. https://www.pdf-tools.com/'
15
- spec.homepage = 'https://github.com/ldrner/pdf_tools'
16
- spec.license = 'MIT'
13
+ spec.summary = "Ruby wrapper for the PDF Tools command-line utils"
14
+ spec.description = "Ruby wrapper for the PDF Tools command-line utils. https://www.pdf-tools.com/"
15
+ spec.homepage = "https://github.com/ldrner/pdf_tools"
16
+ spec.license = "MIT"
17
17
 
18
18
  # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
19
19
 
20
- spec.metadata['homepage_uri'] = spec.homepage
20
+ spec.metadata["homepage_uri"] = spec.homepage
21
21
  # spec.metadata['source_code_uri'] = "TODO: Put your gem's public repo URL here."
22
22
  # spec.metadata['changelog_uri'] = "TODO: Put your gem's CHANGELOG.md URL here."
23
23
 
24
- spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
25
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
- spec.bindir = 'bin'
24
+ spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
25
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
+ spec.bindir = "bin"
27
27
 
28
- spec.require_paths = ['lib']
29
- spec.required_ruby_version = '~> 2.3'
28
+ spec.require_paths = ["lib"]
29
+ spec.required_ruby_version = ">= 2.7.0"
30
30
 
31
- spec.add_development_dependency 'bundler', '>= 1.17'
32
- spec.add_development_dependency 'pry'
33
- spec.add_development_dependency 'rake', '~> 10.0'
34
- spec.add_development_dependency 'rspec', '~> 3.7'
35
- spec.add_development_dependency 'simplecov'
31
+ spec.add_development_dependency "bundler", ">= 1.17"
32
+ spec.add_development_dependency "pry"
33
+ spec.add_development_dependency "rake", ">= 12.3.3"
34
+ spec.add_development_dependency "rspec", "~> 3.7"
35
+ spec.add_development_dependency "simplecov"
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdf_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya K.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-14 00:00:00.000000000 Z
11
+ date: 2023-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: 12.3.3
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: 12.3.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -89,8 +89,10 @@ executables:
89
89
  extensions: []
90
90
  extra_rdoc_files: []
91
91
  files:
92
+ - ".github/workflows/rubocop.yml"
92
93
  - ".gitignore"
93
94
  - ".rspec"
95
+ - ".rubocop.yml"
94
96
  - ".ruby-version"
95
97
  - ".travis.yml"
96
98
  - Gemfile
@@ -100,6 +102,7 @@ files:
100
102
  - Rakefile
101
103
  - bin/console
102
104
  - bin/setup
105
+ - gemfiles/rubocop.gemfile
103
106
  - lib/pdf_tools.rb
104
107
  - lib/pdf_tools/shell.rb
105
108
  - lib/pdf_tools/tool.rb
@@ -118,17 +121,16 @@ require_paths:
118
121
  - lib
119
122
  required_ruby_version: !ruby/object:Gem::Requirement
120
123
  requirements:
121
- - - "~>"
124
+ - - ">="
122
125
  - !ruby/object:Gem::Version
123
- version: '2.3'
126
+ version: 2.7.0
124
127
  required_rubygems_version: !ruby/object:Gem::Requirement
125
128
  requirements:
126
129
  - - ">="
127
130
  - !ruby/object:Gem::Version
128
131
  version: '0'
129
132
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.7.6
133
+ rubygems_version: 3.1.6
132
134
  signing_key:
133
135
  specification_version: 4
134
136
  summary: Ruby wrapper for the PDF Tools command-line utils