class USNO::Imagery::View

Public Class Methods

new(options = {}) click to toggle source
# File lib/usno/imagery.rb, line 19
def initialize(options = {})
  options = {
    time:     Time.now,
    root_url: "http://api.usno.navy.mil/",
    resource: self.class.name.downcase.split("::")[1..-1].join("/") + ".png"
  }.merge(options)

  # sets instance variables from key value pairs,
  # will fail if any keys given before options aren't in options
  load_options(:time, :root_url, :resource, options)
end

Public Instance Methods

call() click to toggle source
# File lib/usno/imagery.rb, line 31
def call
  result(true, query_for(@root_url + @resource))
end

Private Instance Methods

date() click to toggle source
# File lib/usno/imagery.rb, line 40
def date
  @time.utc.strftime("%m/%d/%Y")
end
query_for(resource) click to toggle source
# File lib/usno/imagery.rb, line 36
def query_for(resource)
  "#{resource}?#{time}"
end
time() click to toggle source
# File lib/usno/imagery.rb, line 44
def time
  @time ? "&date=#{ date }&time=#{ @time.utc.strftime("%k:%M").lstrip }" : ""
end