waddup 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -5
- data/CHANGELOG.md +7 -0
- data/README.md +1 -1
- data/Rakefile +3 -2
- data/lib/waddup.rb +1 -0
- data/lib/waddup/cli.rb +5 -5
- data/lib/waddup/extensions/applescript.rb +3 -3
- data/lib/waddup/extensions/file_system.rb +14 -0
- data/lib/waddup/sources/apple_calendar.rb +6 -23
- data/lib/waddup/sources/apple_calender/events.applescript +17 -0
- data/lib/waddup/sources/apple_mail.rb +5 -29
- data/lib/waddup/sources/apple_mail/sent_mail.applescript +24 -0
- data/lib/waddup/sources/git.rb +3 -3
- data/lib/waddup/version.rb +1 -1
- data/spec/spec_helper.rb +26 -10
- data/spec/support/shell_mock.rb +22 -16
- data/spec/waddup/sources/apple_calendar_spec.rb +6 -6
- data/spec/waddup/sources/apple_mail_spec.rb +6 -6
- data/spec/waddup/sources/git_spec.rb +6 -6
- data/waddup.gemspec +6 -8
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 124b07086882a87d52aeac3f2774ef9189eb9c6c
|
4
|
+
data.tar.gz: a760abd321c924beca39c80bb54dbd190277b7ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c56e90b616d1d99204b4e9a09f138d925522fa8fed652b4d4a9aa6c0b2f2825ef35b57251c8cd152a7d8fe2a1d08bb344643b70e22cebaa66c30d788b176f838
|
7
|
+
data.tar.gz: 2dbe261c3af49768d231a8e30c258c44743067f8efecf54b9f4ec3f52fd560d3260bb03d12572ceae4138ca4883f333eb69341d23e9fd9930bd1facd9c9a9108
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
### v0.1.0 - November 29, 2013
|
4
|
+
- Drop support for 1.8.7 and 1.9.2.
|
5
|
+
- From/to arguments are treated as past by default.
|
6
|
+
- Git source considers all branches and excludes merge commits.
|
7
|
+
- Events obtained through AppleScript are now sorted correctly.
|
8
|
+
- Improve Apple Mail source performance.
|
9
|
+
|
3
10
|
### v0.0.2 - October 30, 2013
|
4
11
|
- Initial alpha release with Git, Apple Mail and Apple Calender sources.
|
5
12
|
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Waddup is a Ruby gem that retraces your activities from arbitrary sources - such
|
|
10
10
|
|
11
11
|
Perfect for those who have lost track of what they have worked on.
|
12
12
|
|
13
|
-
**Supported Ruby versions: 1.
|
13
|
+
**Supported Ruby versions: 1.9.3 or higher**
|
14
14
|
|
15
15
|
Licensed under the **MIT** license, see LICENSE for more information.
|
16
16
|
|
data/Rakefile
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
-
RSpec::Core::RakeTask.new(:
|
4
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
5
5
|
spec.pattern = 'spec/*_spec.rb'
|
6
6
|
spec.rspec_opts = ['--color']
|
7
7
|
end
|
8
8
|
|
9
|
-
task :
|
9
|
+
task test: :spec
|
10
|
+
task default: :spec
|
data/lib/waddup.rb
CHANGED
data/lib/waddup/cli.rb
CHANGED
@@ -7,9 +7,9 @@ module Waddup
|
|
7
7
|
attr_accessor :sources, :from, :to
|
8
8
|
|
9
9
|
KEYWORDS = {
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
10
|
+
sources: %w[with],
|
11
|
+
from: %w[from since],
|
12
|
+
to: %w[to until uptil upto through]
|
13
13
|
}
|
14
14
|
|
15
15
|
KEYWORD_BOUNDARY = "(?:\\s#{KEYWORDS.values.flatten.join('|\\s')}|\\Z)"
|
@@ -23,11 +23,11 @@ module Waddup
|
|
23
23
|
end
|
24
24
|
|
25
25
|
parse_keyword :from do |match|
|
26
|
-
@from = Chronic.parse match[1]
|
26
|
+
@from = Chronic.parse match[1], context: :past
|
27
27
|
end
|
28
28
|
|
29
29
|
parse_keyword :to do |match|
|
30
|
-
@to = Chronic.parse match[1]
|
30
|
+
@to = Chronic.parse match[1], context: :past
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -3,7 +3,7 @@ module Waddup
|
|
3
3
|
module Extension::AppleScript
|
4
4
|
include Waddup::Extension::System
|
5
5
|
|
6
|
-
# Runs given AppleScript
|
6
|
+
# Runs given AppleScript on disk
|
7
7
|
#
|
8
8
|
# Options:
|
9
9
|
#
|
@@ -13,7 +13,7 @@ module Waddup
|
|
13
13
|
def applescript(script, options = {})
|
14
14
|
args = options.delete(:args) || []
|
15
15
|
arguments = args.map { |arg| " '#{arg}'" }.join
|
16
|
-
results = run("osascript -s s
|
16
|
+
results = run("osascript -s s '#{script}'#{arguments}")
|
17
17
|
|
18
18
|
# TODO: This is very scary, find alternatives!
|
19
19
|
eval "[#{results[1...-1]}]" if options.delete(:as_ruby)
|
@@ -22,7 +22,7 @@ module Waddup
|
|
22
22
|
# Whether AppleScript is available
|
23
23
|
def applescript?
|
24
24
|
osx? && begin
|
25
|
-
run('osalang', :
|
25
|
+
run('osalang', quietly: true).include? 'AppleScript'
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -3,29 +3,12 @@ module Waddup
|
|
3
3
|
class Source::AppleCalendar < Waddup::Source
|
4
4
|
include Waddup::Extension::AppleScript
|
5
5
|
extend Waddup::Extension::AppleScript
|
6
|
+
extend Waddup::Extension::FileSystem
|
6
7
|
|
7
8
|
ALIAS = 'ical'
|
8
9
|
ICON = "\xF0\x9F\x93\x85 "
|
9
10
|
|
10
|
-
EVENT_SCRIPT =
|
11
|
-
on run argv
|
12
|
-
set window_from to date (item 1 of argv)
|
13
|
-
set window_to to date (item 2 of argv)
|
14
|
-
|
15
|
-
tell application "Calendar"
|
16
|
-
set results to {}
|
17
|
-
|
18
|
-
set cdars to (events whose start date <= window_to and end date > window_from) in every calendar
|
19
|
-
repeat with cdar in cdars
|
20
|
-
repeat with evt in cdar
|
21
|
-
set end of results to {summary:summary of evt, start_date:start date of evt as string, end_date:end date of evt as string}
|
22
|
-
end repeat
|
23
|
-
end repeat
|
24
|
-
|
25
|
-
results
|
26
|
-
end tell
|
27
|
-
end run
|
28
|
-
}
|
11
|
+
EVENT_SCRIPT = folder_of(__FILE__) + 'apple_calender/events.applescript'
|
29
12
|
|
30
13
|
# Aggregates calendar events
|
31
14
|
#
|
@@ -36,14 +19,14 @@ module Waddup
|
|
36
19
|
#
|
37
20
|
def events(from, to)
|
38
21
|
results = applescript EVENT_SCRIPT,
|
39
|
-
:
|
40
|
-
:
|
22
|
+
as_ruby: true,
|
23
|
+
args: [from.strftime('%d/%m/%Y %H:%M'), to.strftime('%d/%m/%Y %H:%M')]
|
41
24
|
|
42
25
|
results.map do |result|
|
43
26
|
Waddup::Event.new do |e|
|
44
27
|
e.label = result[:summary]
|
45
|
-
e.at =
|
46
|
-
e.until =
|
28
|
+
e.at = Time.parse(result[:start_date])
|
29
|
+
e.until = Time.parse(result[:end_date])
|
47
30
|
e.source = self
|
48
31
|
end
|
49
32
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
on run argv
|
2
|
+
set window_from to date (item 1 of argv)
|
3
|
+
set window_to to date (item 2 of argv)
|
4
|
+
|
5
|
+
tell application "Calendar"
|
6
|
+
set results to {}
|
7
|
+
|
8
|
+
set cdars to (events whose start date <= window_to and end date > window_from) in every calendar
|
9
|
+
repeat with cdar in cdars
|
10
|
+
repeat with evt in cdar
|
11
|
+
set end of results to {summary:summary of evt, start_date:start date of evt as string, end_date:end date of evt as string}
|
12
|
+
end repeat
|
13
|
+
end repeat
|
14
|
+
|
15
|
+
results
|
16
|
+
end tell
|
17
|
+
end run
|
@@ -3,36 +3,12 @@ module Waddup
|
|
3
3
|
class Source::AppleMail < Waddup::Source
|
4
4
|
include Waddup::Extension::AppleScript
|
5
5
|
extend Waddup::Extension::AppleScript
|
6
|
+
extend Waddup::Extension::FileSystem
|
6
7
|
|
7
8
|
ALIAS = 'mail'
|
8
9
|
ICON = "\xE2\x9C\x89\xEF\xB8\x8F "
|
9
10
|
|
10
|
-
|
11
|
-
# iterating through all mailboxes and identify sent messages by sender
|
12
|
-
#
|
13
|
-
# See: http://tidbits.com/article/14219
|
14
|
-
SENT_MAIL_SCRIPT = %Q{
|
15
|
-
on run argv
|
16
|
-
set window_from to date (item 1 of argv)
|
17
|
-
set window_to to date (item 2 of argv)
|
18
|
-
|
19
|
-
tell application "Mail"
|
20
|
-
set results to {}
|
21
|
-
|
22
|
-
repeat with acct in every account
|
23
|
-
set username to user name of acct
|
24
|
-
set mboxes to (messages whose sender contains username and date sent >= window_from and date sent <= window_to) in every mailbox in acct
|
25
|
-
repeat with mbox in mboxes
|
26
|
-
repeat with msg in mbox
|
27
|
-
set the end of results to {subject:subject of msg, datetime:date sent of msg as string}
|
28
|
-
end
|
29
|
-
end repeat
|
30
|
-
end repeat
|
31
|
-
|
32
|
-
results
|
33
|
-
end tell
|
34
|
-
end run
|
35
|
-
}
|
11
|
+
SENT_MAIL_SCRIPT = folder_of(__FILE__) + 'apple_mail/sent_mail.applescript'
|
36
12
|
|
37
13
|
# Aggregates sent mail events
|
38
14
|
#
|
@@ -43,13 +19,13 @@ module Waddup
|
|
43
19
|
#
|
44
20
|
def events(from, to)
|
45
21
|
results = applescript SENT_MAIL_SCRIPT,
|
46
|
-
:
|
47
|
-
:
|
22
|
+
as_ruby: true,
|
23
|
+
args: [from.strftime('%d/%m/%Y %H:%M'), to.strftime('%d/%m/%Y %H:%M')]
|
48
24
|
|
49
25
|
results.map do |result|
|
50
26
|
Waddup::Event.new do |e|
|
51
27
|
e.label = result[:subject]
|
52
|
-
e.at =
|
28
|
+
e.at = Time.parse(result[:datetime])
|
53
29
|
e.source = self
|
54
30
|
end
|
55
31
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
on run argv
|
2
|
+
set window_from to date (item 1 of argv)
|
3
|
+
set window_to to date (item 2 of argv)
|
4
|
+
|
5
|
+
tell application "Mail"
|
6
|
+
set results to {}
|
7
|
+
|
8
|
+
repeat with acct in every account
|
9
|
+
set username to user name of acct
|
10
|
+
try
|
11
|
+
set mbox to mailbox "[Gmail]/All Mail" of acct
|
12
|
+
on error
|
13
|
+
set mbox to mailbox "Sent" of acct
|
14
|
+
end try
|
15
|
+
|
16
|
+
set msgs to (messages whose sender contains username and date sent >= window_from and date sent <= window_to) in mbox
|
17
|
+
repeat with msg in msgs
|
18
|
+
set the end of results to {subject:subject of msg, datetime:date sent of msg as string}
|
19
|
+
end repeat
|
20
|
+
end repeat
|
21
|
+
|
22
|
+
results
|
23
|
+
end tell
|
24
|
+
end run
|
data/lib/waddup/sources/git.rb
CHANGED
@@ -62,11 +62,11 @@ module Waddup
|
|
62
62
|
def events_for_repo(from, to, repo)
|
63
63
|
repo_label = self.class.label_for_repo repo
|
64
64
|
|
65
|
-
results = run "git --git-dir='#{repo}' log --author='#{author}' --since='#{from.iso8601}' --until='#{to.iso8601}' --format='format:#{GIT_FORMAT}'"
|
65
|
+
results = run "git --git-dir='#{repo}' log --all --no-merges --author='#{author}' --since='#{from.iso8601}' --until='#{to.iso8601}' --format='format:#{GIT_FORMAT}'"
|
66
66
|
results.scan(EXTRACT_PATTERN).map do |hash, datetime, subject|
|
67
67
|
Waddup::Event.new do |e|
|
68
68
|
e.label = "[#{repo_label}] #{subject}"
|
69
|
-
e.at =
|
69
|
+
e.at = Time.parse(datetime)
|
70
70
|
e.source = self
|
71
71
|
end
|
72
72
|
end
|
@@ -89,7 +89,7 @@ module Waddup
|
|
89
89
|
|
90
90
|
# Requires Git to be installed successfully
|
91
91
|
def self.usable?
|
92
|
-
run 'git --version', :
|
92
|
+
run 'git --version', quietly: true
|
93
93
|
$?.success?
|
94
94
|
end
|
95
95
|
|
data/lib/waddup/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,30 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
SimpleCov
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
SimpleCov.start
|
10
|
-
end
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
]
|
8
|
+
SimpleCov.start
|
11
9
|
|
12
10
|
require 'waddup'
|
13
11
|
|
14
12
|
Dir['./spec/support/**/*.rb'].sort.each { |file| require file }
|
13
|
+
|
14
|
+
RSpec.configure do |config|
|
15
|
+
|
16
|
+
# Helper modules
|
17
|
+
config.extend ShellMock
|
18
|
+
|
19
|
+
config.before(:each) do
|
20
|
+
ShellMock.apply!
|
21
|
+
end
|
22
|
+
|
23
|
+
# Allow focussing on individual specs
|
24
|
+
config.filter_run focus: true
|
25
|
+
config.run_all_when_everything_filtered = true
|
26
|
+
|
27
|
+
# Run specs in random order to surface order dependencies
|
28
|
+
config.order = 'random'
|
29
|
+
|
30
|
+
end
|
data/spec/support/shell_mock.rb
CHANGED
@@ -1,26 +1,32 @@
|
|
1
|
-
|
2
|
-
class ShellNotAllowedError < StandardError
|
3
|
-
|
4
|
-
def initialize(command)
|
5
|
-
msg = "Shell operation is not allowed: #{command}\n\n"
|
6
|
-
msg << "You can stub this request with the following snippet:\n\n"
|
7
|
-
msg << "stub_shell(\"#{command}\", :output => '', :exitstatus => 0)\n "
|
8
|
-
super msg
|
9
|
-
end
|
1
|
+
module ShellMock
|
10
2
|
|
11
|
-
|
3
|
+
# Raised when shell operations are invoked
|
4
|
+
class ShellNotAllowedError < StandardError
|
12
5
|
|
13
|
-
|
14
|
-
|
6
|
+
def initialize(command)
|
7
|
+
msg = "Shell operation is not allowed: #{command}\n\n"
|
8
|
+
msg << "You can stub this request with the following snippet:\n\n"
|
9
|
+
msg << "stub_shell(\"#{command}\", output: '', exitstatus: 0)\n "
|
10
|
+
super msg
|
11
|
+
end
|
15
12
|
|
16
|
-
def `(command)
|
17
|
-
raise ShellNotAllowedError, command
|
18
13
|
end
|
19
14
|
|
20
|
-
|
21
|
-
|
15
|
+
# Applies shell mock functionality
|
16
|
+
def self.apply!
|
17
|
+
Object.any_instance.stub(:`).and_return do |foo|
|
18
|
+
raise ShellNotAllowedError, foo
|
19
|
+
end
|
20
|
+
|
21
|
+
Object.any_instance.stub(:system).and_return do |command|
|
22
|
+
raise ShellNotAllowedError, command
|
23
|
+
end
|
22
24
|
end
|
23
25
|
|
26
|
+
end
|
27
|
+
|
28
|
+
class Object
|
29
|
+
|
24
30
|
# Stubs shell operations matching given command
|
25
31
|
#
|
26
32
|
# Options:
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Waddup::Source::AppleCalendar do
|
4
|
-
let(:from) {
|
5
|
-
let(:to) {
|
4
|
+
let(:from) { Date.new(2013, 10, 16) }
|
5
|
+
let(:to) { Date.new(2013, 10, 17) }
|
6
6
|
|
7
7
|
describe '#events' do
|
8
8
|
before do
|
9
|
-
subject.stub_shell "osascript -s s
|
10
|
-
:
|
9
|
+
subject.stub_shell "osascript -s s '#{described_class::EVENT_SCRIPT}' '16/10/2013 00:00' '17/10/2013 00:00'",
|
10
|
+
output: fixture('sources/apple_calendar.results')
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'aggregates events' do
|
@@ -27,7 +27,7 @@ describe Waddup::Source::AppleCalendar do
|
|
27
27
|
|
28
28
|
context 'when AppleScript is available' do
|
29
29
|
before do
|
30
|
-
described_class.stub_shell 'osalang 2>&1', :
|
30
|
+
described_class.stub_shell 'osalang 2>&1', output: 'AppleScript'
|
31
31
|
end
|
32
32
|
|
33
33
|
it { should be_usable }
|
@@ -35,7 +35,7 @@ describe Waddup::Source::AppleCalendar do
|
|
35
35
|
|
36
36
|
context 'when AppleScript is unavailable' do
|
37
37
|
before do
|
38
|
-
described_class.stub_shell 'osalang 2>&1', :
|
38
|
+
described_class.stub_shell 'osalang 2>&1', exitstatus: 1
|
39
39
|
end
|
40
40
|
|
41
41
|
it { should_not be_usable }
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Waddup::Source::AppleMail do
|
4
|
-
let(:from) {
|
5
|
-
let(:to) {
|
4
|
+
let(:from) { Date.new(2013, 10, 16) }
|
5
|
+
let(:to) { Date.new(2013, 10, 17) }
|
6
6
|
|
7
7
|
describe '#events' do
|
8
8
|
before do
|
9
|
-
subject.stub_shell "osascript -s s
|
10
|
-
:
|
9
|
+
subject.stub_shell "osascript -s s '#{described_class::SENT_MAIL_SCRIPT}' '16/10/2013 00:00' '17/10/2013 00:00'",
|
10
|
+
output: fixture('sources/apple_mail.results')
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'aggregates events' do
|
@@ -28,7 +28,7 @@ describe Waddup::Source::AppleMail do
|
|
28
28
|
|
29
29
|
context 'when AppleScript is available' do
|
30
30
|
before do
|
31
|
-
described_class.stub_shell 'osalang 2>&1', :
|
31
|
+
described_class.stub_shell 'osalang 2>&1', output: 'AppleScript'
|
32
32
|
end
|
33
33
|
|
34
34
|
it { should be_usable }
|
@@ -36,7 +36,7 @@ describe Waddup::Source::AppleMail do
|
|
36
36
|
|
37
37
|
context 'when AppleScript is unavailable' do
|
38
38
|
before do
|
39
|
-
described_class.stub_shell 'osalang 2>&1', :
|
39
|
+
described_class.stub_shell 'osalang 2>&1', exitstatus: 1
|
40
40
|
end
|
41
41
|
|
42
42
|
it { should_not be_usable }
|
@@ -3,8 +3,8 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Waddup::Source::Git do
|
6
|
-
let(:from) {
|
7
|
-
let(:to) {
|
6
|
+
let(:from) { Date.new(2013, 10, 16) }
|
7
|
+
let(:to) { Date.new(2013, 10, 17) }
|
8
8
|
|
9
9
|
describe '#author' do
|
10
10
|
it 'obtains author from git-config' do
|
@@ -44,8 +44,8 @@ describe Waddup::Source::Git do
|
|
44
44
|
|
45
45
|
describe '#events_for_repo' do
|
46
46
|
before do
|
47
|
-
subject.stub_shell "git --git-dir='/waddup/.git' log --author='John Doe' --since='2013-10-
|
48
|
-
:
|
47
|
+
subject.stub_shell "git --git-dir='/waddup/.git' log --all --no-merges --author='John Doe' --since='2013-10-16' --until='2013-10-17' --format='format:%h %ai %s'",
|
48
|
+
output: fixture('sources/git.log')
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'aggregates events for given repo' do
|
@@ -82,7 +82,7 @@ describe Waddup::Source::Git do
|
|
82
82
|
describe '::usable?' do
|
83
83
|
context 'when git is available' do
|
84
84
|
before do
|
85
|
-
described_class.stub_shell 'git --version 2>&1', :
|
85
|
+
described_class.stub_shell 'git --version 2>&1', exitstatus: 0
|
86
86
|
end
|
87
87
|
|
88
88
|
it { should be_usable }
|
@@ -90,7 +90,7 @@ describe Waddup::Source::Git do
|
|
90
90
|
|
91
91
|
context 'when git is unavailable' do
|
92
92
|
before do
|
93
|
-
described_class.stub_shell 'git --version 2>&1', :
|
93
|
+
described_class.stub_shell 'git --version 2>&1', exitstatus: 1
|
94
94
|
end
|
95
95
|
|
96
96
|
it { should_not be_usable }
|
data/waddup.gemspec
CHANGED
@@ -20,17 +20,15 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
21
|
s.require_paths = ['lib']
|
22
22
|
|
23
|
-
s.add_dependency 'chronic'
|
23
|
+
s.add_dependency 'chronic', '~> 0.10.2'
|
24
24
|
|
25
25
|
s.add_development_dependency 'rake'
|
26
26
|
s.add_development_dependency 'rspec'
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
s.add_development_dependency 'listen'
|
28
|
+
s.add_development_dependency 'guard'
|
29
|
+
s.add_development_dependency 'guard-rspec'
|
30
|
+
s.add_development_dependency 'listen'
|
32
31
|
|
33
|
-
|
34
|
-
|
35
|
-
end
|
32
|
+
s.add_development_dependency 'coveralls'
|
33
|
+
s.add_development_dependency 'simplecov'
|
36
34
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waddup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Kurvers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.10.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.10.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,11 +149,14 @@ files:
|
|
149
149
|
- lib/waddup/event.rb
|
150
150
|
- lib/waddup/extension.rb
|
151
151
|
- lib/waddup/extensions/applescript.rb
|
152
|
+
- lib/waddup/extensions/file_system.rb
|
152
153
|
- lib/waddup/extensions/system.rb
|
153
154
|
- lib/waddup/registry.rb
|
154
155
|
- lib/waddup/source.rb
|
155
156
|
- lib/waddup/sources/apple_calendar.rb
|
157
|
+
- lib/waddup/sources/apple_calender/events.applescript
|
156
158
|
- lib/waddup/sources/apple_mail.rb
|
159
|
+
- lib/waddup/sources/apple_mail/sent_mail.applescript
|
157
160
|
- lib/waddup/sources/git.rb
|
158
161
|
- lib/waddup/version.rb
|
159
162
|
- spec/fixtures/sources/apple_calendar.results
|