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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a8159aff9646d310400e2e06cc929a15fe32e297
4
- data.tar.gz: 1fb9b1bd0904d6073cde9e2a8d59978b16050612
3
+ metadata.gz: 91a9680f30166d3528c52679f921a48ad0ad28a4
4
+ data.tar.gz: 7195698fed1ea2d463f8168dae2304e0a9f555f7
5
5
  SHA512:
6
- metadata.gz: 0fe8595f751c42b4f2312638dd88f1fa365c6733bc6cd02ca9c0131f211261565fc30e7f906b53615a1e5a893483cb83fe05d0b7a907af8890ffa1a9fa59c3d2
7
- data.tar.gz: d486ec2dc2128bdfaa6c4da777909096470b471c7cbcdaa391cb4d9c4d0ae9888237e931b2afa4bd673ae29d6ca89b026d3ecb2239b8d04ec796b72070f32580
6
+ metadata.gz: c285c2fbd6248ed81c86c4891c23cce60179fbba4ec297af85ea33471e8b3a3a79d8c98e7f8004b5bab7ccff8f313ae597a8be828d504151bc688c7092067f43
7
+ data.tar.gz: f3cc234b1880728f09accb81ec2af1142015191c197104c58b51e64c4db7833c5fdf1a901db560e2b24c47e9d76374987355a095cd7e4c7f12633c4d7e73d233
@@ -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
@@ -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
+
@@ -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
@@ -0,0 +1,5 @@
1
+ require 'marsdate'
2
+
3
+ md = MarsDateTime.now
4
+
5
+ puts md.strftime("%A, %B %e, %Y MCE (sol %j) @ %P:%Q:%R (%X)")
@@ -2,7 +2,7 @@ require 'date'
2
2
 
3
3
  class MarsDateTime
4
4
 
5
- VERSION = "1.0.7"
5
+ VERSION = "1.0.8"
6
6
 
7
7
  include Comparable
8
8
 
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.7
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: