phys-units 0.9.5 → 0.9.6

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: 08a3f10419f3f682ae605f4cc4995f0d99605354
4
- data.tar.gz: d947bfc917e8484eeb87fc178f315b1e0982331c
3
+ metadata.gz: 2fde159ecadb15d7e998517345fffcf06c2d5f7f
4
+ data.tar.gz: d7c2afc3236ca0b3e6f4714887bdd7c04270f4ea
5
5
  SHA512:
6
- metadata.gz: ef99074dc223bb887a79162e0928181eda392b87a1fae825c8a09691aca17083417125a9dee1548058b917f41344742ac7366f3dd1cc867cb37bff3a9eab9d86
7
- data.tar.gz: e8a23b4054cee7acfd274d274272ddda9cb2975efc316083030afffeb52c1debf1d86ec51b076231054d7bab85b17e813e9ce762dbb79ae055b91725c548ac10
6
+ metadata.gz: 6889be94b9817330ae6212ba00eb255dba0920048f9a732f19311038b89b72d33ec528b89d6ffa4f0b85278afcc01c737560b756dc6cfddd8e58e529568d1792
7
+ data.tar.gz: 341229db824b450d8594b785933456d4e871b0a79ecca8d17fa994dc26e43a07e3c25c3be1fb7bf656dce4780bd9a5a717243f57f83af3e5d03b96965e795c02
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Phys-Units
2
2
 
