units-system 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/units-system.rb +61 -61
  3. data/units-system.gemspec +4 -4
  4. metadata +25 -9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/lib/units-system.rb CHANGED
@@ -556,18 +556,17 @@ module Units
556
556
  end
557
557
 
558
558
 
559
- # Constant look-up was different in Ruby before 1.9.1
560
- # In older Ruby versions, this must be included in any module or class from which units expressions
559
+ # This must be included in any module or class from which units expressions
561
560
  # are to be used in units or u blocks.
561
+ # It is not needed in Ruby 1.9.1 due to they way constant loop-up is done in that version,
562
+ # but Ruby 1.9.2 has changed that an requires this again.
562
563
  module UseBlocks
563
- if RUBY_VERSION<"1.9"
564
- def self.append_features(target)
565
- def target.const_missing(name)
566
- begin
567
- Units.Measure(name)
568
- rescue ArgumentError
569
- super
570
- end
564
+ def self.append_features(target)
565
+ def target.const_missing(name)
566
+ begin
567
+ Units.Measure(name)
568
+ rescue ArgumentError
569
+ super
571
570
  end
572
571
  end
573
572
  end
@@ -586,7 +585,7 @@ module Units
586
585
  si_units :luminous_intensity, :cd # Iv
587
586
  si_units :amount_of_substance, :mol # n
588
587
 
589
- # base units definitions
588
+ # define base units
590
589
  define :g, 'gram', :mass, 1E-3
591
590
  define :m, 'meter', :length, 1.0
592
591
  define :s, 'second', :time, 1.0
@@ -595,76 +594,77 @@ module Units
595
594
  define :cd,'candela',:luminous_intensity, 1.0
596
595
  define :mol,'mole', :amount_of_substance, 1.0
597
596
 
598
- define :min, 'minute', 60, :s
599
- define :h, 'hour', 60, :min
600
- define :d, 'day', 24, :h
601
- define :mi, 'mile', 1.609344, :km
602
- define :in, 'inch', 2.54, :cm
603
- define :ft, 'foot', 0.3048, :m
604
- # in is a Ruby keyword; to avoid having to use self.in we'll define:
605
- define :inch, 'inch', 1, :in
606
- define :lb, 'pound', 0.45359237, :kg
607
-
608
- # declare derived quantities without named units
609
- si_units :speed, u{m/s}
597
+ # declare derived quantities with no named units
598
+ si_units :speed, u{m/s}
610
599
  si_units :acceleration, u{m/s**2}
611
- si_units :area, u{m**2}
612
- si_units :volume, u{m**3}
613
-
614
- # named derived units
615
- define :W, 'Watt', :power, u{kg*m**2/s**3} # J/s
616
- define :Hz, 'herz', :frequency, u{1/s}
617
- define :N, 'newton', :force, u{m*kg/s**2}
618
- define :Pa, 'pascal', :pressure, u{N/m**2}
619
- define :J, 'joule', :energy, u{N*m}
620
- define :C, 'coulomb', :electric_charge, u{s*A}
621
- define :V, 'volt', :voltage, u{W/A}
622
- define :F, 'farad', :electric_capacitance, u{C/V}
623
- define :Ω, 'ohm', :electric_resistance, u{V/A} # ohm: Ω omega: Ω
624
- define :S, 'siemens', :electric_condctance, u{1/Ω}
625
- define :Wb,'weber', :magnetic_flux, u{J/A}
626
- define :T, 'tesla', :magnetic_field, u{N/(A*m)}
627
- define :H, 'henry', :inductance, u{Wb/A}
628
- define :rad, 'radian', :angle, u{m/m} # maybe more useful as base unit: define :rad, 'radian', :angle, 1.0
629
- define :sr, 'steradian', :solid_angle, u{m**2/m**2}
630
- define :lm, 'lumen', :luminous_flux, u{cd*sr}
631
- define :lx, 'lux', :illuminance, u{lm/m**2}
632
- define :Bq, 'bequerel', :radioactivity, u{1/s}
633
- define :Gy, 'gray', :absorbed_dose, u{J/kg}
634
- define :Sv, 'sievert', :equivalent_dose, u{J/kg}
635
- define :kat, 'katal', :catalytic_activity, u{mol/s}
636
-
637
- define :°C, 'degree Celsius', 1, :K, +273.15
600
+ si_units :area, u{m**2}
601
+ si_units :volume, u{m**3}
602
+
603
+ # derived quantities with named units
604
+ define :W, 'Watt', :power, u{kg*m**2/s**3} # J/s
605
+ define :Hz, 'herz', :frequency, u{1/s}
606
+ define :N, 'newton', :force, u{m*kg/s**2}
607
+ define :Pa, 'pascal', :pressure, u{N/m**2}
608
+ define :J, 'joule', :energy, u{N*m}
609
+ define :C, 'coulomb', :electric_charge, u{s*A}
610
+ define :V, 'volt', :voltage, u{W/A}
611
+ define :F, 'farad', :electric_capacitance, u{C/V}
612
+ define :Ω, 'ohm', :electric_resistance, u{V/A} # ohm: Ω omega: Ω
613
+ define :S, 'siemens', :electric_condctance, u{1/Ω}
614
+ define :Wb, 'weber', :magnetic_flux, u{J/A}
615
+ define :T, 'tesla', :magnetic_field, u{N/(A*m)}
616
+ define :H, 'henry', :inductance, u{Wb/A}
617
+ define :rad, 'radian', :angle, u{m/m}
618
+ define :sr, 'steradian', :solid_angle, u{m**2/m**2}
619
+ define :lm, 'lumen', :luminous_flux, u{cd*sr}
620
+ define :lx, 'lux', :illuminance, u{lm/m**2}
621
+ define :Bq, 'bequerel', :radioactivity, u{1/s}
622
+ define :Gy, 'gray', :absorbed_dose, u{J/kg}
623
+ define :Sv, 'sievert', :equivalent_dose, u{J/kg}
624
+ define :kat, 'katal', :catalytic_activity, u{mol/s}
625
+
626
+ # Other units
627
+
628
+ define :min, 'minute', 60, :s
629
+ define :h, 'hour', 60, :min
630
+ define :d, 'day', 24, :h
631
+ define :mi, 'mile', 1.609344, :km
632
+ define :in, 'inch', 2.54, :cm
633
+ define :ft, 'foot', 0.3048, :m
634
+ define :inch, 'inch', 1, :in # alternative to avoid having to use self.in (in is a Ruby keyword)
635
+ define :lb, 'pound', 0.45359237, :kg
636
+
637
+ define :°C, 'degree Celsius', 1, :K, +273.15
638
638
  define :°F, 'degree Fahrenheit', 5.0/9.0, :K, +459.67
