convert_unit 0.1.0 → 0.2.0

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: 739843d77196fb355a468ce92ca0fc2e93ecacc3
4
- data.tar.gz: 3328a6cdd7021efed88b49a4820db2b37a0077b7
3
+ metadata.gz: 66168d3c3f3fa108bf70e021cce4e71402a24df5
4
+ data.tar.gz: 749fdb056d205f57d5ae24f0adc2a592eb613c7f
5
5
  SHA512:
6
- metadata.gz: fd53f11adfb7103876f51d5cb05ef16ad26cf179cb40a6a3b324ed83ab3c9b08a5542a7e4adc4ff3408fa5940d547e075f0557aa7f703d4363359d328989b39f
7
- data.tar.gz: 18aa7124b5f96f158633b91664ffb80f2fab2625dcf124005f00eaa4c7a1e981d39ef8accce1acf97ac526eb15121486b9968ac7aa3b41b10c29d57af3fb40fd
6
+ metadata.gz: '0978366fc2c32f8404de0c16e1db922010627c588696d3aed8f12fb364e68dc882faf6b6117f0fbc785f6407b7264567d9e78cd8f385475f9efc3231a1f54b61'
7
+ data.tar.gz: e8fb0650f05b9155b6e89ac9c6c490e2784c067a4b3e7a9cf5efe2519dcf4aa66c3e9aeff234ff108279e7d9c342c41b349c37f3424bf8f8e33947accd3ea901
data/AUTHORS CHANGED
@@ -1 +1 @@
1
- Tanir Hasan
1
+ Tanvir Hasan
data/CHANGELOG.md CHANGED
@@ -1,2 +1,13 @@
1
+ ## v0.2.0
2
+ * Change module required location
3
+ * Add module self method for get available unit conversion class
4
+ * Add Density method conversion
5
+ * Add Volumetric liquid flow
6
+ * Add Volumetric gas flow
7
+
1
8
  ## v0.1.0
2
9
  * initial release
