marsdate 1.0.7 → 1.0.8

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 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: