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