Module: SKY

Defined in:
lib/toychest/sky.rb

Class Method Summary collapse

Class Method Details

.at(h = {}, &b) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/toychest/sky.rb', line 2

def self.at(h={}, &b)
	h = { 
		phase: SunCalc.moon_illumination(h[:date]),
		moon: SunCalc.moon_position(h[:date], h[:lat], h[:lon]),
		night: SunCalc.moon_times(h[:date], h[:lat], h[:lon]),
		sun: SunCalc.sun_position(h[:date], h[:lat], h[:lon]),
		day: SunCalc.sun_times(h[:date], h[:lat], h[:lon])
	 }
	if block_given?
		return b.call(h)
	else
		return h
	end
end

.now(&b) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/toychest/sky.rb', line 16

def self.now &b
	utc = Time.now.utc
	now = Time.now
	m = Lunartic.on_date(DateTime.new(now.year, now.month, now.day, now.hour, now.min, now.sec))
	t = SunCalc.moon_illumination(now)[:phase]
	h = { epoch: utc.to_i, day: m.day, phase: m.phase, full: m.percent_full, moon: t, now: now }
	if block_given?
		return b.call(h)
	else
		return h
	end
end