suntrack 0.0.0 → 0.0.1

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.
Files changed (2) hide show
  1. data/lib/suntrack.rb +23 -0
  2. metadata +2 -2
data/lib/suntrack.rb CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  class Suntrack
5
5
 
6
+ @@attributes = {}
7
+
6
8
  # Return Sun location, in altitude(y) and azimuth(z), given
7
9
  # DateTime, latitude and longitude
8
10
  def self.sun_location(date_time,latitude,longitude)
@@ -26,6 +28,27 @@ class Suntrack
26
28
  z = z_in.equatorial_to_horizon
27
29
  z
28
30
  end
31
+
32
+ # allow user to create new star location functions
33
+ # User must define declination and right ascension
34
+ def self.method_missing name, *args
35
+ attribute = name.to_s
36
+ if attribute =~ /=$/
37
+ @@attributes[attribute.chop] = args[0]
38
+ elsif attribute =~ /location/
39
+ @@star = attribute.match(/(\w+)_location/)[1]
40
+ begin
41
+ dt = DateTime.now
42
+ mjd = Suntrack::RAstro.to_mjd(args[0])
43
+ tau = 15 * (Suntrack::RAstro.lmst(mjd,args[2]) - @@attributes["#{@@star}_ra"])
44
+ z_in = Suntrack::Point3D.new(@@attributes["#{@@star}_declination"],tau,args[1])
45
+ z = z_in.equatorial_to_horizon
46
+ z
47
+ rescue Exception => ex
48
+ p "Suntrack ERROR: Please define declination and right ascension for #{@@star}"
49
+ end
50
+ end
51
+ end
29
52
  end
30
53
  require 'suntrack/Point3D'
31
54
  require 'suntrack/RAstro'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: suntrack
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.0
5
+ version: 0.0.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Joel M. Gottlieb
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-09-07 00:00:00 Z
13
+ date: 2012-09-11 00:00:00 Z
14
14
  dependencies: []
15
15
 
16
16
  description: Sun position as function of time