vector2d 2.2.2 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,66 +1,90 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'spec_helper'
3
+ require "spec_helper"
4
4
 
5
5
  describe Vector2d do
6
- subject(:vector) { Vector2d.new(2, 3) }
6
+ subject(:vector) { described_class.new(2, 3) }
7
7
 
8
8
  shared_examples "a parsed vector" do |x, y|
9
- it "receives the x and y properties" do
9
+ it "receives the x property" do
10
10
  expect(subject.x).to eq(x)
11
+ end
12
+
13
+ it "receives the y property" do
11
14
  expect(subject.y).to eq(y)
12
15
  end
13
16
  end
14
17
 
15
18
  describe "helper method" do
16
19
  it "creates a vector" do
17
- expect(Vector2d(2, 3)).to eq(Vector2d.new(2, 3))
20
+ expect(Vector2d(2, 3)).to eq(described_class.new(2, 3))
18
21
  end
19
22
  end
20
23
 
21
24
  describe ".parse" do
22
25
  context "with fixnum argument" do
23
- subject(:vector) { Vector2d.parse(2) }
26
+ subject(:vector) { described_class.parse(2) }
27
+
24
28
  it_behaves_like "a parsed vector", [2, 2]
25
29
  end
26
30
 
27
31
  context "with two arguments, fixnum" do
28
- subject(:vector) { Vector2d.parse(1, 2) }
32
+ subject(:vector) { described_class.parse(1, 2) }
33
+
29
34
  it_behaves_like "a parsed vector", [1, 2]
30
35
  end
31
36
 
32
37
  context "with two arguments, float" do
33
- subject(:vector) { Vector2d.parse(1.0, 2.0) }
38
+ subject(:vector) { described_class.parse(1.0, 2.0) }
39
+
34
40
  it_behaves_like "a parsed vector", [1.0, 2.0]
35
41
  end
36
42
 
43
+ context "with string argument, first omitted" do
44
+ subject(:vector) { described_class.parse("x200") }
45
+
46
+ it_behaves_like "a parsed vector", [0, 200]
47
+ end
48
+
49
+ context "with string argument, second omitted" do
50
+ subject(:vector) { described_class.parse("200x") }
51
+
52
+ it_behaves_like "a parsed vector", [200, 0]
53
+ end
54
+
37
55
  context "with string argument, fixnum" do
38
- subject(:vector) { Vector2d.parse("1x2") }
56
+ subject(:vector) { described_class.parse("1x2") }
57
+
39
58
  it_behaves_like "a parsed vector", [1, 2]
40
59
  end
41
60
 
42
61
  context "with string argument, float" do
43
- subject(:vector) { Vector2d.parse("1.0x2.0") }
62
+ subject(:vector) { described_class.parse("1.0x2.0") }
63
+
44
64
  it_behaves_like "a parsed vector", [1.0, 2.0]
45
65
  end
46
66
 
47
67
  context "with array argument" do
48
- subject(:vector) { Vector2d.parse([1, 2]) }
68
+ subject(:vector) { described_class.parse([1, 2]) }
69
+
49
70
  it_behaves_like "a parsed vector", [1, 2]
50
71
  end
51
72
 
52
73
  context "with hash argument, symbol keys" do
53
- subject(:vector) { Vector2d.parse({:x => 1, :y => 2}) }
74
+ subject(:vector) { described_class.parse(x: 1, y: 2) }
75
+
54
76
  it_behaves_like "a parsed vector", [1, 2]
55
77
  end
56
78
 
57
79
  context "with hash argument, string keys" do
58
- subject(:vector) { Vector2d.parse({'x' => 1, 'y' => 2}) }
80
+ subject(:vector) { described_class.parse("x" => 1, "y" => 2) }
81
+
59
82
  it_behaves_like "a parsed vector", [1, 2]
60
83
  end
61
84
 
62
85
  context "with vector argument" do
63
- subject(:vector) { Vector2d.parse(Vector2d.new(1, 2)) }
86
+ subject(:vector) { described_class.parse(described_class.new(1, 2)) }
87
+
64
88
  it_behaves_like "a parsed vector", [1, 2]
65
89
  end
66
90
  end
@@ -69,18 +93,21 @@ describe Vector2d do
69
93
  subject { vector == comp }
70
94
 
71
95
  context "with both arguments equal" do
72
- let(:comp) { Vector2d.new(2, 3) }
73
- it { is_expected.to eq(true) }
96
+ let(:comp) { described_class.new(2, 3) }
97
+
98
+ it { is_expected.to be(true) }
74
99
  end
75
100
 
76
101
  context "with x differing" do
77
- let(:comp) { Vector2d.new(3, 3) }
78
- it { is_expected.to eq(false) }
102
+ let(:comp) { described_class.new(3, 3) }
103
+
104
+ it { is_expected.to be(false) }
79
105
  end
