nasa_apod 1.0.4 → 1.1.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: 6b58e0774136c271bb04189fc74ba690eda54a07
4
- data.tar.gz: 6ceb8c4d189a9138d0f6e6dbd142484227c743a6
3
+ metadata.gz: accbff5d6943a6ea3766fa8bab9fb0d962009748
4
+ data.tar.gz: a282c0cfd0fa47d784d19fc1c6ae39d2eb463415
5
5
  SHA512:
6
- metadata.gz: 1fe2d863ca222cf546afff323901452673c1b7b7db485b0f8195ea9da8e86633c0ab0a46a8d589e878b1421ae6ea6f26a6842ded7e5c6aa8210a254cbe0dbc3c
7
- data.tar.gz: c72daf331f6868705d1b189092fd62e03cae682cc30b1b2b99dbdc622e1b409207af770847065809366d85761a8378fddf5d93e37bbac3800d11226104dc18fb
6
+ metadata.gz: dcd7cef972eda3045c1beb7c42f02ec75dc381d546f0a9a75cdb80ce84d8009e305afb43557635664a80064453e92b79757dfb68ce37fec77cf8377f2e4aff87
7
+ data.tar.gz: e094aba6a476ac7b077c9856d25a19aeb44ab64d7cc50cc874af29e6b5f3fd3d5cd1a54b5d05a1c36bf88e34fef417f9c049391ace9a675bbf90d9508b9b4afa
data/README.md CHANGED
@@ -39,13 +39,6 @@ result = client.search
39
39
  result.explanation #=> "This big, bright, beautiful spiral galaxy is Messier 64..."
40
40
  ```
41
41
 
42
- Get concept tags with result
43
- ```
44
- result = client.search(concept_tags: true)
45
- result.concepts #=> ["Sun","Sunspot","Light",...],
46
- ```
47
- Note: Not all posts have concept tags.
48
-
49
42
  Get image URL:
50
43
 
51
44
  ```
@@ -1,34 +1,25 @@
1
1
  module NasaApod
2
-
2
+
3
3
  DEFAULT_URL = 'https://api.nasa.gov/planetary/apod'
4
-
4
+
5
5
  class Client
6
- attr_reader :api_key, :date, :concept_tags, :hd
6
+ attr_reader :api_key, :date, :hd
7
7
 
8
8
  def date=(date)
9
9
  @date = parse_date(date)
10
10
  end
11
11
 
12
- def concept_tags=(concept_tags)
13
- if concept_tags.nil? || concept_tags.blank?
14
- @concept_tags = false
15
- else
16
- @concept_tags = concept_tags
17
- end
18
- end
19
-
20
12
  def hd=(hd)
21
- if hd.nil? || hd.blank?
22
- @hd = false
23
- else
24
- @hd = hd
25
- end
13
+ @hd = if hd.nil? || hd.blank?
14
+ false
15
+ else
16
+ hd
17
+ end
26
18
  end
27
-
28
- def initialize(options={})
29
- @api_key = options[:api_key] || "DEMO_KEY"
19
+
20
+ def initialize(options = {})
21
+ @api_key = options[:api_key] || 'DEMO_KEY'
30
22
  self.date = options[:date]
31
- self.concept_tags = options[:concept_tags]
32
23
  self.hd = options[:hd]
33
24
  end
34
25
 
@@ -39,34 +30,34 @@ module NasaApod
39
30
  # @image_permissions http://apod.nasa.gov/apod/lib/about_apod.html#srapply
40
31
  # @authentication optional NASA api key https://api.nasa.gov/index.html#apply-for-an-api-key
41
32
  # @option options [String] :api_key Optional. Uses DEMO_KEY as default.
42
- # @option options [String] :date Optional. Returns the APOD results for the given date. Date should be formatted as YYYY-MM-DD. Defaults as today.
43
- # @option options [Boolean] :concept_tags Optional. Returns an array of concept tags if available. Defaults to False.
33
+ # @option options [String] :date Optional. Returns the APOD results for
34
+ # the given date. Date should be formatted as YYYY-MM-DD. Defaults as today.
44
35
  # @return [NasaApod::SearchResults] Return APOD post for a specified date.
