rdate 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: []