80
106
 
81
107
  context "with y differing" do
82
- let(:comp) { Vector2d.new(2, 4) }
83
- it { is_expected.to eq(false) }
108
+ let(:comp) { described_class.new(2, 4) }
109
+
110
+ it { is_expected.to be(false) }
84
111
  end
85
112
  end
86
113
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require "codeclimate-test-reporter"
4
- CodeClimate::TestReporter.start
3
+ require "simplecov"
4
+ SimpleCov.start
5
5
 
6
- require "vector2d"
6
+ require "vector2d"
7
+ require "rspec/its"
data/vector2d.gemspec CHANGED
@@ -1,31 +1,26 @@
1
- # coding: utf-8
2
- # Generated by jeweler
3
- # DO NOT EDIT THIS FILE DIRECTLY
4
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
5
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
6
2
 
7
- $:.push File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
8
4
  require "vector2d/version"
9
5
 
10
6
  Gem::Specification.new do |s|
11
- s.name = %q{vector2d}
7
+ s.name = "vector2d"
12
8
  s.version = Vector2d::VERSION
13
9
  s.authors = ["Inge Jørgensen"]
14
10
  s.email = ["inge@elektronaut.no"]
15
- s.homepage = %q{http://github.com/elektronaut/vector2d}
16
- s.summary = %q{Library for handling two-dimensional vectors}
17
- s.description = %q{Vector2d allows for easy handling of two-dimensionals coordinates and vectors}
11
+ s.homepage = "http://github.com/elektronaut/vector2d"
12
+ s.summary = "Library for handling two-dimensional vectors"
13
+ s.description = "Vector2d allows for easy handling of two-dimensional " \
14
+ "coordinates and vectors"
18
15
  s.license = "MIT"
19
16
 
20
17
  s.files = `git ls-files`.split("\n")
21
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.executables = `git ls-files -- bin/*`
19
+ .split("\n")
20
+ .map { |f| File.basename(f) }
23
21
  s.require_paths = ["lib"]
24
22
 
25
- s.required_ruby_version = '>= 1.9.2'
23
+ s.required_ruby_version = ">= 2.7.0"
26
24
 
27
- # specify any dependencies here; for example:
28
- s.add_development_dependency "rake", "~> 10.3"
29
- s.add_development_dependency "rspec", "~> 3.2"
30
- s.add_dependency "contracts", "~> 0.9.0"
25
+ s.metadata["rubygems_mfa_required"] = "true"
31
26
  end
metadata CHANGED
@@ -1,58 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vector2d
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-10 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '10.3'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '10.3'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.2'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.2'
41
- - !ruby/object:Gem::Dependency
42
- name: contracts
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.9.0
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.9.0
55
- description: Vector2d allows for easy handling of two-dimensionals coordinates and
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Vector2d allows for easy handling of two-dimensional coordinates and
56
14
  vectors
57
15
  email:
58
16
  - inge@elektronaut.no
@@ -60,7 +18,9 @@ executables: []
60
18
  extensions: []
61
19
  extra_rdoc_files: []
62
20
  files:
21
+ - ".github/workflows/build.yml"
63
22
  - ".gitignore"
23
+ - ".rubocop.yml"
64
24
  - ".travis.yml"
65
25
  - Gemfile
66
26
  - Gemfile.lock
@@ -85,8 +45,9 @@ files:
85
45
  homepage: http://github.com/elektronaut/vector2d
86
46
  licenses:
87
47
  - MIT
88
- metadata: {}
89
- post_install_message:
48
+ metadata:
49
+ rubygems_mfa_required: 'true'
50
+ post_install_message:
90
51
  rdoc_options: []
91
52
  require_paths:
92
53
  - lib
@@ -94,23 +55,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
55
  requirements:
95
56
  - - ">="
96
57
  - !ruby/object:Gem::Version
97
- version: 1.9.2
58
+ version: 2.7.0
98
59
  required_rubygems_version: !ruby/object:Gem::Requirement
99
60
  requirements:
100
61
  - - ">="
101
62
  - !ruby/object:Gem::Version
102
63
  version: '0'
103
64
  requirements: []
104
- rubyforge_project:
105
- rubygems_version: 2.4.5
106
- signing_key:
65
+ rubygems_version: 3.4.6
66
+ signing_key:
107
67
  specification_version: 4
108
68
  summary: Library for handling two-dimensional vectors
109
- test_files:
110
- - spec/lib/vector2d/calculations_spec.rb
111
- - spec/lib/vector2d/coercions_spec.rb
112
- - spec/lib/vector2d/fitting_spec.rb
113
- - spec/lib/vector2d/properties_spec.rb
114
- - spec/lib/vector2d/transformations_spec.rb
115
- - spec/lib/vector2d_spec.rb
116
- - spec/spec_helper.rb
69
+ test_files: []