10
+ * Length Unit
11
+ * Area Unit
12
+ * Mass Unit
13
+ * Volume Unit
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
  [![Build Status](https://travis-ci.org/tanvir002700/convert_unit.svg?branch=master)](https://travis-ci.org/tanvir002700/convert_unit)
3
3
  [![Coverage Status](https://coveralls.io/repos/github/tanvir002700/convert_unit/badge.svg?branch=master)](https://coveralls.io/github/tanvir002700/convert_unit?branch=master)
4
4
  [![Maintainability](https://api.codeclimate.com/v1/badges/6e3e7ff7c7b040d1680d/maintainability)](https://codeclimate.com/github/tanvir002700/convert_unit/maintainability)
5
+ [![Gem Version](https://badge.fury.io/rb/convert_unit.svg)](https://rubygems.org/gems/convert_unit)
6
+ [![Downloads](https://img.shields.io/gem/dt/convert_unit.svg)](https://rubygems.org/gems/convert_unit)
5
7
  [![GitHub last commit (branch)](https://img.shields.io/github/last-commit/tanvir002700/convert_unit/master.svg)](https://github.com/tanvir002700/convert_unit)
6
8
  [![license](https://img.shields.io/github/license/tanvir002700/convert_unit.svg)](https://github.com/tanvir002700/convert_unit/blob/master/LICENSE)
7
9
 
@@ -43,7 +45,8 @@ ConvertUnit::Length.new(1, 'km') === ConvertUnit::Length.new(1000, 'm') #=> fals
43
45
  # Arithmetic
44
46
  ConvertUnit::Length.new(1, 'km') + ConvertUnit::Length.new(1, 'km') == ConvertUnit::Length.new(2, 'km')
45
47
  ConvertUnit::Length.new(1, 'km') + ConvertUnit::Length.new(1000, 'm') == ConvertUnit::Length.new(2, 'km')
46
- ConvertUnit::Length.new(1000, 'm') + ConvertUnit::Length.new(1, 'km') == ConvertUnit::Length.new(2, 'm')
48
+ ConvertUnit::Length.new(1000, 'm') + ConvertUnit::Length.new(1, 'km') == ConvertUnit::Length.new(2000, 'm')
49
+ ConvertUnit::Length.new(1000, 'm') - ConvertUnit::Length.new(1, 'km') == ConvertUnit::Length.new(0, 'm')
47
50
 
48
51
  # Valid units argument list
49
52
  ConvertUnit::Length::UNITS_SYMBOL #=> { "millimeter"=>"mm", "centimeter"=>"cm", "meter"=>"m",
@@ -62,6 +65,9 @@ Length | mm, cm, m, km, in, ft, yd, mi
62
65
  Area | mm2, cm2, m2, in2, ft2, yd2
63
66
  Mass | g, kg, tonne, sh_ton, l_ton, lb, oz
64
67
  Volume | cm3, m3, ltr, in3, ft3, us_gal, imp_gal, us_brl
68
+ Density | g/ml kg/m3 lb/ft3 lb/in3
69
+ Volumetric Liquid flow | l/sec l/min m3 ft3/min ft3/hr gal/min brl/d
70
+ Volumetric Liquid flow | nm3/hr scfh scfm
65
71
  ## Contributing
66
72
 
67
73
  Bug reports and pull requests are welcome on GitHub at https://github.com/tanvir002700/convert_unit. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
data/_config.yml ADDED
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-architect
@@ -19,7 +19,7 @@ module ConvertUnit
19
19
  def to(c_unit)
20
20
  c_unit.downcase!
21
21
  unit_symbol = Area::UNITS_SYMBOL[c_unit] || c_unit
22
- raise ArgumentError, 'Unpossible conversion type' unless Area::UNITS.include?(unit_symbol)
22
+ raise ArgumentError, 'Impossible conversion type' unless Area::UNITS.include?(unit_symbol)
23
23
  Area.new(convert_to(unit_symbol), unit_symbol)
24
24
  end
25
25
  end
@@ -1,4 +1,7 @@
1
- require 'convert_unit/length'
2
- require 'convert_unit/area'
3
- require 'convert_unit/mass'
4
- require 'convert_unit/volume'
1
+ module ConvertUnit
2
+ def self.all_classes
3
+ constants.select do |k|
4
+ const_get(k).instance_of? Class
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,26 @@
1
+ require 'convert_unit/base'
2
+ require 'convert_unit/pre_process/density/process'
3
+
4
+ module ConvertUnit
5
+ class Density < Base
6
+ extend PreProcess::Density
7
+ UNITS_SYMBOL = load_units_symbol
8
+ UNITS = load_available_units
9
+ CONVERSION_RATE = load_conversion_rate
10
+
11
+ attr_accessor :value, :unit
12
+
13
+ def initialize(value, unit)
14
+ unit_symbol = Density::UNITS_SYMBOL[unit] || unit
15
+ @conversion_rate_for_one_unit = Density::CONVERSION_RATE
16
+ super(value, unit_symbol, Density::UNITS)
17
+ end
18
+
19
+ def to(c_unit)
20
+ c_unit.downcase!
21
+ unit_symbol = Density::UNITS_SYMBOL[c_unit] || c_unit
22
+ raise ArgumentError, 'Impossible conversion type' unless Density::UNITS.include?(unit_symbol)
23
+ Density.new(convert_to(unit_symbol), unit_symbol)
24
+ end
25
+ end
26
+ end
@@ -19,7 +19,7 @@ module ConvertUnit
19
19
  def to(c_unit)
20
20
  c_unit.downcase!
21
21
  unit_symbol = Length::UNITS_SYMBOL[c_unit] || c_unit
22
- raise ArgumentError, 'Unpossible conversion type' unless Length::UNITS.include?(unit_symbol)
22
+ raise ArgumentError, 'Impossible conversion type' unless Length::UNITS.include?(unit_symbol)
23
23
  Length.new(convert_to(unit_symbol), unit_symbol)
24
24
  end
25
25
  end
@@ -19,7 +19,7 @@ module ConvertUnit
19
19
  def to(c_unit)
20
20
  c_unit.downcase!
21
21
  unit_symbol = Mass::UNITS_SYMBOL[c_unit] || c_unit
22
- raise ArgumentError, 'Unpossible conversion type' unless Mass::UNITS.include?(unit_symbol)
22
+ raise ArgumentError, 'Impossible conversion type' unless Mass::UNITS.include?(unit_symbol)
23
23
  Mass.new(convert_to(unit_symbol), unit_symbol)
24
24
  end
25
25
  end
@@ -0,0 +1,20 @@
1
+ g/ml:
2
+ g/ml: 1
3
+ kg/m3: 1000
4
+ lb/ft3: 62.42197
5
+ lb/in3: 0.036127
6
+ kg/m3:
7
+ g/ml: 0.001
8
+ kg/m3: 1
9
+ lb/ft3: 0.062422
10
+ lb/in3: 0.000036
11
+ lb/ft3:
12
+ g/ml: 0.01602
13
+ kg/m3: 16.02
14
+ lb/ft3: 1
15
+ lb/in3: 0.000579
16
+ lb/in3:
17
+ g/ml: 27.68
18
+ kg/m3: 27680
19
+ lb/ft3: 1727.84
20
+ lb/in3: 1
@@ -0,0 +1,14 @@
1
+ require 'yaml'
2
+ require 'convert_unit/pre_process/load'
3
+
4
+ module ConvertUnit
5
+ module PreProcess
6
+ module Density
7
+ include ConvertUnit::PreProcess
8
+
9
+ def file_path
10
+ File.dirname(__FILE__)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,4 @@
1
+ - g/ml
2
+ - kg/m3
3
+ - lb/ft3
4
+ - lb/in3
@@ -0,0 +1,4 @@
1
+ gram/milliliter: g/ml
2
+ kilogram/meter_cube: kg/m3
3
+ pound/foot_cube: lb/ft3
4
+ pound/inch_cube: lb/in3
@@ -0,0 +1,12 @@
1
+ nm3/hr:
2
+ nm3/hr: 1
3
+ scfh: 35.31073
4
+ scfm: 0.588582
5
+ scfh:
6
+ nm3/hr: 0.02832
7
+ scfh: 1
8
+ scfm: 0.016669
9
+ scfm:
10
+ nm3/hr: 1.699
11
+ scfh: 59.99294
12
+ scfm: 1
@@ -0,0 +1,14 @@
1
+ require 'yaml'
2
+ require 'convert_unit/pre_process/load'
3
+
4
+ module ConvertUnit
5
+ module PreProcess
6
+ module VolumetricGasFlow
7
+ include ConvertUnit::PreProcess
8
+
9
+ def file_path
10
+ File.dirname(__FILE__)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ - nm3/hr
2
+ - scfh
3
+ - scfm
@@ -0,0 +1,3 @@
1
+ normal_meter_cube/hour: nm3/hr
2
+ standard_cubic_feet/hour: scfh
3
+ standard_cubic_feet/minute: scfm
@@ -0,0 +1,56 @@
1
+ l/sec:
2
+ l/sec: 1
3
+ l/min: 60
4
+ m3: 3.6
5
+ ft3/min: 2.119093
6
+ ft3/hr: 127.1197
7
+ gal/min: 15.85037
8
+ brl/d: 543.4783
9
+ l/min:
10
+ l/sec: 0.016666
11
+ l/min: 1
12
+ m3: 0.06
13
+ ft3/min: 0.035317
14
+ ft3/hr: 2.118577
15
+ gal/min: 0.264162
16
+ brl/d: 9.057609
17
+ m3:
18
+ l/sec: 0.277778
19
+ l/min: 16.6667
20
+ m3: 1
21
+ ft3/min: 0.588637
22
+ ft3/hr: 35.31102
23
+ gal/min: 4.40288
24
+ brl/d: 150.9661
25
+ ft3/min:
26
+ l/sec: 0.4719
27
+ l/min: 28.31513
28
+ m3: 1.69884
29
+ ft3/min: 1
30
+ ft3/hr: 60
31
+ gal/min: 7.479791
32
+ brl/d: 256.4674
33
+ ft3/hr:
34
+ l/sec: 0.007867
35
+ l/min: 0.472015
36
+ m3: 0.02832
37
+ ft3/min: 0.01667
38
+ ft3/hr: 1
39
+ gal/min: 0.124689
40
+ brl/d: 4.275326
41
+ gal/min:
42
+ l/sec: 0.06309
43
+ l/min: 3.785551
44
+ m3: 0.227124
45
+ ft3/min: 0.133694
46
+ ft3/hr: 8.019983
47
+ gal/min: 1
48
+ brl/d: 34.28804
49
+ brl/d:
50
+ l/sec: 0.00184
51
+ l/min: 0.110404
52
+ m3: 0.006624
53
+ ft3/min: 0.003899
54
+ ft3/hr: 0.2339
55
+ gal/min: 0.029165
56
+ brl/d: 1
@@ -0,0 +1,14 @@
1
+ require 'yaml'
2
+ require 'convert_unit/pre_process/load'
3
+
4
+ module ConvertUnit
5
+ module PreProcess
6
+ module VolumetricLiquidFlow
7
+ include ConvertUnit::PreProcess
8
+
9
+ def file_path
10
+ File.dirname(__FILE__)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ - l/sec
2
+ - l/min
3
+ - m3
4
+ - ft3/min
5
+ - ft3/hr
6
+ - gal/min
7
+ - brl/d
@@ -0,0 +1,8 @@
1
+ liter/second: l/sec
2
+ liter/minute: l/min
3
+ meter_cube/hour: m3
4
+ foot_cube/minute: ft3/min
5
+ foot_cube/hour: ft3/hr
6
+ us_gallons/minute: gal/min
7
+ us_barrels/day: brl/d
8
+
@@ -1,3 +1,3 @@
1
1
  module ConvertUnit
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
@@ -19,7 +19,7 @@ module ConvertUnit
19
19
  def to(c_unit)
20
20
  c_unit.downcase!
21
21
  unit_symbol = Volume::UNITS_SYMBOL[c_unit] || c_unit
22
- raise ArgumentError, 'Unpossible conversion type' unless Volume::UNITS.include?(unit_symbol)
22
+ raise ArgumentError, 'Impossible conversion type' unless Volume::UNITS.include?(unit_symbol)
23
23
  Volume.new(convert_to(unit_symbol), unit_symbol)
24
24
  end
25
25
  end
@@ -0,0 +1,26 @@
1
+ require 'convert_unit/base'
2
+ require 'convert_unit/pre_process/volumetric_gas_flow/process'
3
+
4
+ module ConvertUnit
5
+ class VolumetricGasFlow < Base
6
+ extend PreProcess::VolumetricGasFlow
7
+ UNITS_SYMBOL = load_units_symbol
8
+ UNITS = load_available_units
9
+ CONVERSION_RATE = load_conversion_rate
10
+
11
+ attr_accessor :value, :unit
12
+
13
+ def initialize(value, unit)
14
+ unit_symbol = VolumetricGasFlow::UNITS_SYMBOL[unit] || unit
15
+ @conversion_rate_for_one_unit = VolumetricGasFlow::CONVERSION_RATE
16
+ super(value, unit_symbol, VolumetricGasFlow::UNITS)
17
+ end
18
+
19
+ def to(c_unit)
20
+ c_unit.downcase!
21
+ unit_symbol = VolumetricGasFlow::UNITS_SYMBOL[c_unit] || c_unit
22
+ raise ArgumentError, 'Impossible conversion type' unless VolumetricGasFlow::UNITS.include?(unit_symbol)
23
+ VolumetricGasFlow.new(convert_to(unit_symbol), unit_symbol)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ require 'convert_unit/base'
2
+ require 'convert_unit/pre_process/volumetric_liquid_flow/process'
3
+
4
+ module ConvertUnit
5
+ class VolumetricLiquidFlow < Base
6
+ extend PreProcess::VolumetricLiquidFlow
7
+ UNITS_SYMBOL = load_units_symbol
8
+ UNITS = load_available_units
9
+ CONVERSION_RATE = load_conversion_rate
10
+
11
+ attr_accessor :value, :unit
12
+
13
+ def initialize(value, unit)
14
+ unit_symbol = VolumetricLiquidFlow::UNITS_SYMBOL[unit] || unit
15
+ @conversion_rate_for_one_unit = VolumetricLiquidFlow::CONVERSION_RATE
16
+ super(value, unit_symbol, VolumetricLiquidFlow::UNITS)
17
+ end
18
+
19
+ def to(c_unit)
20
+ c_unit.downcase!
21
+ unit_symbol = VolumetricLiquidFlow::UNITS_SYMBOL[c_unit] || c_unit
22
+ raise ArgumentError, 'Impossible conversion type' unless VolumetricLiquidFlow::UNITS.include?(unit_symbol)
23
+ VolumetricLiquidFlow.new(convert_to(unit_symbol), unit_symbol)
24
+ end
25
+ end
26
+ end
data/lib/convert_unit.rb CHANGED
@@ -1,2 +1,10 @@
1
1
  require 'convert_unit/version'
2
2
  require 'convert_unit/convert_unit'
3
+
4
+ require 'convert_unit/length'
5
+ require 'convert_unit/area'
6
+ require 'convert_unit/mass'
7
+ require 'convert_unit/volume'
8
+ require 'convert_unit/density'
9
+ require 'convert_unit/volumetric_liquid_flow'
10
+ require 'convert_unit/volumetric_gas_flow'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convert_unit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tanvir hasan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-26 00:00:00.000000000 Z
11
+ date: 2018-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -103,6 +103,7 @@ files:
103
103
  - LICENSE.txt
104
104
  - README.md
105
105
  - Rakefile
106
+ - _config.yml
106
107
  - bin/console
107
108
  - bin/setup
108
109
  - convert_unit.gemspec
@@ -110,12 +111,17 @@ files:
110
111
  - lib/convert_unit/area.rb
111
112
  - lib/convert_unit/base.rb
112
113
  - lib/convert_unit/convert_unit.rb
114
+ - lib/convert_unit/density.rb
113
115
  - lib/convert_unit/length.rb
114
116
  - lib/convert_unit/mass.rb
115
117
  - lib/convert_unit/pre_process/area/conversion_rate.yml
116
118
  - lib/convert_unit/pre_process/area/process.rb
117
119
  - lib/convert_unit/pre_process/area/units.yml
118
120
  - lib/convert_unit/pre_process/area/units_symbol.yml
121
+ - lib/convert_unit/pre_process/density/conversion_rate.yml
122
+ - lib/convert_unit/pre_process/density/process.rb
123
+ - lib/convert_unit/pre_process/density/units.yml
124
+ - lib/convert_unit/pre_process/density/units_symbol.yml
119
125
  - lib/convert_unit/pre_process/length/conversion_rate.yml
120
126
  - lib/convert_unit/pre_process/length/process.rb
121
127
  - lib/convert_unit/pre_process/length/units.yml
@@ -129,8 +135,18 @@ files:
129
135
  - lib/convert_unit/pre_process/volume/process.rb
130
136
  - lib/convert_unit/pre_process/volume/units.yml
131
137
  - lib/convert_unit/pre_process/volume/units_symbol.yml
138
+ - lib/convert_unit/pre_process/volumetric_gas_flow/conversion_rate.yml
139
+ - lib/convert_unit/pre_process/volumetric_gas_flow/process.rb
140
+ - lib/convert_unit/pre_process/volumetric_gas_flow/units.yml
141
+ - lib/convert_unit/pre_process/volumetric_gas_flow/units_symbol.yml
142
+ - lib/convert_unit/pre_process/volumetric_liquid_flow/conversion_rate.yml
143
+ - lib/convert_unit/pre_process/volumetric_liquid_flow/process.rb
144
+ - lib/convert_unit/pre_process/volumetric_liquid_flow/units.yml
145
+ - lib/convert_unit/pre_process/volumetric_liquid_flow/units_symbol.yml
132
146
  - lib/convert_unit/version.rb
133
147
  - lib/convert_unit/volume.rb
148
+ - lib/convert_unit/volumetric_gas_flow.rb
149
+ - lib/convert_unit/volumetric_liquid_flow.rb
134
150
  homepage: https://rubygems.org/gems/convert_unit
135
151
  licenses:
136
152
  - MIT