45
- def search(options={})
36
+ def search(options = {})
46
37
  self.date = options[:date] || date
47
- @concept_tags = options[:concept_tags] || concept_tags
48
38
  @hd = options[:hd] || hd
49
- response = HTTParty.get(DEFAULT_URL, { query: attributes })
39
+ response = HTTParty.get(DEFAULT_URL, query: attributes)
50
40
  handle_response(response)
51
41
  end
52
42
 
53
- def random_post(options={})
54
- date = rand(Date.parse("1995-06-16")..Date.today)
55
- search(date: date)
43
+ def random_post(options = {})
44
+ date = rand(Date.parse('1995-06-16')..Date.today)
45
+ options[:date] = date
46
+ search(options)
56
47
  end
57
48
 
58
- alias_method :wormhole, :random_post
49
+ alias wormhole random_post
59
50
 
60
51
  def attributes
61
- instance_variables.each_with_object(Hash.new) do |var,hash|
62
- hash[var.to_s.delete("@")] = instance_variable_get(var)
52
+ instance_variables.each_with_object({}) do |var, hash|
53
+ hash[var.to_s.delete('@')] = instance_variable_get(var)
63
54
  end
64
55
  end
65
56
 
66
57
  private
67
58
 
68
59
  def handle_response(response)
69
- if response["error"].nil?
60
+ if response['error'].nil?
70
61
  NasaApod::SearchResults.new(response)
71
62
  else
72
63
  NasaApod::Error.new(response)
@@ -74,11 +65,12 @@ module NasaApod
74
65
  end
75
66
 
76
67
  def parse_date(date)
77
- if date.is_a?(Time)
78
- date.strftime("%Y-%m-%d")
79
- elsif date.is_a?(Date)
68
+ case date
69
+ when Time
70
+ date.strftime('%Y-%m-%d')
71
+ when Date
80
72
  date.to_s
81
- elsif date.is_a?(String)
73
+ when String
82
74
  date
83
75
  else
84
76
  Date.today.to_s
@@ -1,10 +1,9 @@
1
1
  module NasaApod
2
2
 
3
3
  class SearchResults
4
- attr_accessor :concepts, :url, :media_type, :title, :explanation, :hd_url, :date, :copyright
4
+ attr_accessor :url, :media_type, :title, :explanation, :hd_url, :date, :copyright
5
5
 
6
6
  def initialize(attributes={})
7
- @concepts = attributes["concepts"]
8
7
  @url = attributes["url"]
9
8
  @media_type = attributes["media_type"]
10
9
  @explanation = attributes["explanation"]
@@ -1,3 +1,3 @@
1
1
  module NasaApod
2
- VERSION = "1.0.4"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -10,10 +10,6 @@ module NasaApod
10
10
  expect(client.api_key).to eq("DEMO_KEY")
11
11
  end
12
12
 
13
- it 'concept_tags defaults to false' do
14
- expect(client.concept_tags).to eq(false)
15
- end
16
-
17
13
  it 'date defaults to a string of today' do
18
14
  expect(client.date).to eq(Date.today.to_s)
19
15
  end
@@ -76,7 +72,6 @@ module NasaApod
76
72
  describe '#initialize' do
77
73
  let(:result) { SearchResults.new(attributes) }
78
74
  let(:attributes) {{"url" => "test_url",
79
- "concepts" => ["test_concept1","test_concept2"],
80
75
  "media_type" => "JPG",
81
76
  "title" => "Test title",
82
77
  "explanation" => "Test explanation",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nasa_apod
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabe Dominguez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-15 00:00:00.000000000 Z
11
+ date: 2016-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
- rubygems_version: 2.6.2
109
+ rubygems_version: 2.4.8
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: Ruby wrapper for NASA's Astronomy Picture of the Day API