639
- define :R, 'rankine', 5.0/9.0, :K
639
+ define :R, 'rankine', 5.0/9.0, :K
640
640
 
641
641
  define :l, 'litre', u{dm**3}
642
642
  define :L, 'litre', 1, :l
643
643
 
644
- define :°, 'degree', ::Math::PI/180.0, :rad
644
+ define :°, 'degree', ::Math::PI/180.0, :rad
645
645
  define :′, 'arc-minute', ::Math::PI/180.0/60.0, :rad
646
646
  define :″, 'arc-second', ::Math::PI/180.0/3600.0, :rad
647
647
  # not so cool, but easier to type alternatives:
648
- define :deg, 'degree', 1, :°
648
+ define :deg, 'degree', 1, :°
649
649
  define :arcmin, 'arc-minute', 1, :′
650
650
  define :arcsec, 'arc-second', 1, :″
651
651
 
652
652
  define :g0, 'standard gravity', u{9.80665*m/s**2}
653
653
 
654
- define :bar, 'bar', 1E5, :Pa
655
- define :atm, 'atmosphere', 101325.0, :Pa
656
- define :mWC, 'meters of water column', u{1E3*kg*g0/m**2}
657
- define :Torr, 'torricelli', u{atm/760}
658
- define :mHg, 'mHg', u{13.5951E3*kg*g0/m**2}
654
+ define :bar, 'bar', 1E5, :Pa
655
+ define :atm, 'atmosphere', 101325.0, :Pa
656
+ define :mWC, 'meters of water column', u{1E3*kg*g0/m**2}
657
+ define :Torr, 'torricelli', u{atm/760}
658
+ define :mHg, 'mHg', u{13.5951E3*kg*g0/m**2}
659
659
 
660
660
  # define :kp, 'kilopond', :force, u{kg*g0} # or define pond?
661
- define :gf, 'gram-force', u{g*g0} # kilopond kp = kgf
661
+ define :gf, 'gram-force', u{g*g0} # kilopond kp = kgf
662
662
  define :lbf, 'pound-force', u{lb*g0}
663
663
 
664
- define :dyn, 'dyne', 10, :µN # u{1*g*cm/s**2}
664
+ define :dyn, 'dyne', 10, :µN # u{1*g*cm/s**2}
665
665
  define :galUS, 'U.S. liquid gallon', u{231*self.in**3}
666
666
  define :galUK, 'Imperial gallon', 4.546092, :l
667
- define :hp, 'horsepower', u{550*ft*lbf/s}
667
+ define :hp, 'horsepower', u{550*ft*lbf/s}
668
668
 
669
669
  define :psi, 'pounds-force per square inch', u{lbf/self.in**2}
670
670
 
data/units-system.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{units-system}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Javier Goizueta"]
12
- s.date = %q{2010-02-01}
12
+ s.date = %q{2010-06-01}
13
13
  s.description = %q{Experimental unit conversion & arithmetic for Ruby 1.9}
14
14
  s.email = %q{jgoizueta@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.homepage = %q{http://github.com/jgoizueta/units-system}
32
32
  s.rdoc_options = ["--charset=UTF-8"]
33
33
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.5}
34
+ s.rubygems_version = %q{1.3.7}
35
35
  s.summary = %q{Arithmetic with units of measure}
36
36
  s.test_files = [
37
37
  "test/helper.rb",
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
42
42
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
43
  s.specification_version = 3
44
44
 
45
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
45
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
46
  s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
47
47
  else
48
48
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: units-system
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ hash: 21
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 5
10
+ version: 0.0.5
5
11
  platform: ruby
6
12
  authors:
7
13
  - Javier Goizueta
@@ -9,19 +15,23 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-01 00:00:00 +01:00
18
+ date: 2010-06-01 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: thoughtbot-shoulda
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
23
32
  version: "0"
24
- version:
33
+ type: :development
34
+ version_requirements: *id001
25
35
  description: Experimental unit conversion & arithmetic for Ruby 1.9
26
36
  email: jgoizueta@gmail.com
27
37
  executables: []
@@ -52,21 +62,27 @@ rdoc_options:
52
62
  require_paths:
53
63
  - lib
54
64
  required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
55
66
  requirements:
56
67
  - - ">="
57
68
  - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
58
72
  version: "0"
59
- version:
60
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
61
75
  requirements:
62
76
  - - ">="
63
77
  - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
64
81
  version: "0"
65
- version:
66
82
  requirements: []
67
83
 
68
84
  rubyforge_project:
69
- rubygems_version: 1.3.5
85
+ rubygems_version: 1.3.7
70
86
  signing_key:
71
87
  specification_version: 3
72
88
  summary: Arithmetic with units of measure