class USNO::Transit::View

Public Class Methods

new(options = {}) click to toggle source
# File lib/usno/transit.rb, line 13
def initialize(options = {})
  raise "Cannot instantiate this class directly" if self.class.name.to_s =~ /View/

  options = form_options(options)

  load_options(options)
end

Public Instance Methods

call() click to toggle source
# File lib/usno/transit.rb, line 21
def call
  result(true, @request_class.new(@request_options).call.data)
end

Private Instance Methods

form_options(options) click to toggle source
# File lib/usno/transit.rb, line 26
def form_options(options)
  options = {
    request_class: USNO::Transit::USRequest,
    object:        USNO::Transit::Bodies.fetch(self.class.name.to_s.split("::")[-1]),
    z_meters:      0,
    date:          Time.now,
    days:          5,
  }.merge(options)

  options.merge!({
    request_options: options.reject do |k,_|
      k.to_s == "request_class"
    end
  })
end