astrolith 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +20 -30
- data/astrolith.gemspec +3 -1
- data/examples/example_usage.rb +9 -9
- data/lib/{ruby_chart_engine → astrolith}/calculations/aspects.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/calculations/dignities.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/calculations/houses.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/calculations/positions.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/base_chart.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/composite.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/natal.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/progressed.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/solar_return.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/charts/transit.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/input/coordinates.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/input/datetime.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/input/timezone.rb +1 -1
- data/lib/{ruby_chart_engine → astrolith}/serializers/json_serializer.rb +1 -1
- data/lib/astrolith/version.rb +3 -0
- data/lib/{ruby_chart_engine.rb → astrolith.rb} +16 -16
- metadata +18 -18
- data/lib/ruby_chart_engine/version.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '090ce9b250271c6634eae86bb5f2fb8b3f742cfd949470e54838413578bf7385'
|
|
4
|
+
data.tar.gz: 7e0f0cacbc73ba643a9ec8227a2034a14c8bd051f702bccfd966a9a13eedd3e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4947c86d7d1f2c45f83149bd021ac8a26db5522788a0641ae758fb2d2e49042c0ba2fc237565cafc26630af71953954c202421f0aa30e4743e68f277e2641c10
|
|
7
|
+
data.tar.gz: 6c840541c06ae3d4d0651bee3a20ba85a38d10d8805dbd527cf189bb6511a401109eb56d86c994285db186a63ba264880344e88479bbf89d5bded2102b57e1a7
|
data/README.md
CHANGED
|
@@ -38,10 +38,10 @@ gem install astrolith
|
|
|
38
38
|
## Quick Start
|
|
39
39
|
|
|
40
40
|
```ruby
|
|
41
|
-
require '
|
|
41
|
+
require 'astrolith'
|
|
42
42
|
|
|
43
43
|
# Create a natal chart
|
|
44
|
-
chart =
|
|
44
|
+
chart = Astrolith::Charts::Natal.new(
|
|
45
45
|
datetime: '1990-05-15T14:30:00',
|
|
46
46
|
latitude: 40.7128,
|
|
47
47
|
longitude: -74.0060,
|
|
@@ -65,7 +65,7 @@ puts json
|
|
|
65
65
|
### Natal Chart
|
|
66
66
|
|
|
67
67
|
```ruby
|
|
68
|
-
chart =
|
|
68
|
+
chart = Astrolith::Charts::Natal.new(
|
|
69
69
|
datetime: '1990-05-15T14:30:00',
|
|
70
70
|
latitude: 40.7128,
|
|
71
71
|
longitude: -74.0060,
|
|
@@ -86,14 +86,14 @@ sun = chart.planets[:sun]
|
|
|
86
86
|
|
|
87
87
|
# Check aspects
|
|
88
88
|
chart.aspects.each do |aspect|
|
|
89
|
-
puts "#{aspect[:planet1]} #{aspect[:type]} #{aspect[:planet2]} (orb: #{aspect[:orb]}
|
|
89
|
+
puts "#{aspect[:planet1]} #{aspect[:type]} #{aspect[:planet2]} (orb: #{aspect[:orb]}°)"
|
|
90
90
|
end
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
### Solar Return
|
|
94
94
|
|
|
95
95
|
```ruby
|
|
96
|
-
solar_return =
|
|
96
|
+
solar_return = Astrolith::Charts::SolarReturn.new(
|
|
97
97
|
natal_datetime: '1990-05-15T14:30:00',
|
|
98
98
|
return_year: 2024,
|
|
99
99
|
latitude: 40.7128,
|
|
@@ -105,7 +105,7 @@ solar_return = RubyChartEngine::Charts::SolarReturn.new(
|
|
|
105
105
|
### Progressed Chart
|
|
106
106
|
|
|
107
107
|
```ruby
|
|
108
|
-
progressed =
|
|
108
|
+
progressed = Astrolith::Charts::Progressed.new(
|
|
109
109
|
natal_datetime: '1990-05-15T14:30:00',
|
|
110
110
|
progression_date: '2024-03-15',
|
|
111
111
|
latitude: 40.7128,
|
|
@@ -117,7 +117,7 @@ progressed = RubyChartEngine::Charts::Progressed.new(
|
|
|
117
117
|
### Composite Chart
|
|
118
118
|
|
|
119
119
|
```ruby
|
|
120
|
-
composite =
|
|
120
|
+
composite = Astrolith::Charts::Composite.new(
|
|
121
121
|
chart1_params: {
|
|
122
122
|
datetime: '1990-05-15T14:30:00',
|
|
123
123
|
latitude: 40.7128,
|
|
@@ -136,14 +136,14 @@ composite = RubyChartEngine::Charts::Composite.new(
|
|
|
136
136
|
### Transit Chart
|
|
137
137
|
|
|
138
138
|
```ruby
|
|
139
|
-
natal =
|
|
139
|
+
natal = Astrolith::Charts::Natal.new(
|
|
140
140
|
datetime: '1990-05-15T14:30:00',
|
|
141
141
|
latitude: 40.7128,
|
|
142
142
|
longitude: -74.0060,
|
|
143
143
|
timezone: 'America/New_York'
|
|
144
144
|
)
|
|
145
145
|
|
|
146
|
-
transit =
|
|
146
|
+
transit = Astrolith::Charts::Transit.new(
|
|
147
147
|
natal_chart_params: natal,
|
|
148
148
|
transit_datetime: Time.now.iso8601
|
|
149
149
|
)
|
|
@@ -230,22 +230,23 @@ house_system: :campanus
|
|
|
230
230
|
|
|
231
231
|
**Planets**: Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto
|
|
232
232
|
|
|
233
|
-
**Points**: North Node, South Node
|
|
233
|
+
**Points**: North Node, South Node _(Note: Chiron is not available when using the built-in Moshier ephemeris)_
|
|
234
234
|
|
|
235
235
|
**Angles**: Ascendant, Midheaven, Descendant, Imum Coeli
|
|
236
236
|
|
|
237
237
|
## Aspects
|
|
238
238
|
|
|
239
239
|
Supported aspects with configurable orbs:
|
|
240
|
-
|
|
241
|
-
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
- Semi-
|
|
248
|
-
-
|
|
240
|
+
|
|
241
|
+
- Conjunction (0°)
|
|
242
|
+
- Opposition (180°)
|
|
243
|
+
- Trine (120°)
|
|
244
|
+
- Square (90°)
|
|
245
|
+
- Sextile (60°)
|
|
246
|
+
- Quincunx (150°)
|
|
247
|
+
- Semi-Sextile (30°)
|
|
248
|
+
- Semi-Square (45°)
|
|
249
|
+
- Sesquiquadrate (135°)
|
|
249
250
|
|
|
250
251
|
## Testing
|
|
251
252
|
|
|
@@ -289,19 +290,8 @@ bundle install
|
|
|
289
290
|
|
|
290
291
|
# Run tests
|
|
291
292
|
bundle exec rspec
|
|
292
|
-
|
|
293
|
-
# Run console for experimentation
|
|
294
|
-
bundle console
|
|
295
293
|
```
|
|
296
294
|
|
|
297
|
-
## Contributing
|
|
298
|
-
|
|
299
|
-
1. Fork it
|
|
300
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
301
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
302
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
|
303
|
-
5. Create new Pull Request
|
|
304
|
-
|
|
305
295
|
## License
|
|
306
296
|
|
|
307
297
|
MIT License
|
data/astrolith.gemspec
CHANGED
data/examples/example_usage.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
require_relative '../lib/
|
|
3
|
+
require_relative '../lib/astrolith'
|
|
4
4
|
|
|
5
5
|
# Example 1: Basic Natal Chart
|
|
6
6
|
puts "=" * 80
|
|
7
7
|
puts "Example 1: Basic Natal Chart"
|
|
8
8
|
puts "=" * 80
|
|
9
9
|
|
|
10
|
-
natal_chart =
|
|
10
|
+
natal_chart = Astrolith::Charts::Natal.new(
|
|
11
11
|
datetime: '1990-05-15T14:30:00',
|
|
12
12
|
latitude: 40.7128,
|
|
13
13
|
longitude: -74.0060,
|
|
@@ -41,7 +41,7 @@ puts "\n" + "=" * 80
|
|
|
41
41
|
puts "Example 2: Solar Return Chart for 2024"
|
|
42
42
|
puts "=" * 80
|
|
43
43
|
|
|
44
|
-
solar_return =
|
|
44
|
+
solar_return = Astrolith::Charts::SolarReturn.new(
|
|
45
45
|
natal_datetime: '1990-05-15T14:30:00',
|
|
46
46
|
return_year: 2024,
|
|
47
47
|
latitude: 40.7128,
|
|
@@ -58,7 +58,7 @@ puts "\n" + "=" * 80
|
|
|
58
58
|
puts "Example 3: Composite Chart"
|
|
59
59
|
puts "=" * 80
|
|
60
60
|
|
|
61
|
-
composite =
|
|
61
|
+
composite = Astrolith::Charts::Composite.new(
|
|
62
62
|
chart1_params: {
|
|
63
63
|
datetime: '1990-05-15T14:30:00',
|
|
64
64
|
latitude: 40.7128,
|
|
@@ -84,7 +84,7 @@ puts "\n" + "=" * 80
|
|
|
84
84
|
puts "Example 4: Transit Chart"
|
|
85
85
|
puts "=" * 80
|
|
86
86
|
|
|
87
|
-
transit =
|
|
87
|
+
transit = Astrolith::Charts::Transit.new(
|
|
88
88
|
natal_chart_params: natal_chart,
|
|
89
89
|
transit_datetime: '2024-03-15T12:00:00'
|
|
90
90
|
)
|
|
@@ -100,11 +100,11 @@ puts "Example 5: JSON Export"
|
|
|
100
100
|
puts "=" * 80
|
|
101
101
|
|
|
102
102
|
puts "\nNatal Chart as JSON (pretty):"
|
|
103
|
-
json =
|
|
103
|
+
json = Astrolith::Serializers::JsonSerializer.serialize_pretty(natal_chart)
|
|
104
104
|
puts json[0..500] + "..."
|
|
105
105
|
|
|
106
106
|
puts "\nChart with filtered output (metadata and planets only):"
|
|
107
|
-
filtered_json =
|
|
107
|
+
filtered_json = Astrolith::Serializers::JsonSerializer.serialize_with_options(
|
|
108
108
|
natal_chart,
|
|
109
109
|
include: [:metadata, :planets],
|
|
110
110
|
pretty: true
|
|
@@ -117,7 +117,7 @@ puts "Example 6: Different Coordinate Formats"
|
|
|
117
117
|
puts "=" * 80
|
|
118
118
|
|
|
119
119
|
# Standard text format
|
|
120
|
-
chart_text =
|
|
120
|
+
chart_text = Astrolith::Charts::Natal.new(
|
|
121
121
|
datetime: '1990-05-15T14:30:00',
|
|
122
122
|
latitude: '40n43',
|
|
123
123
|
longitude: '74w00',
|
|
@@ -136,7 +136,7 @@ puts "=" * 80
|
|
|
136
136
|
house_systems = [:placidus, :koch, :whole_sign, :equal]
|
|
137
137
|
|
|
138
138
|
house_systems.each do |system|
|
|
139
|
-
chart =
|
|
139
|
+
chart = Astrolith::Charts::Natal.new(
|
|
140
140
|
datetime: '1990-05-15T14:30:00',
|
|
141
141
|
latitude: 40.7128,
|
|
142
142
|
longitude: -74.0060,
|
|
@@ -3,26 +3,26 @@ require 'ephemeris'
|
|
|
3
3
|
require 'daru'
|
|
4
4
|
require 'json'
|
|
5
5
|
|
|
6
|
-
require_relative '
|
|
7
|
-
require_relative '
|
|
8
|
-
require_relative '
|
|
9
|
-
require_relative '
|
|
6
|
+
require_relative 'astrolith/version'
|
|
7
|
+
require_relative 'astrolith/input/coordinates'
|
|
8
|
+
require_relative 'astrolith/input/datetime'
|
|
9
|
+
require_relative 'astrolith/input/timezone'
|
|
10
10
|
|
|
11
|
-
require_relative '
|
|
12
|
-
require_relative '
|
|
13
|
-
require_relative '
|
|
14
|
-
require_relative '
|
|
11
|
+
require_relative 'astrolith/calculations/positions'
|
|
12
|
+
require_relative 'astrolith/calculations/houses'
|
|
13
|
+
require_relative 'astrolith/calculations/aspects'
|
|
14
|
+
require_relative 'astrolith/calculations/dignities'
|
|
15
15
|
|
|
16
|
-
require_relative '
|
|
16
|
+
require_relative 'astrolith/serializers/json_serializer'
|
|
17
17
|
|
|
18
|
-
require_relative '
|
|
19
|
-
require_relative '
|
|
20
|
-
require_relative '
|
|
21
|
-
require_relative '
|
|
22
|
-
require_relative '
|
|
23
|
-
require_relative '
|
|
18
|
+
require_relative 'astrolith/charts/base_chart'
|
|
19
|
+
require_relative 'astrolith/charts/natal'
|
|
20
|
+
require_relative 'astrolith/charts/solar_return'
|
|
21
|
+
require_relative 'astrolith/charts/progressed'
|
|
22
|
+
require_relative 'astrolith/charts/composite'
|
|
23
|
+
require_relative 'astrolith/charts/transit'
|
|
24
24
|
|
|
25
|
-
module
|
|
25
|
+
module Astrolith
|
|
26
26
|
class Error < StandardError; end
|
|
27
27
|
|
|
28
28
|
# Swiss Ephemeris object ID constants
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: astrolith
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Go-pye
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-12-
|
|
11
|
+
date: 2025-12-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: swe4r
|
|
@@ -135,22 +135,22 @@ files:
|
|
|
135
135
|
- README.md
|
|
136
136
|
- astrolith.gemspec
|
|
137
137
|
- examples/example_usage.rb
|
|
138
|
-
- lib/
|
|
139
|
-
- lib/
|
|
140
|
-
- lib/
|
|
141
|
-
- lib/
|
|
142
|
-
- lib/
|
|
143
|
-
- lib/
|
|
144
|
-
- lib/
|
|
145
|
-
- lib/
|
|
146
|
-
- lib/
|
|
147
|
-
- lib/
|
|
148
|
-
- lib/
|
|
149
|
-
- lib/
|
|
150
|
-
- lib/
|
|
151
|
-
- lib/
|
|
152
|
-
- lib/
|
|
153
|
-
- lib/
|
|
138
|
+
- lib/astrolith.rb
|
|
139
|
+
- lib/astrolith/calculations/aspects.rb
|
|
140
|
+
- lib/astrolith/calculations/dignities.rb
|
|
141
|
+
- lib/astrolith/calculations/houses.rb
|
|
142
|
+
- lib/astrolith/calculations/positions.rb
|
|
143
|
+
- lib/astrolith/charts/base_chart.rb
|
|
144
|
+
- lib/astrolith/charts/composite.rb
|
|
145
|
+
- lib/astrolith/charts/natal.rb
|
|
146
|
+
- lib/astrolith/charts/progressed.rb
|
|
147
|
+
- lib/astrolith/charts/solar_return.rb
|
|
148
|
+
- lib/astrolith/charts/transit.rb
|
|
149
|
+
- lib/astrolith/input/coordinates.rb
|
|
150
|
+
- lib/astrolith/input/datetime.rb
|
|
151
|
+
- lib/astrolith/input/timezone.rb
|
|
152
|
+
- lib/astrolith/serializers/json_serializer.rb
|
|
153
|
+
- lib/astrolith/version.rb
|
|
154
154
|
homepage: https://github.com/Go-pye/astrolith
|
|
155
155
|
licenses:
|
|
156
156
|
- MIT
|