physical 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76beac13fca836278bba298bbb217f4dd9cb4b40
4
- data.tar.gz: 0351e63dfa2b4af7200662e2f8b8ece442e95fa9
3
+ metadata.gz: 69eddac46221d3c50ed32d82ff045bcc6e38d34c
4
+ data.tar.gz: af0bc1972364e9e0031d76204193c0d973bbaf91
5
5
  SHA512:
6
- metadata.gz: 6dc47ed1063302a50ecf4c65898163e94752a5ee776be58ff37663a64dcbfac51c1a7d9296d9a9fe37774c8a6f20c828faf6a6bfad6511ae58470e81c973325e
7
- data.tar.gz: e5caf73ede430f01767575bf25b4f0a56101f0ece9d273aacdbad1ecfe70ca0dac4a24e17ddc65df9b425410e0a919d927dc32bbabcbd3a2d8259b1de19758c6
6
+ metadata.gz: d98f1178ad05e61a07bfb043843ad5b79353b2681e0d53224f91c4891e0f107206936633831ea6ac917ef70877c2a3110e46b38237322a9382bbef0d63bae58b
7
+ data.tar.gz: 00aa36fddd80da09179a8cf837a119777c62fd9740c20f69fb802326c0a9c86e21385a0347fd7c7698f16db82a9d7790c06b5ffdabc9504b4b2a9875cadbdecf
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
- require "bundler/gem_helper"
4
- Bundler::GemHelper.install_tasks
5
3
 
6
4
  RSpec::Core::RakeTask.new(:spec)
7
5
 
@@ -4,17 +4,22 @@ require 'measured'
4
4
 
5
5
  module Physical
6
6
  class Cuboid
7
- attr_reader :dimensions, :width, :height, :depth, :weight, :id, :properties
7
+ attr_reader :dimensions, :length, :width, :height, :weight, :id, :properties
8
8
 
9
9
  def initialize(id: nil, dimensions: [], dimension_unit: :cm, weight: 0, weight_unit: :g, properties: {})
10
10
  @id = id || SecureRandom.uuid
11
11
  @weight = Measured::Weight(weight, weight_unit)
12
- @dimensions = dimensions.map { |dimension| Measured::Length.new(dimension, dimension_unit) }
12
+ @dimensions = dimensions.map { |dimension| Measured::Length.new(dimension, dimension_unit) }.sort
13
13
  @dimensions.fill(Measured::Length(self.class::DEFAULT_LENGTH, dimension_unit), @dimensions.length..2)
14
- @width, @height, @depth = *@dimensions
14
+ @length, @width, @height = *@dimensions.reverse
15
15
  @properties = properties
16
16
  end
17
17
 
18
+ alias :x :length
19
+ alias :y :width
20
+ alias :z :height
21
+ alias :depth :height
22
+
18
23
  def volume
19
24
  Measured::Volume(dimensions.map { |d| d.convert_to(:cm).value }.reduce(1, &:*), :ml)
20
25
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.shared_examples 'a cuboid' do
4
- let(:args) { {dimensions: [1.1, 2.2, 3.3], dimension_unit: :cm} }
4
+ let(:args) { {dimensions: [1.1, 2.2, 3.3].shuffle, dimension_unit: :cm} }
5
5
 
6
6
  it { is_expected.to be_a(Physical::Cuboid) }
7
7
 
@@ -16,8 +16,12 @@ RSpec.shared_examples 'a cuboid' do
16
16
  end
17
17
 
18
18
  it "has getter methods for each dimension as Measured::Length object" do
19
- expect(subject.width).to eq(Measured::Length.new(1.1, :cm))
20
- expect(subject.height).to eq(Measured::Length.new(2.2, :cm))
21
- expect(subject.depth).to eq(Measured::Length.new(3.3, :cm))
19
+ expect(subject.length).to eq(Measured::Length.new(3.3, :cm))
20
+ expect(subject.x).to eq(Measured::Length.new(3.3, :cm))
21
+ expect(subject.width).to eq(Measured::Length.new(2.2, :cm))
22
+ expect(subject.y).to eq(Measured::Length.new(2.2, :cm))
23
+ expect(subject.height).to eq(Measured::Length.new(1.1, :cm))
24
+ expect(subject.z).to eq(Measured::Length.new(1.1, :cm))
25
+ expect(subject.depth).to eq(Measured::Length.new(1.1, :cm))
22
26
  end
23
27
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Physical
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: physical
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Meyerhoff
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-27 00:00:00.000000000 Z
11
+ date: 2019-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carmen