Skip to content

Commit a0a9544

Browse files
committed
chore: make rubocop pass
1 parent b26e171 commit a0a9544

25 files changed

+494
-406
lines changed

.rubocop.yml

+23
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,34 @@
11
inherit_gem:
22
rubocop-rock: defaults.yml
33

4+
inherit_from: .rubocop_todo.yml
5+
46
inherit_mode:
57
merge:
68
- Exclude
79
- AllowedNames
810

911
AllCops:
1012
TargetRubyVersion: "2.7"
13+
NewCops: enable
14+
15+
Naming/MethodName:
16+
AllowedPatterns:
17+
- UnitX
18+
- Identity
19+
- Zero
20+
- UnitY
21+
- UnitZ
22+
- Unset
23+
24+
Security/MarshalLoad:
25+
Enabled: false
26+
27+
Naming/MethodParameterName:
28+
AllowedNames:
29+
- v
30+
- q
31+
- m
1132

33+
Lint/AmbiguousOperatorPrecedence:
34+
Enabled: false

.rubocop_todo.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Style/OptionalBooleanParameter:
2+
Enabled: false
3+
Metrics/AbcSize:
4+
Enabled: false
5+
Metrics/CyclomaticComplexity:
6+
Enabled: false
7+
Metrics/PerceivedComplexity:
8+
Enabled: false
9+

Gemfile

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
source 'https://rubygems.org'
1+
# frozen_string_literal: true
2+
3+
source "https://rubygems.org"
24

35
# Specify your gem's dependencies in eigen.gemspec
46
gemspec
7+
8+
gem "bundler", "~> 1.12"
9+
gem "minitest", ">= 5.0"
10+
gem "rake", ">= 10.0"
11+
gem "rake-compiler"
12+
gem "rice", "~> 3.0", ">= 3.0.0"

Rakefile

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
1+
# frozen_string_literal: true
2+
13
require "bundler/gem_tasks"
24
require "rake/testtask"
35

46
Rake::TestTask.new(:test) do |t|
5-
t.libs << "test"
6-
t.libs << "lib"
7-
t.test_files = FileList['test/**/*_test.rb']
7+
t.libs << "test"
8+
t.libs << "lib"
9+
t.test_files = FileList["test/**/*_test.rb"]
810
end
911

1012
require "rake/extensiontask"
1113

12-
task :build => :compile
14+
task build: :compile
1315

1416
Rake::ExtensionTask.new("eigen") do |ext|
15-
ext.lib_dir = "lib/eigen"
17+
ext.lib_dir = "lib/eigen"
1618
end
1719

18-
task :default => :compile
20+
task default: :compile

bin/console

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
23

34
require "bundler/setup"
45
require "eigen"

eigen.gemspec

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
# coding: utf-8
2-
lib = File.expand_path('../lib', __FILE__)
1+
# frozen_string_literal: true
2+
3+
lib = File.expand_path("lib", __dir__)
34
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4-
require 'eigen/version'
5+
require "eigen/version"
56

67
Gem::Specification.new do |spec|
7-
spec.name = "eigen"
8-
spec.version = Eigen::VERSION
9-
spec.authors = ["Sylvain Joyeux"]
10-
spec.email = ["[email protected]"]
8+
spec.name = "rock-eigen"
9+
spec.version = Eigen::VERSION
10+
spec.authors = ["Sylvain Joyeux"]
11+
spec.email = ["[email protected]"]
1112

12-
spec.summary = %q{Ruby bindings to the Eigen C++ linear algebra library}
13-
spec.homepage = "https://github.com/rock-core/base-ruby_eigen"
14-
spec.license = "MIT"
13+
spec.summary = "Rice-based Ruby bindings to the Eigen C++ linear algebra library"
14+
spec.homepage = "https://github.com/rock-core/base-ruby_eigen"
15+
spec.license = "MIT"
16+
spec.required_ruby_version = "> 2.7"
1517

16-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17-
spec.bindir = "exe"
18-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19-
spec.require_paths = ["lib"]
20-
spec.extensions = ["ext/eigen/extconf.rb"]
18+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
19+
f.match(%r{^(test|spec|features)/})
20+
end
21+
spec.bindir = "exe"
22+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23+
spec.require_paths = ["lib"]
24+
spec.extensions = ["ext/eigen/extconf.rb"]
2125

22-
spec.add_development_dependency 'rice', '~> 2.1', '>= 2.1.0'
23-
spec.add_development_dependency "bundler", "~> 1.12"
24-
spec.add_development_dependency "rake", "~> 10.0"
25-
spec.add_development_dependency "rake-compiler"
26-
spec.add_development_dependency "minitest", "~> 5.0"
26+
spec.metadata["rubygems_mfa_required"] = "true"
2727
end

ext/eigen/extconf.rb

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
# frozen_string_literal: true
2+
13
require "mkmf-rice"
24

3-
RbConfig::CONFIG['CXXFLAGS'].gsub! "-Wdeclaration-after-statement", ''
4-
RbConfig::CONFIG['CXXFLAGS'].gsub! "-Wimplicit-function-declaration", ''
5+
RbConfig::CONFIG["CXXFLAGS"].gsub! "-Wdeclaration-after-statement", ""
6+
RbConfig::CONFIG["CXXFLAGS"].gsub! "-Wimplicit-function-declaration", ""
57

6-
if !pkg_config('eigen3')
7-
raise "cannot find the eigen3 pkg-config package in #{ENV['PKG_CONFIG_PATH']}"
8+
unless pkg_config("eigen3")
9+
raise "cannot find the eigen3 pkg-config package in #{ENV.fetch('PKG_CONFIG_PATH',
10+
nil)}"
811
end
912

