marsdate 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/mcal.rb +50 -0
- data/bin/mkcal.rb +51 -0
- data/bin/mtcon.rb +29 -0
- data/bin/mtoday.rb +5 -0
- data/lib/marsdate.rb +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91a9680f30166d3528c52679f921a48ad0ad28a4
|
4
|
+
data.tar.gz: 7195698fed1ea2d463f8168dae2304e0a9f555f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c285c2fbd6248ed81c86c4891c23cce60179fbba4ec297af85ea33471e8b3a3a79d8c98e7f8004b5bab7ccff8f313ae597a8be828d504151bc688c7092067f43
|
7
|
+
data.tar.gz: f3cc234b1880728f09accb81ec2af1142015191c197104c58b51e64c4db7833c5fdf1a901db560e2b24c47e9d76374987355a095cd7e4c7f12633c4d7e73d233
|
data/bin/mcal.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'marsdate'
|
2
|
+
|
3
|
+
def put_week(week)
|
4
|
+
week.each {|x| printf("%3s ",x.to_s) }
|
5
|
+
puts
|
6
|
+
end
|
7
|
+
|
8
|
+
mon, yr = ARGV
|
9
|
+
# p [mon, yr]
|
10
|
+
now = MarsDateTime.now
|
11
|
+
mon ||= now.month
|
12
|
+
yr ||= now.year
|
13
|
+
# p [mon, yr]
|
14
|
+
mon = mon.to_i
|
15
|
+
yr = yr.to_i
|
16
|
+
# p [mon, yr]
|
17
|
+
|
18
|
+
ftm = MarsDateTime.new(yr, mon, 1)
|
19
|
+
|
20
|
+
header = %w[Sun Mon Tue Wed Thu Fri Sat]
|
21
|
+
|
22
|
+
week1 = Array.new(7)
|
23
|
+
sol = 0
|
24
|
+
ftm.dow.upto(6) do |d|
|
25
|
+
week1[d] = (sol += 1)
|
26
|
+
end
|
27
|
+
|
28
|
+
solN = MarsDateTime.sols_in_month(mon, yr)
|
29
|
+
remaining = ((sol += 1)..solN).to_a
|
30
|
+
|
31
|
+
weeks = []
|
32
|
+
weeks << header << week1
|
33
|
+
|
34
|
+
loop do
|
35
|
+
week = []
|
36
|
+
7.times { week << remaining.shift }
|
37
|
+
weeks << week
|
38
|
+
break if remaining.empty?
|
39
|
+
end
|
40
|
+
|
41
|
+
label = ftm.month_name + " " + ftm.year.to_s
|
42
|
+
spacing = " "*((27 - label.length)/2)
|
43
|
+
|
44
|
+
puts
|
45
|
+
puts spacing + label
|
46
|
+
puts
|
47
|
+
|
48
|
+
weeks.each {|week| put_week(week) }
|
49
|
+
|
50
|
+
puts
|
data/bin/mkcal.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'marsdate'
|
2
|
+
|
3
|
+
def month(year, n)
|
4
|
+
dow = MarsDateTime.new(year, n, 1).dow
|
5
|
+
ndays = 28
|
6
|
+
list = [""]*dow + (1..ndays).to_a
|
7
|
+
l2 = []
|
8
|
+
loop do
|
9
|
+
l2 << list.slice!(0..6)
|
10
|
+
break if list.empty?
|
11
|
+
end
|
12
|
+
|
13
|
+
puts "<table border=1>"
|
14
|
+
puts "<tr><td colspan=7"
|
15
|
+
puts "<b><center><font size=+1>#{MarsDateTime::Months[n]}</font><center></b>"
|
16
|
+
puts "</td></tr>"
|
17
|
+
puts "<tr>"
|
18
|
+
puts "<td><b>Sun</b></td>"
|
19
|
+
puts "<td><b>Mon</b></td>"
|
20
|
+
puts "<td><b>Tue</b></td>"
|
21
|
+
puts "<td><b>Wed</b></td>"
|
22
|
+
puts "<td><b>Thu</b></td>"
|
23
|
+
puts "<td><b>Fri</b></td>"
|
24
|
+
puts "<td><b>Sat</b></td>"
|
25
|
+
puts "</tr>"
|
26
|
+
l2.each do |week|
|
27
|
+
puts "<tr>"
|
28
|
+
week.each do |day|
|
29
|
+
puts " <td>"
|
30
|
+
puts day
|
31
|
+
puts " </td>"
|
32
|
+
end
|
33
|
+
puts "</tr>"
|
34
|
+
end
|
35
|
+
puts "</table>"
|
36
|
+
end
|
37
|
+
|
38
|
+
def row(yr,i)
|
39
|
+
puts "<tr>"
|
40
|
+
puts "<td>"; month yr, i+1; puts "</td>"
|
41
|
+
puts "<td>"; month yr, i+2; puts "</td>"
|
42
|
+
puts "<td>"; month yr, i+3; puts "</td>"
|
43
|
+
puts "<td>"; month yr, i+4; puts "</td>"
|
44
|
+
puts "</tr>"
|
45
|
+
end
|
46
|
+
|
47
|
+
year = ARGV.first.to_i
|
48
|
+
|
49
|
+
puts "<table>"
|
50
|
+
6.times {|i| row(year,i*4) }
|
51
|
+
|
data/bin/mtcon.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'marsdate'
|
2
|
+
|
3
|
+
case ARGV.size
|
4
|
+
when 0
|
5
|
+
abort "Parameters: (me|em) yyyy/mm/dd"
|
6
|
+
when 1 # Clunky - assume am2k
|
7
|
+
date = DateTime.new(2000,1,5,19,0,0)
|
8
|
+
mdate = MarsDateTime.new(date)
|
9
|
+
puts mdate.inspect
|
10
|
+
puts mdate.to_s
|
11
|
+
when 2,3
|
12
|
+
action, date, time = ARGV
|
13
|
+
time ||= "00:00:00"
|
14
|
+
|
15
|
+
yyyy,mm,dd = date.split("/").map {|x| x.to_i }
|
16
|
+
hh,mi,ss = time.split(":").map {|x| x.to_i }
|
17
|
+
|
18
|
+
case action
|
19
|
+
when "em"
|
20
|
+
date = DateTime.new(yyyy,mm,dd,hh,mi,ss)
|
21
|
+
mdate = MarsDateTime.new(date)
|
22
|
+
puts mdate.inspect
|
23
|
+
puts mdate.to_s
|
24
|
+
when "me"
|
25
|
+
mdate = MarsDateTime.new(yyyy,mm,dd)
|
26
|
+
date = mdate.earth_date
|
27
|
+
puts date.strftime("%x %X")
|
28
|
+
end
|
29
|
+
end
|
data/bin/mtoday.rb
ADDED
data/lib/marsdate.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marsdate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
@@ -19,6 +19,10 @@ executables: []
|
|
19
19
|
extensions: []
|
20
20
|
extra_rdoc_files: []
|
21
21
|
files:
|
22
|
+
- bin/mcal.rb
|
23
|
+
- bin/mkcal.rb
|
24
|
+
- bin/mtcon.rb
|
25
|
+
- bin/mtoday.rb
|
22
26
|
- lib/marsdate.rb
|
23
27
|
homepage: https://github.com/Hal9000/marsdate
|
24
28
|
licenses:
|