ical_punch 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.1.0
@@ -18,16 +18,8 @@ BANNER
18
18
  opts.separator ''
19
19
  opts.on('-v', '--version',
20
20
  "Show the #{File.basename($0)} version number and exit") { puts "#{File.basename($0)} #{Punch.verson}"; exit }
21
- # opts.on('--after [TIME]', String,
22
- # "Restrict command to only after the given time") { |time| OPTIONS[:after] = Time.parse(time) }
23
- # opts.on('--before [TIME]', String,
24
- # "Restrict command to only before the given time") { |time| OPTIONS[:before] = Time.parse(time) }
25
- # opts.on('--at [TIME]', '--time [TIME]', String,
26
- # "Use the given time to punch in/out") { |time| OPTIONS[:time] = Time.parse(time) }
27
- # opts.on('-m', '--message [MESSAGE]', String,
28
- # "Add the given log message when punching in/out") { |message| OPTIONS[:message] = message }
29
21
  opts.on('-f', '--file [FILE_NAME]', String,
30
- "File name of the you want to output to") {|message| OPTIONS[:file_name] = file_name}
22
+ "File name of the you want to output to") {|file_name| OPTIONS[:file_name] = file_name}
31
23
  opts.on("-h", "--help",
32
24
  "Show this help message.") { puts opts; exit }
33
25
  opts.parse!(ARGV)
@@ -55,7 +47,22 @@ commands = {
55
47
  else
56
48
  IcalPunch.to_ical(project)
57
49
  end
50
+ end,
51
+ 'from_ical' => lambda do |project|
52
+ if OPTIONS[:file_name] && OPTIONS[:file_name].size > 0
53
+ IcalPunch.load(OPTIONS[:file_name])
54
+ IcalPunch.from_ical(project)
55
+ IcalPunch.calendars_to_punch
56
+ IcalPunch.write(OPTIONS[:file_name])
57
+ else
58
+ IcalPunch.load
59
+ IcalPunch.from_ical(project)
60
+ IcalPunch.calendars_to_punch
61
+ IcalPunch.write()
62
+ end
58
63
  end
64
+
65
+
59
66
  # 'status' => lambda do |project|
60
67
  # result = Punch.status(project)
61
68
  # if project
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ical_punch}
8
- s.version = "1.0.1"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rob Kaufman"]
12
- s.date = %q{2010-05-06}
12
+ s.date = %q{2010-07-06}
13
13
  s.default_executable = %q{ical_punch}
14
14
  s.description = %q{ical_punch converts between iCalendar files and the punch.yml format}
15
15
  s.email = %q{rob@notch8.com}
@@ -86,9 +86,14 @@ module IcalPunch
86
86
  def calendars_to_punch
87
87
  @data = {}
88
88
  @calendars.each do |calendar|
89
- key = calendar.prodid.split("/").last
89
+ key = calendar.events.first.summary
90
90
  @data[key] = calendar.events.collect do |event|
91
- {"out" => event.dtend, "in" => event.dtstart, "total" => nil, "log" => event.description.to_s}
91
+ if event.description.nil?
92
+ description = ["punch in @ #{event.dtstart}", "punch out @ #{event.dtend}"]
93
+ else
94
+ description = event.description.split("\n")
95
+ end
96
+ {"out" => event.dtend, "in" => event.dtstart, "total" => nil, "log" => description}
92
97
  end
93
98
  end
94
99
  return @data
@@ -114,6 +119,7 @@ module IcalPunch
114
119
  @calendars = Icalendar.parse(file)
115
120
  end
116
121
  end
122
+
117
123
  end
118
124
 
119
125
 
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 0
8
7
  - 1
9
- version: 1.0.1
8
+ - 0
9
+ version: 1.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Rob Kaufman
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-06 00:00:00 -07:00
17
+ date: 2010-07-06 00:00:00 -07:00
18
18
  default_executable: ical_punch
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency