Class: Astroapi::Categories::Chinese

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

Overview

Chinese astrology and BaZi category client

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

#analyze_year_elements(year) ⇒ Hash

Analyze year elements

Parameters:

  • year (Integer)

    Year to analyze

Returns:

  • (Hash)

    Five elements for year



47
48
49
# File 'lib/astroapi/categories/chinese.rb', line 47

def analyze_year_elements(year)
  http.get(build_url('elements', 'balance', year.to_s))
end

#calculate_bazi(request) ⇒ Hash

Calculate BaZi (Four Pillars)

Parameters:

  • request (Hash)

    Birth data

Returns:

  • (Hash)

    Four Pillars chart



12
13
14
# File 'lib/astroapi/categories/chinese.rb', line 12

def calculate_bazi(request)
  http.post(build_url('bazi'), body: request)
end

#calculate_compatibility(request) ⇒ Hash

Calculate compatibility

Parameters:

  • request (Hash)

    Two subjects’ birth data

Returns:

  • (Hash)

    Chinese compatibility analysis



19
20
21
# File 'lib/astroapi/categories/chinese.rb', line 19

def calculate_compatibility(request)
  http.post(build_url('compatibility'), body: request)
end

#calculate_luck_pillars(request) ⇒ Hash

Calculate luck pillars

Parameters:

  • request (Hash)

    Birth data

Returns:

  • (Hash)

    Da Yun periods



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

def calculate_luck_pillars(request)
  http.post(build_url('luck-pillars'), body: request)
end

#calculate_ming_gua(request) ⇒ Hash

Calculate Ming Gua

Parameters:

  • request (Hash)

    Birth data

Returns:

  • (Hash)

    Feng Shui number



33
34
35
# File 'lib/astroapi/categories/chinese.rb', line 33

def calculate_ming_gua(request)
  http.post(build_url('ming-gua'), body: request)
end

#get_solar_terms(year) ⇒ Hash

Get solar terms

Parameters:

  • year (Integer)

    Year

Returns:

  • (Hash)

    24 Solar Terms



54
55
56
# File 'lib/astroapi/categories/chinese.rb', line 54

def get_solar_terms(year)
  http.get(build_url('calendar', 'solar-terms', year.to_s))
end

#get_yearly_forecast(request) ⇒ Hash

Get yearly forecast

Parameters:

  • request (Hash)

    Birth data and year

Returns:

  • (Hash)

    Annual forecast



40
41
42
# File 'lib/astroapi/categories/chinese.rb', line 40

def get_yearly_forecast(request)
  http.post(build_url('yearly-forecast'), body: request)
end

#get_zodiac_animal(animal) ⇒ Hash

Get zodiac animal info

Parameters:

  • animal (String)

    Animal name

Returns:

  • (Hash)

    Animal characteristics



61
62
63
# File 'lib/astroapi/categories/chinese.rb', line 61

def get_zodiac_animal(animal)
  http.get(build_url('zodiac', animal))
end