Module: Ephemeris::Zodiac::Aspect
- Defined in:
- lib/ephemeris/zodiac/aspect.rb
Defined Under Namespace
Modules: Conjunction, Opposition, Sextile, Square, Trine
Class Method Summary collapse
- .orb_range_by_target_at_aries_pisces(planet_1, planet_2, coverage) ⇒ Object
- .orb_range_defined_by_target(planet_1, planet_2) ⇒ Object
Class Method Details
.orb_range_by_target_at_aries_pisces(planet_1, planet_2, coverage) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ephemeris/zodiac/aspect.rb', line 14 def self.orb_range_by_target_at_aries_pisces( planet_1, planet_2, coverage) # Try it the other way around point = planet_1.position if point < coverage or point+coverage > 360 # Ok, now for the hard part if point < coverage # Aries with a lower Pisces pisces_range = [340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359] difference = (point - coverage).round pisces_range = pisces_range[ difference ]...360 return Ephemeris::Zodiac::Orb.new( [ pisces_range, 0..point+coverage], planet_2 ) else # Pisces side upper Aries difference = point + coverage - 360 return Ephemeris::Zodiac::Orb.new( [point-coverage...360, 0...difference], planet_2 ) end else return Ephemeris::Zodiac::Orb.new( (point - coverage)..(point + coverage), planet_2 ) end end |
.orb_range_defined_by_target(planet_1, planet_2) ⇒ Object
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/ephemeris/zodiac/aspect.rb', line 3 def self.orb_range_defined_by_target( planet_1, planet_2 ) coverage = (planet_1.class::ORB + planet_2.class::ORB).to_f / 2 point = planet_2.position if point < coverage or point+coverage > 360 return self.orb_range_by_target_at_aries_pisces( planet_1, planet_2, coverage) else return Ephemeris::Zodiac::Orb.new( (point - coverage)..(point + coverage), planet_1 ) end end |