3
- [GNU Units](http://www.gnu.org/software/units/)-compatible library for Ruby.
3
+ [GNU Units](http://www.gnu.org/software/units/) -compatible Ruby library for
4
+ unit conversion of physical quantities.
5
+ Major features: (1) It uses rich database of GNU Units.
6
+ (2) It provides normal class interface without modifying built-in classes.
4
7
  Former name is [Quanty](http://narray.rubyforge.org/quanty/quanty-en.html),
5
8
  the first Ruby units library released in 2001.
6
9
 
@@ -20,12 +23,12 @@ Or install from source tree:
20
23
 
21
24
  Load Phys-Units library in your Ruby script:
22
25
 
23
- require 'phys/units'
26
+ require 'phys/units'
24
27
 
25
28
  ## Overview
26
29
 
27
30
  ### Phys::Quantity
28
- is the primary class of Phys-Units library, intended to be manipulated by users.
31
+ is the primary class of Phys-Units library.
29
32
  This class represents Physical Quantities with a Unit of measurement.
30
33
  It contains *Value* and *Unit*.
31
34
 
@@ -44,8 +47,7 @@ It contains *Value* and *Unit*.
44
47
 
45
48
  ### Phys::Unit
46
49
  is a class to represent Physical Units of measurement.
47
- This class is used in the Phys::Quantity for calculations with Units,
48
- and users do not always need to know its mechanism.
50
+ This class is used in the Phys::Quantity for calculations with Units.
49
51
  It has *Factor* and *Dimension*:
50
52
 
51
53
  * *Factor* of the unit is a scale factor relative to its base unit.
@@ -92,7 +94,7 @@ by the following features:
92
94
  * Compatible with GNU Units except currency and nonlinear units.
93
95
  * Provides 2331 units, 85 prefixes, including UTF-8 unit names.
94
96
  * Defines Units by reading GNU Units text data
95
- (see [load_units.rb](https://github.com/masa16/phys-units/blob/master/lib/phys/units/load_units.rb)),
97
+ (See [load_units.rb](https://github.com/masa16/phys-units/blob/master/lib/phys/units/load_units.rb)),
96
98
  unlike other libraries which define Units in Ruby code.
97
99
  * Provides orthodox design of class interface.
98
100
  * No addition or modification to Ruby standard classes in standard usage,
@@ -106,15 +108,15 @@ by the following features:
106
108
 
107
109
  ## Appendix Feature
108
110
 
109
- Mix-in feature provides simple calculator of units.
110
- Caution: The use of Mix-in may cause conflicts with other library.
111
+ Mix-in feature provides a simple unit calculator.
112
+ Note that this usage involves global changes on a build-in class and will cause conflicts with other libraries.
111
113
 
112
- $ irb -rphys/units/mixin
114
+ $ irb -r phys/units/mixin
113
115
 
114
- irb> (2.5.miles/hr).want m/s
116
+ irb> 2.5.miles/hr >> m/s
115
117
  => Phys::Quantity[1.1176,"m/s"]
116
118
 
117
- irb> 23.tempC.want tempF
119
+ irb> 23.tempC >> tempF
118
120
  => Phys::Quantity[73.4,"tempF"]
119
121
 
120
122
  irb> print_units LENGTH
@@ -29,7 +29,7 @@ module Phys
29
29
  # [ 0.0, 1609.34, 3218.69, 4828.03, 6437.38 ]
30
30
  # * *Unit* is an instance of Phys::Unit class.
31
31
  # It is created from the second argument of Quantity constructor.
32
- # see document of Phys::Unit.
32
+ # See document of Phys::Unit.
33
33
  # Phys::Quantity[2.5,"miles"].unit #=> #<Phys::Unit 1609.344,{"m"=>1},@expr="5280 ft">
34
34
  #
35
35
  # @example
@@ -144,6 +144,7 @@ module Phys
144
144
  self.class.new( val, expr, unit )
145
145
  end
146
146
  alias convert want
147
+ alias >> want
147
148
 
148
149
  # Addition.
149
150
  # Before the operation, it converts +other+ to the unit of +self+.
@@ -18,7 +18,7 @@ module Phys
18
18
  #
19
19
  # Phys::UnitsMixin.module_eval do
20
20
  # puts 123.4*km
21
- # puts (23*mile/hr).want(m/s)
21
+ # puts 23*mile/hr >> m/s
22
22
  # puts h.to_si
23
23
  # case mile/hr
24
24
  # when m
@@ -32,7 +32,7 @@ module Phys
32
32
  #
33
33
  # include Phys::UnitsMixin
34
34
  #
35
- # (1*miles/hr).want m/s #=> Phys::Quantity[0.44704,"m/s"]
35
+ # 1*miles/hr >> m/s #=> Phys::Quantity[0.44704,"m/s"]
36
36
  #
37
37
  module UnitsMixin
38
38
  include UnitMeasures
@@ -68,7 +68,7 @@ module Phys
68
68
  # include Phys::UnitsNumericMixin
69
69
  # end
70
70
  #
71
- # (1.miles/1.hr).want 'm/s' #=> Phys::Quantity[0.44704,"m/s"]
71
+ # 1.miles/1.hr >> 'm/s' #=> Phys::Quantity[0.44704,"m/s"]
72
72
  module UnitsNumericMixin
73
73
  alias method_missing_units_alias method_missing
74
74
  def method_missing(method, *args, &block)
@@ -1,5 +1,5 @@
1
1
  module Phys
2
2
  class Unit
3
- VERSION = "0.9.5"
3
+ VERSION = "0.9.6"
4
4
  end
5
5
  end
data/phys-units.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Phys::Unit::VERSION
9
9
  spec.authors = ["Masahiro TANAKA"]
10
10
  spec.email = ["masa16.tanaka@gmail.com"]
11
- spec.description = %q{GNU Units-compatible library for Ruby, formarly 'Quanty' class library.}
12
- spec.summary = %q{GNU Units-compatible library for Ruby, formarly 'Quanty' class library.}
11
+ spec.summary = %q{Library for Unit conversion of Physical Quantities using GNU Units data. Formerly 'Quanty'.}
12
+ spec.description = %q{Library for Unit conversion of Physical Quantities. Features: (1) It uses rich database of GNU Units. (2) It does not modify built-in classes. Former name is 'Quanty'.}
13
13
  spec.homepage = "https://github.com/masa16/phys-units"
14
14
  spec.license = "GPL"
15
15
 
@@ -45,6 +45,9 @@ describe "Phys::Quantity" do
45
45
  it {@q.expr.should == "km"}
46
46
  it {@q.unit.should == Phys::Unit["km"]}
47
47
  it {@q.want("cm").value.should == 125000}
48
+ it {(@q >> "cm").value.should == 125000}
49
+ it {(@q >> U["cm"]).value.should == 125000}
50
+ it {(@q >> Q[1,"cm"]).value.should == 125000}
48
51
  it {(@q + @r).should == Q[1.75,"km"]}
49
52
  it {(@q - @r).should == Q[0.75,"km"]}
50
53
  it {@q.abs.should == Q[1.25,"km"]}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phys-units
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro TANAKA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-06 00:00:00.000000000 Z
11
+ date: 2013-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,9 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- description: GNU Units-compatible library for Ruby, formarly 'Quanty' class library.
41
+ description: 'Library for Unit conversion of Physical Quantities. Features: (1) It
42
+ uses rich database of GNU Units. (2) It does not modify built-in classes. Former
43
+ name is ''Quanty''.'
42
44
  email:
43
45
  - masa16.tanaka@gmail.com
44
46
  executables: []
@@ -100,7 +102,8 @@ rubyforge_project:
100
102
  rubygems_version: 2.0.0
101
103
  signing_key:
102
104
  specification_version: 4
103
- summary: GNU Units-compatible library for Ruby, formarly 'Quanty' class library.
105
+ summary: Library for Unit conversion of Physical Quantities using GNU Units data.
106
+ Formerly 'Quanty'.
104
107
  test_files:
105
108
  - spec/all_units_spec.rb
106
109
  - spec/helper.rb