WSWSANE 1.0.0 → 1.0.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 +4 -4
- data/lib/WSWSANE.rb +62 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e41f95af1f8f11132db6989cc9198477a11f37c96a02cd78f60e6c54c730416
|
4
|
+
data.tar.gz: abf7f5b17cb4889e3516d2c5334e2097c5d76a60abcc61c715bdef40ebcfc68e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9141788b9e0cc3da0ba0badaf7902c73f7dcacb1e3e9f5ed75c639ea18c3fbd736b35a2c7c292bc62328013782f537bff1cb28f1e08b27a601913a3fbba1476c
|
7
|
+
data.tar.gz: e4af29d57ea2a0e3b9364d0f5096db571137f62735f5070fede748e5b678d17ba289726368deff0a186b0b54197f57fb77ca903454c7e756d0bf466d58ab3201
|
data/lib/WSWSANE.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'json'
|
3
|
+
##
|
4
|
+
# This class is a static class from which all functions are called
|
3
5
|
class WSWSANE
|
4
6
|
@@reference={:cis=>[
|
5
7
|
["The Malevolence", 4845],
|
@@ -62,10 +64,58 @@ class WSWSANE
|
|
62
64
|
["A-wing Starfighter", 9.6]
|
63
65
|
]
|
64
66
|
}
|
67
|
+
##
|
68
|
+
# Returns the NASA NEO API response for the current day (as given by Time.now), but each object has an additional field for the closest sized ship.
|
69
|
+
# @param apikey [String] The Api Key given to you by api.nasa.gov.
|
70
|
+
# @param factions [Array] An optional array of "factions" that will be used to compare objects. By default, this will compare all NEOs with all ships.
|
71
|
+
# @return [Hash]
|
72
|
+
#
|
73
|
+
# Example Usage:
|
74
|
+
#
|
75
|
+
# If you wanted to compare all objects that have their closest approach to earth today to ships from the original trilogy, you could use:
|
76
|
+
# WSWSANE.getToday(apikey,["rebel_alliance","empire"])
|
77
|
+
#
|
78
|
+
# The return value is very similar to the data provided by the NASA API (it is also a JSON object).
|
79
|
+
#
|
80
|
+
# To get a list of all the comparisons, you could do:
|
81
|
+
# WSWSANE.getToday(apikey)["near_earth_objects"].each do |date,objects|
|
82
|
+
# objects.each do |neo|
|
83
|
+
# puts neo["star_wars_ship"]
|
84
|
+
# end
|
85
|
+
# end
|
86
|
+
#
|
87
|
+
# If no suitable comparison for an object can be found, then the classified ship will be "None".
|
88
|
+
#
|
89
|
+
# If the api key is incorrect, or the api request otherwise fails, then an error will be raised.
|
65
90
|
def self.getToday(apikey,factions=["cis","republic","empire","rebel_alliance","first_order","resistance"])
|
66
91
|
date=Time.new.strftime("%Y-%m-%d")
|
67
92
|
return self.get(apikey,date,date,factions)
|
68
93
|
end
|
94
|
+
##
|
95
|
+
# Returns the NASA NEO API response for the range of dates provided, but each object has an additional field for the closest sized ship.
|
96
|
+
# @param apikey [String] The Api Key given to you by api.nasa.gov
|
97
|
+
# @param startDate [String] The start date in the form "YYYY-MM-DD"
|
98
|
+
# @param endDate [String] The end date in the form "YYYY-MM-DD"
|
99
|
+
# The date parameters are inclusive, and together determine the range of days for closest approach of the NEOs that the api returns.
|
100
|
+
# @param factions [Array] An optional array of "factions" that will be used to compare objects. By default, this will compare all NEOs with all ships.
|
101
|
+
#
|
102
|
+
# Example Usage:
|
103
|
+
#
|
104
|
+
# If you wanted to compare all objects that have their closest approach to earth in the first week of 2020 to ships from the prequel trilogy, you could use:
|
105
|
+
# WSWSANE.get(apikey,"2020-01-01","2020-01-07",["cis","republic"])
|
106
|
+
#
|
107
|
+
# The return value is very similar to the data provided by the NASA API (it is also a JSON object).
|
108
|
+
#
|
109
|
+
# To get a list of all the comparisons, you could do:
|
110
|
+
# WSWSANE.get(apikey,"2020-01-01","2020-01-07")["near_earth_objects"].each do |date,objects|
|
111
|
+
# objects.each do |neo|
|
112
|
+
# puts neo["star_wars_ship"]
|
113
|
+
# end
|
114
|
+
# end
|
115
|
+
#
|
116
|
+
# If no suitable comparison for an object can be found, then the classified ship will be "None".
|
117
|
+
#
|
118
|
+
# If the api key is incorrect, or the api request otherwise fails, then an error will be raised.
|
69
119
|
def self.get(apikey,startDate,endDate,factions=["cis","republic","empire","rebel_alliance","first_order","resistance"])
|
70
120
|
uri=URI("https://api.nasa.gov/neo/rest/v1/feed")
|
71
121
|
params={:start_date=>startDate,
|
@@ -86,6 +136,18 @@ class WSWSANE
|
|
86
136
|
raise response.body
|
87
137
|
end
|
88
138
|
end
|
139
|
+
##
|
140
|
+
# Classifies an object based on the range of sizes it could be.
|
141
|
+
# @param minSize [Integer] The minimum size of the object in meters
|
142
|
+
# @param maxSize [Integer] The maximum size of the object in meters
|
143
|
+
# @param factions [Array] An optional array of "factions" that will be used to compare objects. By default, this will compare all NEOs with all ships.
|
144
|
+
#
|
145
|
+
# Example Usage:
|
146
|
+
#
|
147
|
+
# If you wanted to compare an object between 5 and 10 meters big to ships from the sequel trilogy, you could use:
|
148
|
+
# WSWSANE.classify(5,10,["first_order","resistance"])
|
149
|
+
#
|
150
|
+
# If no suitable comparison for an object can be found, then the classified ship will be "None".
|
89
151
|
def self.classify(minSize,maxSize,factions=["cis","republic","empire","rebel_alliance","first_order","resistance"])
|
90
152
|
factions.map!(&:downcase)
|
91
153
|
possibleShips=[]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: WSWSANE
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcy Brook
|
@@ -10,20 +10,22 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
and determine which Star Wars ship they are most
|
13
|
+
description: What Star Wars Ships are Near Earth? This simple tool uses the NASA NEOWS
|
14
|
+
API to find nearby space objects and determine which Star Wars ship they are most
|
15
|
+
likely to be.
|
15
16
|
email:
|
16
17
|
executables: []
|
17
18
|
extensions: []
|
18
19
|
extra_rdoc_files: []
|
19
20
|
files:
|
20
21
|
- lib/WSWSANE.rb
|
21
|
-
homepage:
|
22
|
+
homepage: https://rubygems.org/gems/WSWSANE
|
22
23
|
licenses:
|
23
24
|
- Unlicense
|
24
25
|
metadata: {}
|
25
26
|
post_install_message:
|
26
|
-
rdoc_options:
|
27
|
+
rdoc_options:
|
28
|
+
- yard
|
27
29
|
require_paths:
|
28
30
|
- lib
|
29
31
|
required_ruby_version: !ruby/object:Gem::Requirement
|