nasa-neo 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39c3b2f4dcea89280298b2742156c13eb30d249558d7e86ab46475ec458149c4
4
- data.tar.gz: 3e4211e5ecea32b7c40962d7858529287917f923f80b819c19136f704c0d4dce
3
+ metadata.gz: 860304df445032348b913060a02e0e5d7b258e1ddda03745c5e11b11e23aecf9
4
+ data.tar.gz: 4e7b071bdb52b5b245ad4d5db322d64ad101944dee911701bf993c07f162c071
5
5
  SHA512:
6
- metadata.gz: 9b886908d2c30577bfd60365a89bf0881da783ca45c10d2974ccfeaddab6ceb10b7e797a9e40d84bf43a092a129a5b57b9fbb665514cade185e202fb6f00748e
7
- data.tar.gz: 6dec97d322e25a330539b1a57006a4a4d549cd1ec8602b8bd29d679763df019b21104b9361e509ab48d8ceca0ec8fed1154275eeb88328d5303cb804b39005eb
6
+ metadata.gz: 88411f27624c29e01cec4fc18c2d4f84bcbff9a1cfc1da55b675ac103b3bcfd8c9acf091563803cd1a5f5c1af87936cceda90d0955d1db05189c86550aba1958
7
+ data.tar.gz: 5ea233ce45eca55d9d419a8d1a41286669fbdab4ab9124c209543154da7f7413bccd9773c36640d974c7c587f1525b8d9302ac0270cb270e4e359d3f335a547c
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nasa-neo (1.3.2)
4
+ nasa-neo (1.3.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -29,17 +29,7 @@ module NasaNeo
29
29
  end
30
30
 
31
31
  def estimated_diameter(measurement = nil, min_max = nil)
32
- if ESTIMATED_DIAMETER_OPTIONS.include? measurement
33
- if ["min", "max"].include? min_max
34
- call_and_rescue { retrieve_neo(ESTIMATED_DIAMETER_KEYS + ["#{measurement}", "estimated_diameter_#{min_max}"]) }
35
- else
36
- min_max == nil ? call_and_rescue { retrieve_neo(ESTIMATED_DIAMETER_KEYS + ["#{measurement}"]) }
37
- : error_feedback(['min_max', 'check arguments'])
38
- end
39
- else
40
- measurement == nil ? call_and_rescue { retrieve_neo(ESTIMATED_DIAMETER_KEYS) }
41
- : error_feedback(['measurement', 'check arguments'])
42
- end
32
+ retrieve_specific(ESTIMATED_DIAMETER_OPTIONS, ESTIMATED_DIAMETER_KEYS, measurement, min_max)
43
33
  end
44
34
 
45
35
  def hazardous?
@@ -47,12 +37,7 @@ module NasaNeo
47
37
  end
48
38
 
49
39
  def miss_distance(measurement = nil)
50
- if MISS_DISTANCE_OPTIONS.include? measurement
51
- call_and_rescue { retrieve_neo(MISS_DISTANCE_KEYS + ["#{measurement}"]).to_f }
52
- else
53
- measurement == nil ? call_and_rescue { retrieve_neo(MISS_DISTANCE_KEYS) }
54
- : error_feedback(['measurement', 'check arguments'])
55
- end
40
+ retrieve_specific(MISS_DISTANCE_OPTIONS, MISS_DISTANCE_KEYS, measurement)
56
41
  end
57
42
 
58
43
  def neo_name
@@ -80,12 +65,7 @@ module NasaNeo
80
65
  end
81
66
 
82
67
  def velocity(measurement = nil)
83
- if VELOCITY_OPTIONS.include? measurement
84
- call_and_rescue { retrieve_neo(VELOCITY_KEYS + ["#{measurement}"]).to_f }
85
- else
86
- measurement == nil ? call_and_rescue { retrieve_neo(VELOCITY_KEYS) }
87
- : error_feedback(['measurement', 'check arguments'])
88
- end
68
+ retrieve_specific(VELOCITY_OPTIONS, VELOCITY_KEYS, measurement)
89
69
  end
90
70
 
91
71
  private
@@ -118,6 +98,23 @@ module NasaNeo
118
98
  @result.dig(*root_keys + keys)
119
99
  end
120
100
 
101
+ def retrieve_specific(options, keys, measurement, min_max = nil)
102
+
103
+ if options.include? measurement
104
+ chained_keys = retrieve_neo(keys + ["#{measurement}"])
105
+ if ["min", "max"].include? min_max
106
+ call_and_rescue { chained_keys["estimated_diameter_#{min_max}"] }
107
+ else
108
+ min_max == nil ? call_and_rescue { chained_keys.respond_to?(:to_f) ? chained_keys.to_f
109
+ : chained_keys }
110
+ : error_feedback(['min_max', 'check arguments'])
111
+ end
112
+ else
113
+ measurement == nil ? call_and_rescue { retrieve_neo(keys) }
114
+ : error_feedback(['measurement', 'check arguments'])
115
+ end
116
+ end
117
+
121
118
  def error_feedback(error_info)
122
119
  { 'error': error_info }
123
120
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NasaNeo
4
- VERSION = "1.3.2".freeze
4
+ VERSION = "1.3.3".freeze
5
5
  end
@@ -4,7 +4,7 @@ require "nasa-neo/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'nasa-neo'
7
- s.version = '1.3.2'
7
+ s.version = '1.3.3'
8
8
  s.date = '2019-04-09'
9
9
  s.summary = "This gem provides a simple wrapper for https://api.nasa.gov/api.html#NeoWS API"
10
10
  s.description = "Retrieve information about the closest near earth objects on any given day using the NASA NEO API. "
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nasa-neo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Sutherland