coords 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 5732d9093b34152e60e8a6d99a9361b3c80a0552
4
- data.tar.gz: ad1506927e7e9b31cc9af467280888759aed3526
3
+ metadata.gz: 2849b8793d903cd5b5435ef01744b5bd792603ad
4
+ data.tar.gz: a32e790ce5e5fbba6b683ab3c7127ff8d3ed6b88
5
5
  SHA512:
6
- metadata.gz: e7b7f89fc494a3b4138df984a31a65f15d66eb11ea1109de9714513e0e668cfa0411c7252f03f3ac62a439c14119bd0ab1f5178d0ec4c261cbbeeab8f72d2824
7
- data.tar.gz: e44a4d2f472cfa7948a5323862a45c8350fcd722bd923eae754eff68e8ee90897f11616dce9b0846597580f70a3b771f1011041ee0a651a7daa609f4790ad952
6
+ metadata.gz: c51450ad8eed5bd725cb33f0c487ee4570d06b8febf616c45bd64f01bb8c0f535f7d195094db5961b1e9f467776e967e80f0bb48e0691793f2264b17d24bce5e
7
+ data.tar.gz: e5018d57fba2c6ed8127998022b6729d2d5011823c1d65f4fd8431315b42513cb9b9528acffd3516f5229d752c4ab2d9ae1fa9752a5871cbb0e1360577fe2d87
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Coords
2
2
 
3
- TODO: Write a gem description
3
+ A small suite of coordinate system classes allowing distance calculations and conversions between types.
4
4
 
5
5
  ## Installation
6
6
 
@@ -17,12 +17,14 @@ Or install it yourself as:
17
17
  $ gem install coords
18
18
 
19
19
  ## Usage
20
-
21
- TODO: Write usage instructions here
22
-
20
+ ```ruby
21
+ point = Coords::Cartesian2d.new(1, 2)
22
+ d = point.distance(point2)
23
+ polar_point = point.to_polar
24
+ ```
23
25
  ## Contributing
24
26
 
25
- 1. Fork it ( https://github.com/[my-github-username]/coords/fork )
27
+ 1. Fork it ( https://github.com/ceud/coords/fork )
26
28
  2. Create your feature branch (`git checkout -b my-new-feature`)
27
29
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
30
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
- require "bundler/gem_tasks"
1
+ require 'rspec/core/rake_task'
2
+ require 'bundler/gem_tasks'
2
3
 
4
+ # Default directory to look in is `/specs`
5
+ # Run with `rake spec`
6
+ RSpec::Core::RakeTask.new(:spec) do |task|
7
+ # task.rspec_opts = ['--color', '--format', 'nested']
8
+ end
9
+
10
+ task :default => :spec
data/coords.gemspec CHANGED
@@ -20,5 +20,11 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
23
+ spec.add_development_dependency "rspec"
24
+ # spec.add_development_dependency "rspec-nc"
25
+ # spec.add_development_dependency "guard"
26
+ # spec.add_development_dependency "guard-rspec"
27
+ spec.add_development_dependency "pry"
28
+ spec.add_development_dependency "pry-remote"
29
+ spec.add_development_dependency "pry-nav"
24
30
  end
@@ -31,5 +31,9 @@ module Coords
31
31
 
32
32
  Polar.new(radius, theta)
33
33
  end
34
+
35
+ def ==(point)
36
+ x == point.x && y == point.y
37
+ end
34
38
  end
35
39
  end
@@ -1,3 +1,3 @@
1
1
  module Coords
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/coords.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "coords/version"
2
2
  require "coords/cartesian2d"
3
3
  require "coords/cartesian3d"
4
+ require "coords/polar"
5
+ require "coords/spherical"
4
6
 
5
7
  module Coords
6
8
  #
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ describe Coords::Cartesian2d do
4
+ subject { Coords::Cartesian2d.new(1, 2) }
5
+
6
+ describe '#x' do
7
+ it 'returns value of x coordinate' do
8
+ expect(subject.x).to eq(1)
9
+ end
10
+ end
11
+
12
+ describe '#y' do
13
+ it 'returns value of y coordinate' do
14
+ expect(subject.y).to eq(2)
15
+ end
16
+ end
17
+
18
+ describe '#distance_squared' do
19
+ it 'returns squared distance between two points' do
20
+ point2 = Coords::Cartesian2d.new(4, 6)
21
+ expect(subject.distance_squared(point2)).to eq(25)
22
+ end
23
+ end
24
+
25
+ describe '#distance' do
26
+ it 'returns distance between two points' do
27
+ point2 = Coords::Cartesian2d.new(4, 6)
28
+ expect(subject.distance(point2)).to eq(5)
29
+ end
30
+ end
31
+
32
+ describe '#to_s' do
33
+ it 'returns comma delimited coordinate values' do
34
+ expect(subject.to_s).to eq('1,2')
35
+ end
36
+ end
37
+
38
+ describe '#to_polar' do
39
+ it 'returns point in polar coordinate system' do
40
+ polar = subject.to_polar
41
+ expect(polar.radius).to eq(2.23606797749979)
42
+ expect(polar.theta).to eq(1.1071487177940904)
43
+ end
44
+ end
45
+
46
+ describe '#==' do
47
+ it 'compares coordinate values equality' do
48
+ point2 = Coords::Cartesian2d.new(1, 2)
49
+ expect(subject == point2).to be true
50
+ expect(subject != point2).to be false
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,2 @@
1
+ require 'pry'
2
+ require 'Coords'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coords
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Allan
@@ -52,6 +52,48 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-remote
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-nav
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  description: Coordinate system library enabling cross-system conversions.
56
98
  email:
57
99
  - ceudonym@gmail.com
@@ -71,6 +113,8 @@ files:
71
113
  - lib/coords/polar.rb
72
114
  - lib/coords/spherical.rb
73
115
  - lib/coords/version.rb
116
+ - spec/lib/coords/cartesian2d_spec.rb
117
+ - spec/spec_helper.rb
74
118
  homepage: https://github.com/ceud/coords
75
119
  licenses:
76
120
  - MIT
@@ -95,5 +139,7 @@ rubygems_version: 2.4.6
95
139
  signing_key:
96
140
  specification_version: 4
97
141
  summary: A small suite of coordinate system classes.
98
- test_files: []
142
+ test_files:
143
+ - spec/lib/coords/cartesian2d_spec.rb
144
+ - spec/spec_helper.rb
99
145
  has_rdoc: