metar-parser 1.3.2 → 1.4.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: 456cd34e625a1ba09f41ae95253611d7fcacdf20
4
- data.tar.gz: 45063d94795f39b8bd092258e1ad72eeb207a3c3
3
+ metadata.gz: ebd55121470cf007f6d6207ab7776f73204fa97c
4
+ data.tar.gz: 3a05ca5f33b2f3dc93e57395a5a25e8b897fee54
5
5
  SHA512:
6
- metadata.gz: 2a052fccc41b27c6cc87380892c2ac563aaa53b763669c3347d1fdf4daa9c4b3719937880ec5ee820e829cb138262c3a8aa1a37479e0b100159723fcee52c22e
7
- data.tar.gz: 30afb02c2e7a5b8ecd30fa4e37b03300dffb3600f1224b4d50aa2d5f8f4c63c453ee2530342ca48bf2e04582b65692ab68819607caaeb2d6e2010bae86a6a00b
6
+ metadata.gz: a6cd33e83acff74785d9031c3d660bbedc2f719f2a923e790f647018877dfcc6f57a38923dfa37a06845a5f79231774bb57561a755025380c73dd1ad82a28d4c
7
+ data.tar.gz: 63be9536d437979c6ccaf5274ef3f98d4fdd7496d1a6ddb810bc516e80ed1c466f0d829be75688c8018848fe3727286723590c648c63f178470dfd0082dcb59b
@@ -2,11 +2,11 @@ require "i18n"
2
2
  require "m9t"
3
3
 
4
4
  class Metar::Data::Distance < M9t::Distance
5
- attr_accessor :units
5
+ attr_accessor :serialization_units
6
6
 
7
7
  # nil is taken to mean 'data unavailable'
8
8
  def initialize(meters = nil)
9
- @units = :meters
9
+ @serialization_units = :meters
10
10
  if meters
11
11
  super
12
12
  else
@@ -17,7 +17,7 @@ class Metar::Data::Distance < M9t::Distance
17
17
  # Handles nil case differently to M9t::Distance
18
18
  def to_s(options = {})
19
19
  options = {
20
- units: units,
20
+ units: serialization_units,
21
21
  precision: 0,
22
22
  abbreviated: true,
23
23
  }.merge(options)
@@ -17,20 +17,20 @@ class Metar::Data::Visibility < Metar::Data::Base
17
17
  if m2
18
18
  miles = m2[1].to_f + m2[3].to_f / m2[4].to_f
19
19
  distance = Metar::Data::Distance.miles(miles)
20
- distance.units = :miles
20
+ distance.serialization_units = :miles
21
21
  return new(raw, distance: distance)
22
22
  end
23
23
 
24
24
  m3 = raw.match(/^(\d+)SM$/) # US
25
25
  if m3
26
26
  distance = Metar::Data::Distance.miles(m3[1].to_f)
27
- distance.units = :miles
27
+ distance.serialization_units = :miles
28
28
  return new(raw, distance: distance)
29
29
  end
30
30
 
31
31
  if raw == 'M1/4SM' # US
32
32
  distance = Metar::Data::Distance.miles(0.25)
33
- distance.units = :miles
33
+ distance.serialization_units = :miles
34
34
  return new(raw, distance: distance, comparator: :less_than)
35
35
  end
36
36
 
data/lib/metar/version.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Metar
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 1
4
- MINOR = 3
5
- TINY = 2
4
+ MINOR = 4
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -8,14 +8,23 @@ describe Metar::Data::Distance do
8
8
 
9
9
  context '#value' do
10
10
  it 'treats the parameter as meters' do
11
- expect(subject.units).to eq(:meters)
12
11
  expect(subject.value).to eq(12_345.6789)
13
12
  end
14
13
  end
15
14
 
16
15
  context '#to_s' do
17
16
  it 'should default to meters' do
18
- expect(subject.to_s).to match(/^\d+m/)
17
+ expect(subject.to_s).to match(/\A\d+m\z/)
18
+ end
19
+
20
+ context 'when overriding the serialization_units' do
21
+ subject do
22
+ super().tap { |d| d.serialization_units = :miles }
23
+ end
24
+
25
+ it 'uses the override' do
26
+ expect(subject.to_s).to match(/\A\d+mi\z/)
27
+ end
19
28
  end
20
29
 
21
30
  context 'when <= 0.5' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metar-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Yates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-14 00:00:00.000000000 Z
11
+ date: 2017-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -229,7 +229,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
229
229
  requirements:
230
230
  - - ">="
231
231
  - !ruby/object:Gem::Version
232
- version: 2.1.0
232
+ version: 2.2.0
233
233
  required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - ">="
@@ -237,28 +237,28 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
237
  version: '0'
238
238
  requirements: []
239
239
  rubyforge_project: nowarning
240
- rubygems_version: 2.5.2
240
+ rubygems_version: 2.4.5
241
241
  signing_key:
242
242
  specification_version: 4
243
243
  summary: A Ruby gem for worldwide weather reports
244
244
  test_files:
245
- - spec/i18n_spec.rb
246
- - spec/parser_spec.rb
247
- - spec/data/runway_visible_range_spec.rb
248
- - spec/data/weather_phenomenon_spec.rb
249
- - spec/data/temperature_spec.rb
250
- - spec/data/pressure_spec.rb
251
- - spec/data/remark_spec.rb
245
+ - spec/station_spec.rb
252
246
  - spec/data/speed_spec.rb
253
- - spec/data/vertical_visibility_spec.rb
254
- - spec/data/visibility_remark_spec.rb
255
- - spec/data/visibility_spec.rb
247
+ - spec/data/density_altitude_spec.rb
248
+ - spec/data/sky_condition_spec.rb
256
249
  - spec/data/distance_spec.rb
257
- - spec/data/wind_spec.rb
250
+ - spec/data/remark_spec.rb
251
+ - spec/data/temperature_spec.rb
252
+ - spec/data/weather_phenomenon_spec.rb
258
253
  - spec/data/lightning_spec.rb
259
- - spec/data/sky_condition_spec.rb
260
- - spec/data/density_altitude_spec.rb
261
254
  - spec/data/variable_wind_spec.rb
262
- - spec/report_spec.rb
255
+ - spec/data/visibility_remark_spec.rb
256
+ - spec/data/wind_spec.rb
257
+ - spec/data/pressure_spec.rb
258
+ - spec/data/runway_visible_range_spec.rb
259
+ - spec/data/vertical_visibility_spec.rb
260
+ - spec/data/visibility_spec.rb
261
+ - spec/i18n_spec.rb
263
262
  - spec/raw_spec.rb
264
- - spec/station_spec.rb
263
+ - spec/parser_spec.rb
264
+ - spec/report_spec.rb