Class: Astroapi::Categories::Data

Inherits:
BaseCategory show all
Defined in:
lib/astroapi/categories/data.rb

Overview

Data category client for planetary positions, aspects, house cusps, etc.

Instance Attribute Summary

Attributes inherited from BaseCategory

#http

Instance Method Summary collapse

Methods inherited from BaseCategory

#initialize

Constructor Details

This class inherits a constructor from Astroapi::Categories::BaseCategory

Instance Method Details

#get_aspects(request) ⇒ Hash

Get planetary aspects



50
51
52
53
# File 'lib/astroapi/categories/data.rb', line 50

def get_aspects(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('aspects'), body: request)
end

#get_current_momentHash

Get current moment (planetary positions at current time)



89
90
91
# File 'lib/astroapi/categories/data.rb', line 89

def get_current_moment
  http.get(build_url('now'))
end

#get_enhanced_aspects(request) ⇒ Hash

Get enhanced planetary aspects



58
59
60
61
# File 'lib/astroapi/categories/data.rb', line 58

def get_enhanced_aspects(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('aspects', 'enhanced'), body: request)
end

#get_enhanced_lunar_metrics(request) ⇒ Hash

Get enhanced lunar metrics



82
83
84
85
# File 'lib/astroapi/categories/data.rb', line 82

def get_enhanced_lunar_metrics(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('lunar-metrics', 'enhanced'), body: request)
end

#get_enhanced_positions(request) ⇒ Hash

Get enhanced planetary positions with additional data



34
35
36
37
# File 'lib/astroapi/categories/data.rb', line 34

def get_enhanced_positions(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('positions', 'enhanced'), body: request)
end

#get_global_positions(request = {}) ⇒ Hash

Get global planetary positions (without subject)

Options Hash (request):

  • :date (String)

    ISO date string (optional)



43
44
45
# File 'lib/astroapi/categories/data.rb', line 43

def get_global_positions(request = {})
  http.post(build_url('global-positions'), body: request)
end

#get_house_cusps(request) ⇒ Hash

Get house cusps



66
67
68
69
# File 'lib/astroapi/categories/data.rb', line 66

def get_house_cusps(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('house-cusps'), body: request)
end

#get_lunar_metrics(request) ⇒ Hash

Get lunar metrics



74
75
76
77
# File 'lib/astroapi/categories/data.rb', line 74

def get_lunar_metrics(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('lunar-metrics'), body: request)
end

#get_positions(request) ⇒ Hash

Get planetary positions

Examples:

positions = client.data.get_positions(
  subject: {
    birth_data: {
      year: 1990, month: 5, day: 11,
      hour: 14, minute: 30,
      city: 'London', country_code: 'GB'
    }
  }
)

Options Hash (request):

  • :subject (Hash)

    Subject with birth_data

Raises:



26
27
28
29
# File 'lib/astroapi/categories/data.rb', line 26

def get_positions(request)
  Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  http.post(build_url('positions'), body: request)
end