rdate 0.0.3

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.
Files changed (2) hide show
  1. data/bin/rdate +53 -0
  2. metadata +46 -0
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'date'
4
+
5
+ date = DateTime.now
6
+ format = "%a %b %e %H:%M:%S %Z %Y"
7
+
8
+ def fix_year(year)
9
+ if year >= 1980
10
+ year
11
+ elsif year >= 80
12
+ year + 1900
13
+ else
14
+ year + 2000
15
+ end
16
+ end
17
+
18
+ ARGV.each do |arg|
19
+ case arg
20
+ when /^-v(\d+)y$/
21
+ year = fix_year($1.to_i)
22
+ date = DateTime.new(year, date.month, date.day, date.hour, date.minute, date.second, date.offset)
23
+ when /^-v([-+])(\d+)y$/
24
+ date = DateTime.new(date.year.__send__($1.to_sym, $2.to_i), date.month, date.day, date.hour, date.minute, date.second, date.offset)
25
+ when /^-v(\d+)m$/
26
+ date = DateTime.new(date.year, $1.to_i, date.day, date.hour, date.minute, date.second, date.offset)
27
+ when /^-v(\d+)d$/
28
+ date = DateTime.new(date.year, date.month, $1.to_i, date.hour, date.minute, date.second, date.offset)
29
+ when /^-v(\d+)H$/
30
+ date = DateTime.new(date.year, date.month, date.day, $1.to_i, date.minute, date.second, date.offset)
31
+ when /^-v(\d+)M$/
32
+ date = DateTime.new(date.year, date.month, date.day, date.hour, $1.to_i, date.second, date.offset)
33
+ when /^-v(\d+)S$/
34
+ date = DateTime.new(date.year, date.month, date.day, date.hour, date.minute, $1.to_i, date.offset)
35
+ when /^-v\+(\d+)m$/
36
+ date = date >> $1.to_i
37
+ when /^-v\-(\d+)m$/
38
+ date = date << $1.to_i
39
+ when /^-v\+(\d+)d$/
40
+ date += $1.to_i
41
+ when /^-v-(\d+)d$/
42
+ date -= $1.to_i
43
+ when /^-v-(\w+)$/
44
+ until date.strftime("%a").downcase == $1
45
+ date -= 1
46
+ end
47
+ else
48
+ format = arg
49
+ end
50
+ end
51
+
52
+ time = Time.local(date.year,date.month,date.day,date.hour,date.minute,date.second)
53
+ puts time.strftime(format)
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rdate
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Gabe Anzelini
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-01 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: OS X-style date command written in ruby
15
+ email: me@gabeanzelini.com
16
+ executables:
17
+ - rdate
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/rdate
22
+ homepage:
23
+ licenses: []
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 1.8.11
43
+ signing_key:
44
+ specification_version: 3
45
+ summary: OS X-style date command written in ruby
46
+ test_files: []