explore_mars 0.4.4 → 0.5.0
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/README.md +20 -9
- data/explore_mars.gemspec +1 -0
- data/lib/explore_mars.rb +8 -6
- data/lib/explore_mars/call.rb +1 -1
- data/lib/explore_mars/version.rb +1 -1
- data/spec/call_spec.rb +1 -1
- data/spec/sol_query_spec.rb +6 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22c75a285412e6dcd7a67e134b96783a9a8b5a59
|
4
|
+
data.tar.gz: 7204f8cfeb12f2ef82f66f47129508ec7422e2c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68e9e99fd2d56407a6f2c87752bb0d7405819fea32b13ced6cae83743802daa02d5c82f985e01e834f1d465bcddfa899e609e6208bb231236f1092e9ea7cc30b
|
7
|
+
data.tar.gz: f7c5df361ff475f3a71283f9147d265a2ac61d4b6b3ecdd1b8578eccbeb8a02b030b950d9cd9098887d62a21cb8cb8da103873b47e958c4957ef4b4b0a24d28f
|
data/README.md
CHANGED
@@ -38,7 +38,13 @@ There are only a few parts to this gem so far, so it's relatively simple
|
|
38
38
|
to use. By calling:
|
39
39
|
|
40
40
|
```ruby
|
41
|
-
ExploreMars.get_by_sol(rover
|
41
|
+
ExploreMars.get_by_sol(rover: <ROVER>, sol: <SOL>, camera: <CAMERA>)
|
42
|
+
```
|
43
|
+
|
44
|
+
For example:
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
ExploreMars.get_by_sol(rover: "curiosity", sol: 1000, camera: "FHAZ")
|
42
48
|
```
|
43
49
|
|
44
50
|
you can make a call to the API, which will return a set of ```Photos```.
|
@@ -62,7 +68,7 @@ sensitive. The cameras are as follows:
|
|
62
68
|
MARDI | Mars Descent Imager
|
63
69
|
NAVCAM | Navigation Camera
|
64
70
|
|
65
|
-
### Opportunity's Cameras
|
71
|
+
### Opportunity's and Spirit's Cameras
|
66
72
|
|
67
73
|
Abbreviation | Camera
|
68
74
|
------------ | -----------------------------
|
@@ -75,31 +81,36 @@ sensitive. The cameras are as follows:
|
|
75
81
|
You can also make the API call without providing the camera argument to receive all photos that were taken on a particular sol from all cameras:
|
76
82
|
|
77
83
|
```ruby
|
78
|
-
ExploreMars.
|
84
|
+
ExploreMars.get_by_sol(rover: <ROVER>, sol: <SOL>)
|
79
85
|
```
|
80
86
|
|
81
87
|
If you would prefer to query by a particular Earth date instead, you can use:
|
82
88
|
|
83
89
|
```ruby
|
84
|
-
ExploreMars.get_by_date(rover
|
90
|
+
ExploreMars.get_by_date(rover: <ROVER>, date: <DATE>, camera: <CAMERA>)
|
85
91
|
```
|
86
92
|
|
87
93
|
or
|
88
94
|
|
89
95
|
```ruby
|
90
|
-
ExploreMars.get_by_date(rover
|
96
|
+
ExploreMars.get_by_date(rover: <ROVER>, date: <DATE>)
|
91
97
|
```
|
92
98
|
|
93
99
|
The date param should be entered as a String, formatted as "yyyy-mm-dd".
|
94
100
|
|
101
|
+
For example:
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
ExploreMars.get_by_date(rover: "curiosity", date: "2015-12-4")
|
105
|
+
```
|
95
106
|
|
96
|
-
The
|
97
|
-
|
98
|
-
The
|
107
|
+
The `Photo` objects that get returned have five main attributes:
|
108
|
+
`rover`, `sol`, `camera`, `earth_date`, and `src`.
|
109
|
+
The `src` attribute contains the source url of the actual image.
|
99
110
|
In order to display an image in a Rails view for example, I could use:
|
100
111
|
|
101
112
|
```ruby
|
102
|
-
photos = ExploreMars
|
113
|
+
photos = ExploreMars.get_by_sol("curiosity", 869, "FHAZ")
|
103
114
|
|
104
115
|
photos.each do |photo|
|
105
116
|
image_tag(photo.src)
|
data/explore_mars.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
25
|
spec.add_development_dependency "rspec"
|
26
|
+
spec.add_development_dependency "pry"
|
26
27
|
spec.add_development_dependency "shoulda-matchers"
|
27
28
|
spec.add_development_dependency "valid_attribute"
|
28
29
|
end
|
data/lib/explore_mars.rb
CHANGED
@@ -13,8 +13,8 @@ require "explore_mars/date_query"
|
|
13
13
|
|
14
14
|
module ExploreMars
|
15
15
|
def self.help
|
16
|
-
puts "- use ExploreMars#get_by_sol(rover
|
17
|
-
puts "- use ExploreMars#get_by_date(rover
|
16
|
+
puts "- use ExploreMars#get_by_sol(rover: <ROVER>, sol: <SOL>, camera: <CAMERA>) to receive a collection of photos by sol"
|
17
|
+
puts "- use ExploreMars#get_by_date(rover: <ROVER>, date: <DATE>, camera: <CAMERA>) to receive a collection of photos by Earth date"
|
18
18
|
puts "-- rover argument should be the name of one of NASA's Mars rovers"
|
19
19
|
puts "-- sol argument should be a number representing the Martian day on which the photo was taken"
|
20
20
|
puts "-- date argument should be a string formmated as yyyy-mm-dd"
|
@@ -29,11 +29,13 @@ module ExploreMars
|
|
29
29
|
puts "- ExploreMars::Photo#src will return the source url for the photo"
|
30
30
|
end
|
31
31
|
|
32
|
-
def self.get_by_sol(
|
33
|
-
|
32
|
+
def self.get_by_sol(params)
|
33
|
+
fail "Rover and Sol are required" if (params[:rover].blank? || params[:sol].blank?)
|
34
|
+
SolQuery.new(params[:rover], params[:sol], params[:camera]).get
|
34
35
|
end
|
35
36
|
|
36
|
-
def self.get_by_date(
|
37
|
-
|
37
|
+
def self.get_by_date(params)
|
38
|
+
fail "Rover and Date are required" if (params[:rover].blank? || params[:date].blank?)
|
39
|
+
DateQuery.new(params[:rover], params[:date], params[:camera]).get
|
38
40
|
end
|
39
41
|
end
|
data/lib/explore_mars/call.rb
CHANGED
data/lib/explore_mars/version.rb
CHANGED
data/spec/call_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe ExploreMars::Call do
|
4
4
|
it "should have proper constants" do
|
5
|
-
expect(ExploreMars::Call::BASE_URI).to eq "https://mars-
|
5
|
+
expect(ExploreMars::Call::BASE_URI).to eq "https://mars-photos.herokuapp.com/api/v1/rovers/"
|
6
6
|
expect(ExploreMars::Call::CAMERAS).to eq ["FHAZ", "RHAZ", "MAST", "CHEMCAM", "NAVCAM", "MAHLI", "MARDI", "PANCAM", "MINITES"]
|
7
7
|
end
|
8
8
|
end
|
data/spec/sol_query_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe ExploreMars::SolQuery do
|
4
|
+
|
4
5
|
describe "attributes" do
|
5
6
|
it "should have a sol and a camera" do
|
6
7
|
query = ExploreMars::SolQuery.new("curiosity", 940, "FHAZ")
|
@@ -12,14 +13,17 @@ describe ExploreMars::SolQuery do
|
|
12
13
|
end
|
13
14
|
|
14
15
|
describe "cameras" do
|
15
|
-
it "
|
16
|
+
it "handles a correct Camera" do
|
16
17
|
expect{
|
17
18
|
ExploreMars::SolQuery.new("curiosity", 940, "FHAZ").get
|
18
19
|
}.not_to raise_error
|
20
|
+
end
|
19
21
|
|
22
|
+
it "raises an error when Camera is invalid" do
|
23
|
+
stub_const("CAMERAS", ["FHAZ", "RHAZ", "MAST", "CHEMCAM", "NAVCAM", "MAHLI", "MARDI", "PANCAM", "MINITES"])
|
20
24
|
expect{
|
21
25
|
ExploreMars::SolQuery.new("curiosity", 940, "Not a camera").get
|
22
|
-
}.to raise_error
|
26
|
+
}.to raise_error("Camera argument must be one of #{CAMERAS.join(', ')}")
|
23
27
|
end
|
24
28
|
end
|
25
29
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: explore_mars
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris C Cerami
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: shoulda-matchers
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
129
|
version: '0'
|
116
130
|
requirements: []
|
117
131
|
rubyforge_project:
|
118
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.2.2
|
119
133
|
signing_key:
|
120
134
|
specification_version: 4
|
121
135
|
summary: Browse photos from the Mars rover Curiosity
|