Class: Astroapi::Categories::Tarot

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

Overview

Tarot category client for tarot readings and analysis

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_timing(request) ⇒ Hash

Analyze timing

Parameters:

  • request (Hash)

    Cards and question

Returns:

  • (Hash)

    Timing implications



118
119
120
# File 'lib/astroapi/categories/tarot.rb', line 118

def analyze_timing(request)
  http.post(build_url('analysis', 'timing'), body: request)
end

#calculate_birth_cards(request) ⇒ Hash

Calculate birth cards

Parameters:

  • request (Hash)

    Birth date

Returns:

  • (Hash)

    Personality/soul cards



104
105
106
# File 'lib/astroapi/categories/tarot.rb', line 104

def calculate_birth_cards(request)
  http.post(build_url('analysis', 'birth-cards'), body: request)
end

#calculate_elemental_dignities(request) ⇒ Hash

Calculate elemental dignities

Parameters:

  • request (Hash)

    Cards for analysis

Returns:

  • (Hash)

    Elemental interactions



111
112
113
# File 'lib/astroapi/categories/tarot.rb', line 111

def calculate_elemental_dignities(request)
  http.post(build_url('analysis', 'dignities'), body: request)
end

#calculate_optimal_times(request) ⇒ Hash

Calculate optimal times

Parameters:

  • request (Hash)

    Cards and date range

Returns:

  • (Hash)

    Best timing windows



125
126
127
# File 'lib/astroapi/categories/tarot.rb', line 125

def calculate_optimal_times(request)
  http.post(build_url('analysis', 'optimal-times'), body: request)
end

#calculate_quintessence(request) ⇒ Hash

Calculate quintessence

Parameters:

  • request (Hash)

    Cards for synthesis

Returns:

  • (Hash)

    Synthesis card



97
98
99
# File 'lib/astroapi/categories/tarot.rb', line 97

def calculate_quintessence(request)
  http.post(build_url('analysis', 'quintessence'), body: request)
end

#draw_cards(request) ⇒ Hash

Draw cards

Parameters:

  • request (Hash)

    Number of cards and options

Returns:

  • (Hash)

    Random card draw



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

def draw_cards(request)
  http.post(build_url('cards', 'draw'), body: request)
end

#generate_celtic_cross_report(request) ⇒ Hash

Generate Celtic Cross report

Parameters:

  • request (Hash)

    Ten cards

Returns:

  • (Hash)

    10-card spread



69
70
71
# File 'lib/astroapi/categories/tarot.rb', line 69

def generate_celtic_cross_report(request)
  http.post(build_url('reports', 'celtic-cross'), body: request)
end

#generate_houses_report(request) ⇒ Hash

Generate houses report

Parameters:

  • request (Hash)

    Cards for 12 houses

Returns:

  • (Hash)

    12-house spread



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

def generate_houses_report(request)
  http.post(build_url('reports', 'houses'), body: request)
end

#generate_natal_report(request) ⇒ Hash

Generate natal report

Parameters:

  • request (Hash)

    Birth data and cards

Returns:

  • (Hash)

    Astro-tarot natal



142
143
144
145
146
147
# File 'lib/astroapi/categories/tarot.rb', line 142

def generate_natal_report(request)
  if request[:subject] || request['subject']
    Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  end
  http.post(build_url('analysis', 'natal-report'), body: request)
end

#generate_single_report(request) ⇒ Hash

Generate single card report

Parameters:

  • request (Hash)

    Card and question

Returns:

  • (Hash)

    Single card reading



55
56
57
# File 'lib/astroapi/categories/tarot.rb', line 55

def generate_single_report(request)
  http.post(build_url('reports', 'single'), body: request)
end

#generate_synastry_report(request) ⇒ Hash

Generate synastry report

Parameters:

  • request (Hash)

    Cards and two subjects

Returns:

  • (Hash)

    Relationship reading



76
77
78
# File 'lib/astroapi/categories/tarot.rb', line 76

def generate_synastry_report(request)
  http.post(build_url('reports', 'synastry'), body: request)
end

#generate_three_card_report(request) ⇒ Hash

Generate three card report

Parameters:

  • request (Hash)

    Three cards

Returns:

  • (Hash)

    Past/present/future reading



62
63
64
# File 'lib/astroapi/categories/tarot.rb', line 62

def generate_three_card_report(request)
  http.post(build_url('reports', 'three-card'), body: request)
end

#generate_transit_report(request) ⇒ Hash

Generate transit report

Parameters:

  • request (Hash)

    Birth data and cards

Returns:

  • (Hash)

    Astro-tarot transit



132
133
134
135
136
137
# File 'lib/astroapi/categories/tarot.rb', line 132

def generate_transit_report(request)
  if request[:subject] || request['subject']
    Validators::SubjectValidator.validate!(request[:subject] || request['subject'])
  end
  http.post(build_url('analysis', 'transit-report'), body: request)
end

#generate_tree_of_life_report(request) ⇒ Hash

Generate Tree of Life report

Parameters:

  • request (Hash)

    Cards for Kabbalah spread

Returns:

  • (Hash)

    Tree of Life spread



90
91
92
# File 'lib/astroapi/categories/tarot.rb', line 90

def generate_tree_of_life_report(request)
  http.post(build_url('reports', 'tree-of-life'), body: request)
end

#get_card_details(card_id) ⇒ Hash

Get card details

Parameters:

  • card_id (String)

    Card ID

Returns:

  • (Hash)

    Card details



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

def get_card_details(card_id)
  http.get(build_url('glossary', 'cards', card_id))
end

#get_cards_glossary(params = {}) ⇒ Hash

Get cards glossary

Parameters:

  • params (Hash) (defaults to: {})

    Query parameters

Returns:

  • (Hash)

    78 cards reference



13
14
15
# File 'lib/astroapi/categories/tarot.rb', line 13

def get_cards_glossary(params = {})
  http.get(build_url('glossary', 'cards'), params: params)
end

#get_daily_card(params = {}) ⇒ Hash

Get daily card

Parameters:

  • params (Hash) (defaults to: {})

    Query parameters

Returns:

  • (Hash)

    Daily card



48
49
50
# File 'lib/astroapi/categories/tarot.rb', line 48

def get_daily_card(params = {})
  http.get(build_url('cards', 'daily'), params: params)
end

#get_spreads_glossary(params = {}) ⇒ Hash

Get spreads glossary

Parameters:

  • params (Hash) (defaults to: {})

    Query parameters

Returns:

  • (Hash)

    Spread types



20
21
22
# File 'lib/astroapi/categories/tarot.rb', line 20

def get_spreads_glossary(params = {})
  http.get(build_url('glossary', 'spreads'), params: params)
end

#search_cards(params = {}) ⇒ Hash

Search cards

Parameters:

  • params (Hash) (defaults to: {})

    Search keywords

Returns:

  • (Hash)

    Matching cards



41
42
43
# File 'lib/astroapi/categories/tarot.rb', line 41

def search_cards(params = {})
  http.get(build_url('cards', 'search'), params: params)
end