weight 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,9 @@
1
+ rvm:
2
+ - "2.0.0"
3
+ - "1.9.3"
4
+ - "1.9.2"
5
+ - jruby-19mode
6
+ - rbx-19mode
7
+ - jruby-18mode
8
+ - "1.8.7"
9
+ - ree
data/README.md CHANGED
@@ -1,11 +1,23 @@
1
- # Weight (0.0.1 alpha version)
1
+ # Weight (0.0.2 alpha version)
2
2
 
3
- [![Code Climate](https://codeclimate.com/github/shemerey/weight.png)](https://codeclimate.com/github/shemerey/weight)
3
+ * [![Code Climate](https://codeclimate.com/github/shemerey/weight.png)](https://codeclimate.com/github/shemerey/weight)
4
+ * [![Build Status](https://api.travis-ci.org/shemerey/weight.png)](https://travis-ci.org/shemerey/weight)
4
5
 
5
6
  It's dead simple Value object, which provides convenient way to work with
6
7
  weight in a different unit systems. It could be useful if you have to work with
7
8
  different unit system, for example you have to work with :kg as well as :lb for USA
8
9
 
10
+ ## Compatible with:
11
+
12
+ * mri 2.0.0
13
+ * mri 1.9.3
14
+ * mri 1.9.2
15
+ * jruby-19mode
16
+ * rbx-19mode
17
+ * jruby-18mode
18
+ * mri 1.8.7
19
+ * ree
20
+
9
21
  ## Installation
10
22
 
11
23
  Add this line to your application's Gemfile:
@@ -24,19 +24,19 @@ class Weight
24
24
  # Returns the weight converted to pounds
25
25
  # @return [Float] The weight in pounds
26
26
  def to_kgs
27
- raw_data_in_kg.round(4)
27
+ round(raw_data_in_kg)
28
28
  end
29
29
 
30
30
  # Returns the weight converted to kilograms
31
31
  # @return [Float] The weight in kilograms
32
32
  def to_lbs
33
- (raw_data_in_kg * pounds_per_kilogram).round(4)
33
+ round(raw_data_in_kg * pounds_per_kilogram)
34
34
  end
35
35
 
36
36
  # Returns the weight converted to pounds
37
37
  # @return [Float] The weight in pounds
38
38
  def to_f
39
- value.to_f.round(4)
39
+ round(value.to_f)
40
40
  end
41
41
 
42
42
  # Returns the weight in pounds rounded to the closest integer
@@ -61,7 +61,7 @@ class Weight
61
61
  # @raise [TypeError] When the argument passed is not a Weight
62
62
  def ==(other)
63
63
  raise TypeError, 'You can only compare weights' unless other.is_a?(Weight)
64
- raw_data_in_kg.round(4) == other.to_kgs
64
+ self.to_kgs == other.to_kgs
65
65
  end
66
66
 
67
67
  # Comparison operator
@@ -102,6 +102,10 @@ class Weight
102
102
 
103
103
  private
104
104
 
105
+ def round(value)
106
+ sprintf("%0.0#{round_level}f", value.to_f).to_f
107
+ end
108
+
105
109
  # The weight expressed in kilograms for internal usage
106
110
  # @return [Float] The weight in pounds
107
111
  # @raise [TypeError] When the unit passed was neither kg nor lb
@@ -15,6 +15,10 @@ module Weight::Configuration
15
15
  @@default_unit ||= :kg
16
16
  end
17
17
 
18
+ def round_level
19
+ @round_level ||= 4
20
+ end
21
+
18
22
  def allowed_units
19
23
  [:kg, :lb]
20
24
  end
@@ -1,3 +1,3 @@
1
1
  class Weight
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Weight::Configuration do
4
+ let(:described_class) { Weight::Configuration }
4
5
  describe '#default configuraiton' do
5
6
  it 'should be kilogram by default' do
6
7
  described_class.default_unit.should == :kg
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Weight do
4
+ let(:described_class) { Weight }
5
+
4
6
  let(:one_kg) { described_class.new(1, 'kg') }
5
7
  let(:two_kg) { described_class.new(2, 'kg') }
6
8
 
metadata CHANGED
@@ -1,79 +1,91 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: weight
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Anton Shemerey
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-11-19 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-11-19 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
17
25
  - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :development
26
+ - !ruby/object:Gem::Version
27
+ hash: 9
28
+ segments:
29
+ - 1
30
+ - 3
31
+ version: "1.3"
21
32
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
33
  type: :development
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rake
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
35
46
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
47
  type: :development
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
49
60
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
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
61
  type: :development
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: pry
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
63
74
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
75
+ type: :development
76
+ requirement: *id004
69
77
  description: Dead simple value object, with one purpose work with weight
70
- email:
78
+ email:
71
79
  - shemerey@gmail.com
72
80
  executables: []
81
+
73
82
  extensions: []
83
+
74
84
  extra_rdoc_files: []
75
- files:
85
+
86
+ files:
76
87
  - .gitignore
88
+ - .travis.yml
77
89
  - Gemfile
78
90
  - LICENSE.txt
79
91
  - README.md
@@ -87,33 +99,39 @@ files:
87
99
  - spec/weight_spec.rb
88
100
  - weight.gemspec
89
101
  homepage: https://github.com/shemerey/weight
90
- licenses:
102
+ licenses:
91
103
  - MIT
92
- metadata: {}
93
104
  post_install_message:
94
105
  rdoc_options: []
95
- require_paths:
106
+
107
+ require_paths:
96
108
  - lib
97
- required_ruby_version: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- required_rubygems_version: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - '>='
105
- - !ruby/object:Gem::Version
106
- version: '0'
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ hash: 3
124
+ segments:
125
+ - 0
126
+ version: "0"
107
127
  requirements: []
128
+
108
129
  rubyforge_project:
109
- rubygems_version: 2.1.10
130
+ rubygems_version: 1.8.25
110
131
  signing_key:
111
- specification_version: 4
112
- summary: It's dead simple Value object, which provides convenient way to work with
113
- weight in a different unit systems. It could be useful if you have to work with
114
- different unit system, for example you have to work with :kg as well as :lb for
115
- USA
116
- test_files:
132
+ specification_version: 3
133
+ summary: It's dead simple Value object, which provides convenient way to work with weight in a different unit systems. It could be useful if you have to work with different unit system, for example you have to work with :kg as well as :lb for USA
134
+ test_files:
117
135
  - spec/spec_helper.rb
118
136
  - spec/weight/configuration_spec.rb
119
137
  - spec/weight_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: aa6ce855ed5b69b14e47239e204a95bd8f0aa8ee
4
- data.tar.gz: 9ae53a6cf99f0cf5d474d49baecd3169e084379e
5
- SHA512:
6
- metadata.gz: 31bbe20390655459046b40bc53428ca9fa1c36447fa306abbe43909cd1b15f1289cdda20ffddfc5eb90dfd93fceb4ef4c90f583a28378f0958a686450a626b76
7
- data.tar.gz: c172d0566ba2646a19096a2087316a46c277068adc606b187a845abe7d42cd8bc5d74c7f6665d893617838e58ca369e8118089063243120835b67e6e195954ac