1013
create_makefile("eigen/eigen")

lib/eigen.rb

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1+
# frozen_string_literal: true
2+
13
# Ruby bindings for the Eigen C++ linear algebra library
24
module Eigen
35
end
46

5-
require 'eigen/eigen'
7+
require "eigen/eigen"
68

7-
require 'eigen/affine3'
8-
require 'eigen/angle_axis'
9-
require 'eigen/isometry3'
10-
require 'eigen/matrix4'
11-
require 'eigen/matrixx'
12-
require 'eigen/quaternion'
13-
require 'eigen/vector3'
14-
require 'eigen/vectorx'
15-
require 'eigen/version'
9+
require "eigen/affine3"
10+
require "eigen/angle_axis"
11+
require "eigen/isometry3"
12+
require "eigen/matrix4"
13+
require "eigen/matrixx"
14+
require "eigen/quaternion"
15+
require "eigen/vector3"
16+
require "eigen/vectorx"
17+
require "eigen/version"

lib/eigen/affine3.rb

+13-10
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
1+
# frozen_string_literal: true
2+
13
module Eigen
4+
# Representation of a 3D affine transform
25
class Affine3
36
def self.Identity
47
Affine3.new
58
end
69

7-
def self.from_position_orientation( v, q )
10+
def self.from_position_orientation(v, q)
811
i = Affine3.Identity
9-
i.prerotate( q )
10-
i.pretranslate( v )
12+
i.prerotate(q)
13+
i.pretranslate(v)
1114
i
1215
end
1316

1417
def dup
1518
raise NotImplementedError
1619
end
1720

18-
def ==(q)
19-
q.kind_of?(self.class) &&
20-
__equal__(q)
21+
def ==(other)
22+
other.kind_of?(self.class) &&
23+
__equal__(other)
2124
end
2225

23-
def *(obj)
24-
if obj.kind_of?(Affine3)
25-
concatenate(obj)
26+
def *(other)
27+
if other.kind_of?(Affine3)
28+
concatenate(other)
2629
else
27-
transform(obj)
30+
transform(other)
2831
end
2932
end
3033

lib/eigen/angle_axis.rb

+18-15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Eigen
24
# Representation and manipulation of an angle axis
35
class AngleAxis
@@ -6,11 +8,13 @@ def dup
68
end
79

810
# Returns the angle axis as [angle, x, y, z]
9-
def to_a; [angle, axis.to_a] end
11+
def to_a
12+
[angle, axis.to_a]
13+
end
1014

11-
def from_a (array)
12-
aa = AngleAxis.new(array[0], Eigen::Vector3.new(array[1][0], array[1][1], array[1][2]))
13-
aa
15+
def from_a(array)
16+
AngleAxis.new(array[0],
17+
Eigen::Vector3.new(array[1][0], array[1][1], array[1][2]))
1418
end
1519

1620
# Returns the identity unit quaternion (identity rotation)
@@ -46,20 +50,20 @@ def self.from_matrix(m)
4650
#
4751
# @param [Float] eps see {#to_angle_axis}
4852
# @return [Vector3]
49-
def to_scaled_axis(eps = 1e-12)
50-
return axis * angle
53+
def to_scaled_axis(_eps = 1e-12)
54+
axis * angle
5155
end
5256

5357
# Concatenates with another angle axis or transforms a vector
54-
def *(obj)
55-
if obj.kind_of?(AngleAxis)
56-
concatenate(obj)
58+
def *(other)
59+
if other.kind_of?(AngleAxis)
60+
concatenate(other)
5761
else
58-
transform(obj)
62+
transform(other)
5963
end
6064
end
6165

62-
def _dump(level) # :nodoc:
66+
def _dump(_level) # :nodoc:
6367
Marshal.dump(to_a)
6468
end
6569

@@ -81,10 +85,9 @@ def to_s # :nodoc:
8185
# (v - other_v).norm < threshold
8286
#
8387
# instead
84-
def ==(q)
85-
q.kind_of?(self.class) &&
86-
__equal__(q)
88+
def ==(other)
89+
other.kind_of?(self.class) &&
90+
__equal__(other)
8791
end
8892
end
8993
end
90-

lib/eigen/isometry3.rb

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
1+
# frozen_string_literal: true
2+
13
module Eigen
4+
# Representatiion of a 3D isometry
25
class Isometry3
36
def self.Identity
47
Isometry3.new
58
end
69

7-
def self.from_position_orientation( v, q )
10+
def self.from_position_orientation(v, q)
811
i = Isometry3.Identity
9-
i.prerotate( q )
10-
i.pretranslate( v )
12+
i.prerotate(q)
13+
i.pretranslate(v)
1114
i
1215
end
1316

1417
def dup
1518
raise NotImplementedError
1619
end
1720

18-
def ==(q)
19-
q.kind_of?(self.class) &&
20-
__equal__(q)
21+
def ==(other)
22+
other.kind_of?(self.class) &&
23+
__equal__(other)
2124
end
2225

23-
def *(obj)
24-
if obj.kind_of?(Isometry3)
25-
concatenate(obj)
26+
def *(other)
27+
if other.kind_of?(Isometry3)
28+
concatenate(other)
2629
else
27-
transform(obj)
30+
transform(other)
2831
end
2932
end
3033

@@ -33,4 +36,3 @@ def to_s
3336
end
3437
end
3538
end
36-

0 commit comments

Comments
 (0)