toggl-reports 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.document +5 -0
- data/.rspec +3 -0
- data/.watchr +104 -0
- data/Gemfile +18 -0
- data/Gemfile.lock +77 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/faraday.log +495 -0
- data/lib/toggl/exceptions.rb +3 -0
- data/lib/toggl/reports.rb +44 -0
- data/lib/toggl/reports/base.rb +64 -0
- data/lib/toggl/reports/connection.rb +28 -0
- data/lib/toggl/reports/daily.rb +11 -0
- data/lib/toggl/reports/summary.rb +11 -0
- data/lib/toggl/reports/weekly.rb +0 -0
- data/spec/spec_helper.rb +14 -0
- data/toggl-reports.gemspec +82 -0
- metadata +190 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YWQ1OWRiZjFkYWZmMGFkN2M5ODUzMmExOWMzMWZkM2I4NDc3NDM1Ng==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OTViZjc4NGI3M2ZhYzQ0ZWQ4ODhmOGQ0YTkxMzM3ZWQ3OTE5NDVmNg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZDQzYjcwNDVlZTM0MDhlMDhkZDgzZjViMGJiM2IzZWIwN2I5ZDVmYWMzOThl
|
10
|
+
N2UxZDdhNGFiNWY4NWE2NTI3OWNjZTRiM2MyYzRjNTY1NTNiNDVjZmZiNjYw
|
11
|
+
NWY4OWUzODY0MDUzOTMxZjczMGNiMWEyMjY5ZmE3MGUzYWE3NDE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZDYxYTFmMWM5ZjdjNjY3ZDJhMTJiNjRkOTQzZGU5NTBhMmE5ZmE3NTdiMzkz
|
14
|
+
N2QyMDUyZGE5ODk1NTI3NzBiZDFhMGY2ZjY2YmZjZGQ5OTA2ZmQ1NWZjMDYw
|
15
|
+
MTUzYTI3NzY4MDZiZGM5MTU1MWIwOTg5NmVkZWIyNWU2YTgyNDk=
|
data/.document
ADDED
data/.rspec
ADDED
data/.watchr
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
if __FILE__ == $0
|
3
|
+
puts "Run with: watchr #{__FILE__}. \n\nRequired gems: watchr rev"
|
4
|
+
exit 1
|
5
|
+
end
|
6
|
+
|
7
|
+
class Base
|
8
|
+
class << self
|
9
|
+
def run(cmd)
|
10
|
+
sleep(2)
|
11
|
+
puts("%s %s [%s]" % ["|\n" * 5 , cmd , Time.now.to_s])
|
12
|
+
$last_test = cmd
|
13
|
+
system(cmd)
|
14
|
+
end
|
15
|
+
|
16
|
+
def run_last_test
|
17
|
+
run($last_test)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class Specs < Base
|
24
|
+
class << self
|
25
|
+
def run_all_specs
|
26
|
+
tags = "--tag #{ARGV[1]}" if ARGV[1]
|
27
|
+
run "bundle exec rake -s spec SPEC_OPTS='--order rand #{tags.to_s}'"
|
28
|
+
end
|
29
|
+
|
30
|
+
def run_single_spec *spec
|
31
|
+
if ARGV[1].to_i > 0
|
32
|
+
tags = ''
|
33
|
+
spec = spec.first + ":#{ARGV[1]}"
|
34
|
+
else
|
35
|
+
tags = "--tag #{ARGV[1]}" if ARGV[1]
|
36
|
+
spec = spec.join(' ')
|
37
|
+
end
|
38
|
+
run "bundle exec rspec #{spec} --order rand #{tags}"
|
39
|
+
end
|
40
|
+
|
41
|
+
def rules(scope)
|
42
|
+
scope.watch( '^spec/.*_spec\.rb' ) { |m| run_single_spec(m[0] ) }
|
43
|
+
[
|
44
|
+
'^spec/spec_helper\.rb',
|
45
|
+
'^lib/.*\.rb',
|
46
|
+
].each do |regex|
|
47
|
+
scope.watch( regex ) { |m| run_last_test }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
class Cukes < Base
|
54
|
+
class << self
|
55
|
+
def run_cucumber_scenario scenario_path
|
56
|
+
if scenario_path !~ /.*\.feature$/
|
57
|
+
scenario_path = $last_scenario
|
58
|
+
end
|
59
|
+
$last_scenario = scenario_path
|
60
|
+
run "bundle exec script/cucumber #{scenario_path} --tags @dev"
|
61
|
+
end
|
62
|
+
|
63
|
+
def rules(scope)
|
64
|
+
scope.watch( '^features/.*\.feature' ) { |m| run_cucumber_scenario(m[0]) }
|
65
|
+
scope.watch( '^features/step_definitions/.*' ) { |m| run_last_test }
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
Specs.rules(self)
|
71
|
+
Cukes.rules(self)
|
72
|
+
|
73
|
+
# --------------------------------------------------
|
74
|
+
# Watchr Rules
|
75
|
+
# --------------------------------------------------
|
76
|
+
#watch( '^test_harness/.*' ) { |m| run_last_test }
|
77
|
+
#watch( '^app/(.*)\.rb' ) { |m| run_single_spec("spec/%s_spec.rb" % m[1]) }
|
78
|
+
#watch( '^app/views/(.*)\.haml' ) { |m| run_single_spec("spec/views/%s.haml_spec.rb" % m[1]) }
|
79
|
+
#watch( '^lib/(.*)\.rb' ) { |m| run_single_spec("spec/other/%s_spec.rb" % m[1] ) }
|
80
|
+
#watch( '^features/*/.*' ) { |m| run_cucumber_scenario(m[0]) }
|
81
|
+
#watch( '^test-harness/*/.*' ) { |m| run_cucumber_scenario(m[0]) }
|
82
|
+
#watch( '^algorithm/*/.*' ) { |m| run_last_test}
|
83
|
+
#watch( '^circuit/*/.*' ) { |m| run_last_test}
|
84
|
+
|
85
|
+
|
86
|
+
# --------------------------------------------------
|
87
|
+
# Signal Handling
|
88
|
+
# --------------------------------------------------
|
89
|
+
# Ctrl-\
|
90
|
+
Signal.trap('QUIT') do
|
91
|
+
puts " --- Running all tests ---\n\n"
|
92
|
+
run_all_specs
|
93
|
+
end
|
94
|
+
|
95
|
+
# Ctrl-T
|
96
|
+
Signal.trap('TSTP') do
|
97
|
+
puts " --- Running last test --\n\n"
|
98
|
+
run_cucumber_scenario nil
|
99
|
+
end
|
100
|
+
|
101
|
+
# Ctrl-C
|
102
|
+
Signal.trap('INT') { abort("\n") }
|
103
|
+
|
104
|
+
puts "Watching.."
|
data/Gemfile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
5
|
+
|
6
|
+
# Add dependencies to develop your gem here.
|
7
|
+
# Include everything needed to run rake, tests, features, etc.
|
8
|
+
group :development do
|
9
|
+
gem "rspec"
|
10
|
+
gem "rdoc"
|
11
|
+
gem "bundler"
|
12
|
+
gem "jeweler"
|
13
|
+
gem 'faraday', '~> 0.8.7'
|
14
|
+
gem 'json'
|
15
|
+
gem 'logger'
|
16
|
+
gem 'debugger'
|
17
|
+
gem 'awesome_print'
|
18
|
+
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
addressable (2.3.5)
|
5
|
+
awesome_print (1.1.0)
|
6
|
+
builder (3.2.2)
|
7
|
+
columnize (0.3.6)
|
8
|
+
debugger (1.6.4)
|
9
|
+
columnize (>= 0.3.1)
|
10
|
+
debugger-linecache (~> 1.2.0)
|
11
|
+
debugger-ruby_core_source (~> 1.3.0)
|
12
|
+
debugger-linecache (1.2.0)
|
13
|
+
debugger-ruby_core_source (1.3.0)
|
14
|
+
diff-lcs (1.2.5)
|
15
|
+
faraday (0.8.8)
|
16
|
+
multipart-post (~> 1.2.0)
|
17
|
+
git (1.2.6)
|
18
|
+
github_api (0.10.1)
|
19
|
+
addressable
|
20
|
+
faraday (~> 0.8.1)
|
21
|
+
hashie (>= 1.2)
|
22
|
+
multi_json (~> 1.4)
|
23
|
+
nokogiri (~> 1.5.2)
|
24
|
+
oauth2
|
25
|
+
hashie (2.0.5)
|
26
|
+
highline (1.6.20)
|
27
|
+
httpauth (0.2.0)
|
28
|
+
jeweler (1.8.8)
|
29
|
+
builder
|
30
|
+
bundler (~> 1.0)
|
31
|
+
git (>= 1.2.5)
|
32
|
+
github_api (= 0.10.1)
|
33
|
+
highline (>= 1.6.15)
|
34
|
+
nokogiri (= 1.5.10)
|
35
|
+
rake
|
36
|
+
rdoc
|
37
|
+
json (1.8.1)
|
38
|
+
jwt (0.1.8)
|
39
|
+
multi_json (>= 1.5)
|
40
|
+
logger (1.2.8)
|
41
|
+
multi_json (1.8.2)
|
42
|
+
multi_xml (0.5.5)
|
43
|
+
multipart-post (1.2.0)
|
44
|
+
nokogiri (1.5.10)
|
45
|
+
oauth2 (0.9.2)
|
46
|
+
faraday (~> 0.8)
|
47
|
+
httpauth (~> 0.2)
|
48
|
+
jwt (~> 0.1.4)
|
49
|
+
multi_json (~> 1.0)
|
50
|
+
multi_xml (~> 0.5)
|
51
|
+
rack (~> 1.2)
|
52
|
+
rack (1.5.2)
|
53
|
+
rake (10.1.1)
|
54
|
+
rdoc (4.1.0)
|
55
|
+
json (~> 1.4)
|
56
|
+
rspec (2.14.1)
|
57
|
+
rspec-core (~> 2.14.0)
|
58
|
+
rspec-expectations (~> 2.14.0)
|
59
|
+
rspec-mocks (~> 2.14.0)
|
60
|
+
rspec-core (2.14.7)
|
61
|
+
rspec-expectations (2.14.4)
|
62
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
63
|
+
rspec-mocks (2.14.4)
|
64
|
+
|
65
|
+
PLATFORMS
|
66
|
+
ruby
|
67
|
+
|
68
|
+
DEPENDENCIES
|
69
|
+
awesome_print
|
70
|
+
bundler
|
71
|
+
debugger
|
72
|
+
faraday (~> 0.8.7)
|
73
|
+
jeweler
|
74
|
+
json
|
75
|
+
logger
|
76
|
+
rdoc
|
77
|
+
rspec
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2014 Maher Hawash
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
= toggl-reports
|
2
|
+
|
3
|
+
Description goes here.
|
4
|
+
|
5
|
+
== Contributing to toggl-reports
|
6
|
+
|
7
|
+
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
8
|
+
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
9
|
+
* Fork the project.
|
10
|
+
* Start a feature/bugfix branch.
|
11
|
+
* Commit and push until you are happy with your contribution.
|
12
|
+
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
|
+
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
14
|
+
|
15
|
+
== Copyright
|
16
|
+
|
17
|
+
Copyright (c) 2014 Maher Hawash. See LICENSE.txt for
|
18
|
+
further details.
|
19
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
require 'rake'
|
13
|
+
|
14
|
+
require 'jeweler'
|
15
|
+
Jeweler::Tasks.new do |gem|
|
16
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
+
gem.name = "toggl-reports"
|
18
|
+
gem.homepage = "http://github.com/gmhawash/toggl-reports"
|
19
|
+
gem.license = "MIT"
|
20
|
+
gem.summary = %Q{Implements Toggl reports api}
|
21
|
+
gem.description = %Q{Implements Toggl reports api}
|
22
|
+
gem.email = "gmhawash@gmail.com"
|
23
|
+
gem.authors = ["Maher Hawash"]
|
24
|
+
# dependencies defined in Gemfile
|
25
|
+
end
|
26
|
+
Jeweler::RubygemsDotOrgTasks.new
|
27
|
+
|
28
|
+
require 'rspec/core'
|
29
|
+
require 'rspec/core/rake_task'
|
30
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
|
+
end
|
33
|
+
|
34
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
35
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
36
|
+
spec.rcov = true
|
37
|
+
end
|
38
|
+
|
39
|
+
task :default => :spec
|
40
|
+
|
41
|
+
require 'rdoc/task'
|
42
|
+
Rake::RDocTask.new do |rdoc|
|
43
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
44
|
+
|
45
|
+
rdoc.rdoc_dir = 'rdoc'
|
46
|
+
rdoc.title = "toggl-reports #{version}"
|
47
|
+
rdoc.rdoc_files.include('README*')
|
48
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
49
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
data/faraday.log
ADDED
@@ -0,0 +1,495 @@
|
|
1
|
+
# Logfile created on 2014-01-01 08:54:14 -0800 by logger.rb/1.2.8
|
2
|
+
I, [2014-01-01T08:54:15.688312 #63913] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports
|
3
|
+
D, [2014-01-01T08:54:15.688418 #63913] DEBUG -- request: Content-Type: "application/json"
|
4
|
+
User-Agent: "Faraday v0.8.8"
|
5
|
+
I, [2014-01-01T08:54:15.688462 #63913] INFO -- Status: 401
|
6
|
+
D, [2014-01-01T08:54:15.688497 #63913] DEBUG -- response: server: "nginx/1.4.4"
|
7
|
+
date: "Wed, 01 Jan 2014 16:54:15 GMT"
|
8
|
+
content-type: "application/json"
|
9
|
+
content-length: "129"
|
10
|
+
connection: "close"
|
11
|
+
I, [2014-01-01T09:00:46.218672 #64172] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports
|
12
|
+
D, [2014-01-01T09:00:46.219318 #64172] DEBUG -- request: Content-Type: "application/json"
|
13
|
+
User-Agent: "Faraday v0.8.8"
|
14
|
+
I, [2014-01-01T09:00:46.219411 #64172] INFO -- Status: 401
|
15
|
+
D, [2014-01-01T09:00:46.219478 #64172] DEBUG -- response: server: "nginx/1.4.4"
|
16
|
+
date: "Wed, 01 Jan 2014 17:00:46 GMT"
|
17
|
+
content-type: "application/json"
|
18
|
+
content-length: "129"
|
19
|
+
connection: "close"
|
20
|
+
I, [2014-01-01T09:03:37.147084 #64385] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports
|
21
|
+
D, [2014-01-01T09:03:37.147611 #64385] DEBUG -- request: Content-Type: "application/json"
|
22
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
23
|
+
User-Agent: "Faraday v0.8.8"
|
24
|
+
I, [2014-01-01T09:03:37.147737 #64385] INFO -- Status: 200
|
25
|
+
D, [2014-01-01T09:03:37.147887 #64385] DEBUG -- response: server: "nginx/1.4.4"
|
26
|
+
date: "Wed, 01 Jan 2014 17:03:36 GMT"
|
27
|
+
content-type: "application/json"
|
28
|
+
transfer-encoding: "chunked"
|
29
|
+
connection: "close"
|
30
|
+
vary: "Accept-Encoding"
|
31
|
+
access-control-allow-methods: "GET, OPTIONS"
|
32
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
33
|
+
access-control-allow-credentials: "true"
|
34
|
+
I, [2014-01-01T09:04:08.052812 #64402] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports
|
35
|
+
D, [2014-01-01T09:04:08.057794 #64402] DEBUG -- request: Content-Type: "application/json"
|
36
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
37
|
+
User-Agent: "Faraday v0.8.8"
|
38
|
+
I, [2014-01-01T09:04:08.058388 #64402] INFO -- Status: 200
|
39
|
+
D, [2014-01-01T09:04:08.058488 #64402] DEBUG -- response: server: "nginx/1.4.4"
|
40
|
+
date: "Wed, 01 Jan 2014 17:04:07 GMT"
|
41
|
+
content-type: "application/json"
|
42
|
+
transfer-encoding: "chunked"
|
43
|
+
connection: "close"
|
44
|
+
vary: "Accept-Encoding"
|
45
|
+
access-control-allow-methods: "GET, OPTIONS"
|
46
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
47
|
+
access-control-allow-credentials: "true"
|
48
|
+
I, [2014-01-01T09:04:26.412136 #64413] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports
|
49
|
+
D, [2014-01-01T09:04:26.412814 #64413] DEBUG -- request: Content-Type: "application/json"
|
50
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
51
|
+
User-Agent: "Faraday v0.8.8"
|
52
|
+
I, [2014-01-01T09:04:26.412908 #64413] INFO -- Status: 200
|
53
|
+
D, [2014-01-01T09:04:26.413009 #64413] DEBUG -- response: server: "nginx/1.4.4"
|
54
|
+
date: "Wed, 01 Jan 2014 17:04:26 GMT"
|
55
|
+
content-type: "application/json"
|
56
|
+
transfer-encoding: "chunked"
|
57
|
+
connection: "close"
|
58
|
+
vary: "Accept-Encoding"
|
59
|
+
access-control-allow-methods: "GET, OPTIONS"
|
60
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
61
|
+
access-control-allow-credentials: "true"
|
62
|
+
I, [2014-01-01T09:05:43.634586 #64444] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since&until
|
63
|
+
D, [2014-01-01T09:05:43.635525 #64444] DEBUG -- request: Content-Type: "application/json"
|
64
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
65
|
+
User-Agent: "Faraday v0.8.8"
|
66
|
+
I, [2014-01-01T09:05:43.635633 #64444] INFO -- Status: 200
|
67
|
+
D, [2014-01-01T09:05:43.635722 #64444] DEBUG -- response: server: "nginx/1.4.4"
|
68
|
+
date: "Wed, 01 Jan 2014 17:05:43 GMT"
|
69
|
+
content-type: "application/json"
|
70
|
+
transfer-encoding: "chunked"
|
71
|
+
connection: "close"
|
72
|
+
vary: "Accept-Encoding"
|
73
|
+
access-control-allow-methods: "GET, OPTIONS"
|
74
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
75
|
+
access-control-allow-credentials: "true"
|
76
|
+
I, [2014-01-01T09:07:50.427194 #64502] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
77
|
+
D, [2014-01-01T09:07:50.428227 #64502] DEBUG -- request: Content-Type: "application/json"
|
78
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
79
|
+
User-Agent: "Faraday v0.8.8"
|
80
|
+
I, [2014-01-01T09:07:50.428359 #64502] INFO -- Status: 200
|
81
|
+
D, [2014-01-01T09:07:50.428522 #64502] DEBUG -- response: server: "nginx/1.4.4"
|
82
|
+
date: "Wed, 01 Jan 2014 17:07:50 GMT"
|
83
|
+
content-type: "application/json"
|
84
|
+
transfer-encoding: "chunked"
|
85
|
+
connection: "close"
|
86
|
+
vary: "Accept-Encoding"
|
87
|
+
access-control-allow-methods: "GET, OPTIONS"
|
88
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
89
|
+
access-control-allow-credentials: "true"
|
90
|
+
I, [2014-01-01T09:08:23.960503 #64518] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
91
|
+
D, [2014-01-01T09:08:23.960945 #64518] DEBUG -- request: Content-Type: "application/json"
|
92
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
93
|
+
User-Agent: "Faraday v0.8.8"
|
94
|
+
I, [2014-01-01T09:08:23.961004 #64518] INFO -- Status: 200
|
95
|
+
D, [2014-01-01T09:08:23.961063 #64518] DEBUG -- response: server: "nginx/1.4.4"
|
96
|
+
date: "Wed, 01 Jan 2014 17:08:23 GMT"
|
97
|
+
content-type: "application/json"
|
98
|
+
transfer-encoding: "chunked"
|
99
|
+
connection: "close"
|
100
|
+
vary: "Accept-Encoding"
|
101
|
+
access-control-allow-methods: "GET, OPTIONS"
|
102
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
103
|
+
access-control-allow-credentials: "true"
|
104
|
+
I, [2014-01-01T09:08:39.787497 #64530] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
105
|
+
D, [2014-01-01T09:08:39.788487 #64530] DEBUG -- request: Content-Type: "application/json"
|
106
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
107
|
+
User-Agent: "Faraday v0.8.8"
|
108
|
+
I, [2014-01-01T09:08:39.788578 #64530] INFO -- Status: 200
|
109
|
+
D, [2014-01-01T09:08:39.788669 #64530] DEBUG -- response: server: "nginx/1.4.4"
|
110
|
+
date: "Wed, 01 Jan 2014 17:08:39 GMT"
|
111
|
+
content-type: "application/json"
|
112
|
+
transfer-encoding: "chunked"
|
113
|
+
connection: "close"
|
114
|
+
vary: "Accept-Encoding"
|
115
|
+
access-control-allow-methods: "GET, OPTIONS"
|
116
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
117
|
+
access-control-allow-credentials: "true"
|
118
|
+
I, [2014-01-01T09:08:49.066907 #64537] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
119
|
+
D, [2014-01-01T09:08:49.067348 #64537] DEBUG -- request: Content-Type: "application/json"
|
120
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
121
|
+
User-Agent: "Faraday v0.8.8"
|
122
|
+
I, [2014-01-01T09:08:49.067437 #64537] INFO -- Status: 200
|
123
|
+
D, [2014-01-01T09:08:49.067531 #64537] DEBUG -- response: server: "nginx/1.4.4"
|
124
|
+
date: "Wed, 01 Jan 2014 17:08:48 GMT"
|
125
|
+
content-type: "application/json"
|
126
|
+
transfer-encoding: "chunked"
|
127
|
+
connection: "close"
|
128
|
+
vary: "Accept-Encoding"
|
129
|
+
access-control-allow-methods: "GET, OPTIONS"
|
130
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
131
|
+
access-control-allow-credentials: "true"
|
132
|
+
I, [2014-01-01T09:09:34.215767 #64595] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
133
|
+
D, [2014-01-01T09:09:34.216475 #64595] DEBUG -- request: Content-Type: "application/json"
|
134
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
135
|
+
User-Agent: "Faraday v0.8.8"
|
136
|
+
I, [2014-01-01T09:09:34.216663 #64595] INFO -- Status: 200
|
137
|
+
D, [2014-01-01T09:09:34.216877 #64595] DEBUG -- response: server: "nginx/1.4.4"
|
138
|
+
date: "Wed, 01 Jan 2014 17:09:34 GMT"
|
139
|
+
content-type: "application/json"
|
140
|
+
transfer-encoding: "chunked"
|
141
|
+
connection: "close"
|
142
|
+
vary: "Accept-Encoding"
|
143
|
+
access-control-allow-methods: "GET, OPTIONS"
|
144
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
145
|
+
access-control-allow-credentials: "true"
|
146
|
+
I, [2014-01-01T09:56:18.768167 #65862] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
147
|
+
D, [2014-01-01T09:56:18.768640 #65862] DEBUG -- request: Content-Type: "application/json"
|
148
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
149
|
+
User-Agent: "Faraday v0.8.8"
|
150
|
+
I, [2014-01-01T09:56:18.768726 #65862] INFO -- Status: 200
|
151
|
+
D, [2014-01-01T09:56:18.768818 #65862] DEBUG -- response: server: "nginx/1.4.4"
|
152
|
+
date: "Wed, 01 Jan 2014 17:56:18 GMT"
|
153
|
+
content-type: "application/json"
|
154
|
+
transfer-encoding: "chunked"
|
155
|
+
connection: "close"
|
156
|
+
vary: "Accept-Encoding"
|
157
|
+
access-control-allow-methods: "GET, OPTIONS"
|
158
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
159
|
+
access-control-allow-credentials: "true"
|
160
|
+
I, [2014-01-01T09:56:43.533789 #65886] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
161
|
+
D, [2014-01-01T09:56:43.534410 #65886] DEBUG -- request: Content-Type: "application/json"
|
162
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
163
|
+
User-Agent: "Faraday v0.8.8"
|
164
|
+
I, [2014-01-01T09:56:43.534563 #65886] INFO -- Status: 200
|
165
|
+
D, [2014-01-01T09:56:43.534733 #65886] DEBUG -- response: server: "nginx/1.4.4"
|
166
|
+
date: "Wed, 01 Jan 2014 17:56:43 GMT"
|
167
|
+
content-type: "application/json"
|
168
|
+
transfer-encoding: "chunked"
|
169
|
+
connection: "close"
|
170
|
+
vary: "Accept-Encoding"
|
171
|
+
access-control-allow-methods: "GET, OPTIONS"
|
172
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
173
|
+
access-control-allow-credentials: "true"
|
174
|
+
I, [2014-01-01T09:58:02.580133 #65928] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
175
|
+
D, [2014-01-01T09:58:02.581133 #65928] DEBUG -- request: Content-Type: "application/json"
|
176
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
177
|
+
User-Agent: "Faraday v0.8.8"
|
178
|
+
I, [2014-01-01T09:58:02.581289 #65928] INFO -- Status: 200
|
179
|
+
D, [2014-01-01T09:58:02.581517 #65928] DEBUG -- response: server: "nginx/1.4.4"
|
180
|
+
date: "Wed, 01 Jan 2014 17:58:02 GMT"
|
181
|
+
content-type: "application/json"
|
182
|
+
transfer-encoding: "chunked"
|
183
|
+
connection: "close"
|
184
|
+
vary: "Accept-Encoding"
|
185
|
+
access-control-allow-methods: "GET, OPTIONS"
|
186
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
187
|
+
access-control-allow-credentials: "true"
|
188
|
+
I, [2014-01-01T09:58:20.549929 #65928] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
189
|
+
D, [2014-01-01T09:58:20.550987 #65928] DEBUG -- request: Content-Type: "application/json"
|
190
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
191
|
+
User-Agent: "Faraday v0.8.8"
|
192
|
+
I, [2014-01-01T09:58:20.551125 #65928] INFO -- Status: 200
|
193
|
+
D, [2014-01-01T09:58:20.551254 #65928] DEBUG -- response: server: "nginx/1.4.4"
|
194
|
+
date: "Wed, 01 Jan 2014 17:58:20 GMT"
|
195
|
+
content-type: "application/json"
|
196
|
+
transfer-encoding: "chunked"
|
197
|
+
connection: "close"
|
198
|
+
vary: "Accept-Encoding"
|
199
|
+
access-control-allow-methods: "GET, OPTIONS"
|
200
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
201
|
+
access-control-allow-credentials: "true"
|
202
|
+
I, [2014-01-01T09:58:43.121888 #65958] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
203
|
+
D, [2014-01-01T09:58:43.122209 #65958] DEBUG -- request: Content-Type: "application/json"
|
204
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
205
|
+
User-Agent: "Faraday v0.8.8"
|
206
|
+
I, [2014-01-01T09:58:43.122392 #65958] INFO -- Status: 200
|
207
|
+
D, [2014-01-01T09:58:43.122611 #65958] DEBUG -- response: server: "nginx/1.4.4"
|
208
|
+
date: "Wed, 01 Jan 2014 17:58:42 GMT"
|
209
|
+
content-type: "application/json"
|
210
|
+
transfer-encoding: "chunked"
|
211
|
+
connection: "close"
|
212
|
+
vary: "Accept-Encoding"
|
213
|
+
access-control-allow-methods: "GET, OPTIONS"
|
214
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
215
|
+
access-control-allow-credentials: "true"
|
216
|
+
I, [2014-01-01T09:59:07.383067 #65980] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
217
|
+
D, [2014-01-01T09:59:07.384323 #65980] DEBUG -- request: Content-Type: "application/json"
|
218
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
219
|
+
User-Agent: "Faraday v0.8.8"
|
220
|
+
I, [2014-01-01T09:59:07.384509 #65980] INFO -- Status: 200
|
221
|
+
D, [2014-01-01T09:59:07.384676 #65980] DEBUG -- response: server: "nginx/1.4.4"
|
222
|
+
date: "Wed, 01 Jan 2014 17:59:07 GMT"
|
223
|
+
content-type: "application/json"
|
224
|
+
transfer-encoding: "chunked"
|
225
|
+
connection: "close"
|
226
|
+
vary: "Accept-Encoding"
|
227
|
+
access-control-allow-methods: "GET, OPTIONS"
|
228
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
229
|
+
access-control-allow-credentials: "true"
|
230
|
+
I, [2014-01-01T10:00:11.127331 #66032] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
231
|
+
D, [2014-01-01T10:00:11.128320 #66032] DEBUG -- request: Content-Type: "application/json"
|
232
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
233
|
+
User-Agent: "Faraday v0.8.8"
|
234
|
+
I, [2014-01-01T10:00:11.128465 #66032] INFO -- Status: 200
|
235
|
+
D, [2014-01-01T10:00:11.128613 #66032] DEBUG -- response: server: "nginx/1.4.4"
|
236
|
+
date: "Wed, 01 Jan 2014 18:00:10 GMT"
|
237
|
+
content-type: "application/json"
|
238
|
+
transfer-encoding: "chunked"
|
239
|
+
connection: "close"
|
240
|
+
vary: "Accept-Encoding"
|
241
|
+
access-control-allow-methods: "GET, OPTIONS"
|
242
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
243
|
+
access-control-allow-credentials: "true"
|
244
|
+
I, [2014-01-01T10:01:12.088846 #66071] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
245
|
+
D, [2014-01-01T10:01:12.089963 #66071] DEBUG -- request: Content-Type: "application/json"
|
246
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
247
|
+
User-Agent: "Faraday v0.8.8"
|
248
|
+
I, [2014-01-01T10:01:12.090108 #66071] INFO -- Status: 200
|
249
|
+
D, [2014-01-01T10:01:12.090256 #66071] DEBUG -- response: server: "nginx/1.4.4"
|
250
|
+
date: "Wed, 01 Jan 2014 18:01:11 GMT"
|
251
|
+
content-type: "application/json"
|
252
|
+
transfer-encoding: "chunked"
|
253
|
+
connection: "close"
|
254
|
+
vary: "Accept-Encoding"
|
255
|
+
access-control-allow-methods: "GET, OPTIONS"
|
256
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
257
|
+
access-control-allow-credentials: "true"
|
258
|
+
I, [2014-01-01T10:01:19.797455 #66088] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
259
|
+
D, [2014-01-01T10:01:19.798573 #66088] DEBUG -- request: Content-Type: "application/json"
|
260
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
261
|
+
User-Agent: "Faraday v0.8.8"
|
262
|
+
I, [2014-01-01T10:01:19.798715 #66088] INFO -- Status: 200
|
263
|
+
D, [2014-01-01T10:01:19.798862 #66088] DEBUG -- response: server: "nginx/1.4.4"
|
264
|
+
date: "Wed, 01 Jan 2014 18:01:19 GMT"
|
265
|
+
content-type: "application/json"
|
266
|
+
transfer-encoding: "chunked"
|
267
|
+
connection: "close"
|
268
|
+
vary: "Accept-Encoding"
|
269
|
+
access-control-allow-methods: "GET, OPTIONS"
|
270
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
271
|
+
access-control-allow-credentials: "true"
|
272
|
+
I, [2014-01-01T10:01:52.155527 #66113] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
273
|
+
D, [2014-01-01T10:01:52.156761 #66113] DEBUG -- request: Content-Type: "application/json"
|
274
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
275
|
+
User-Agent: "Faraday v0.8.8"
|
276
|
+
I, [2014-01-01T10:01:52.156940 #66113] INFO -- Status: 200
|
277
|
+
D, [2014-01-01T10:01:52.157093 #66113] DEBUG -- response: server: "nginx/1.4.4"
|
278
|
+
date: "Wed, 01 Jan 2014 18:01:52 GMT"
|
279
|
+
content-type: "application/json"
|
280
|
+
transfer-encoding: "chunked"
|
281
|
+
connection: "close"
|
282
|
+
vary: "Accept-Encoding"
|
283
|
+
access-control-allow-methods: "GET, OPTIONS"
|
284
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
285
|
+
access-control-allow-credentials: "true"
|
286
|
+
I, [2014-01-01T10:02:25.185358 #66141] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
287
|
+
D, [2014-01-01T10:02:25.186395 #66141] DEBUG -- request: Content-Type: "application/json"
|
288
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
289
|
+
User-Agent: "Faraday v0.8.8"
|
290
|
+
I, [2014-01-01T10:02:25.186544 #66141] INFO -- Status: 200
|
291
|
+
D, [2014-01-01T10:02:25.186693 #66141] DEBUG -- response: server: "nginx/1.4.4"
|
292
|
+
date: "Wed, 01 Jan 2014 18:02:25 GMT"
|
293
|
+
content-type: "application/json"
|
294
|
+
transfer-encoding: "chunked"
|
295
|
+
connection: "close"
|
296
|
+
vary: "Accept-Encoding"
|
297
|
+
access-control-allow-methods: "GET, OPTIONS"
|
298
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
299
|
+
access-control-allow-credentials: "true"
|
300
|
+
I, [2014-01-01T10:05:43.689519 #66243] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
301
|
+
D, [2014-01-01T10:05:43.690112 #66243] DEBUG -- request: Content-Type: "application/json"
|
302
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
303
|
+
User-Agent: "Faraday v0.8.8"
|
304
|
+
I, [2014-01-01T10:05:43.690248 #66243] INFO -- Status: 200
|
305
|
+
D, [2014-01-01T10:05:43.690399 #66243] DEBUG -- response: server: "nginx/1.4.4"
|
306
|
+
date: "Wed, 01 Jan 2014 18:05:43 GMT"
|
307
|
+
content-type: "application/json"
|
308
|
+
transfer-encoding: "chunked"
|
309
|
+
connection: "close"
|
310
|
+
vary: "Accept-Encoding"
|
311
|
+
access-control-allow-methods: "GET, OPTIONS"
|
312
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
313
|
+
access-control-allow-credentials: "true"
|
314
|
+
I, [2014-01-01T10:06:19.707586 #66271] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
315
|
+
D, [2014-01-01T10:06:19.708142 #66271] DEBUG -- request: Content-Type: "application/json"
|
316
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
317
|
+
User-Agent: "Faraday v0.8.8"
|
318
|
+
I, [2014-01-01T10:06:19.708276 #66271] INFO -- Status: 200
|
319
|
+
D, [2014-01-01T10:06:19.708425 #66271] DEBUG -- response: server: "nginx/1.4.4"
|
320
|
+
date: "Wed, 01 Jan 2014 18:06:19 GMT"
|
321
|
+
content-type: "application/json"
|
322
|
+
transfer-encoding: "chunked"
|
323
|
+
connection: "close"
|
324
|
+
vary: "Accept-Encoding"
|
325
|
+
access-control-allow-methods: "GET, OPTIONS"
|
326
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
327
|
+
access-control-allow-credentials: "true"
|
328
|
+
I, [2014-01-01T10:06:38.064917 #66291] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
329
|
+
D, [2014-01-01T10:06:38.065660 #66291] DEBUG -- request: Content-Type: "application/json"
|
330
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
331
|
+
User-Agent: "Faraday v0.8.8"
|
332
|
+
I, [2014-01-01T10:06:38.065830 #66291] INFO -- Status: 200
|
333
|
+
D, [2014-01-01T10:06:38.065975 #66291] DEBUG -- response: server: "nginx/1.4.4"
|
334
|
+
date: "Wed, 01 Jan 2014 18:06:37 GMT"
|
335
|
+
content-type: "application/json"
|
336
|
+
transfer-encoding: "chunked"
|
337
|
+
connection: "close"
|
338
|
+
vary: "Accept-Encoding"
|
339
|
+
access-control-allow-methods: "GET, OPTIONS"
|
340
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
341
|
+
access-control-allow-credentials: "true"
|
342
|
+
I, [2014-01-01T10:06:51.180635 #66309] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
343
|
+
D, [2014-01-01T10:06:51.181940 #66309] DEBUG -- request: Content-Type: "application/json"
|
344
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
345
|
+
User-Agent: "Faraday v0.8.8"
|
346
|
+
I, [2014-01-01T10:06:51.182182 #66309] INFO -- Status: 200
|
347
|
+
D, [2014-01-01T10:06:51.182392 #66309] DEBUG -- response: server: "nginx/1.4.4"
|
348
|
+
date: "Wed, 01 Jan 2014 18:06:51 GMT"
|
349
|
+
content-type: "application/json"
|
350
|
+
transfer-encoding: "chunked"
|
351
|
+
connection: "close"
|
352
|
+
vary: "Accept-Encoding"
|
353
|
+
access-control-allow-methods: "GET, OPTIONS"
|
354
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
355
|
+
access-control-allow-credentials: "true"
|
356
|
+
I, [2014-01-01T10:06:59.250111 #66325] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
357
|
+
D, [2014-01-01T10:06:59.250750 #66325] DEBUG -- request: Content-Type: "application/json"
|
358
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
359
|
+
User-Agent: "Faraday v0.8.8"
|
360
|
+
I, [2014-01-01T10:06:59.250904 #66325] INFO -- Status: 200
|
361
|
+
D, [2014-01-01T10:06:59.251058 #66325] DEBUG -- response: server: "nginx/1.4.4"
|
362
|
+
date: "Wed, 01 Jan 2014 18:06:59 GMT"
|
363
|
+
content-type: "application/json"
|
364
|
+
transfer-encoding: "chunked"
|
365
|
+
connection: "close"
|
366
|
+
vary: "Accept-Encoding"
|
367
|
+
access-control-allow-methods: "GET, OPTIONS"
|
368
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
369
|
+
access-control-allow-credentials: "true"
|
370
|
+
I, [2014-01-01T10:10:12.722594 #66443] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
371
|
+
D, [2014-01-01T10:10:12.723596 #66443] DEBUG -- request: Content-Type: "application/json"
|
372
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
373
|
+
User-Agent: "Faraday v0.8.8"
|
374
|
+
I, [2014-01-01T10:10:12.723773 #66443] INFO -- Status: 200
|
375
|
+
D, [2014-01-01T10:10:12.723929 #66443] DEBUG -- response: server: "nginx/1.4.4"
|
376
|
+
date: "Wed, 01 Jan 2014 18:10:12 GMT"
|
377
|
+
content-type: "application/json"
|
378
|
+
transfer-encoding: "chunked"
|
379
|
+
connection: "close"
|
380
|
+
vary: "Accept-Encoding"
|
381
|
+
access-control-allow-methods: "GET, OPTIONS"
|
382
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
383
|
+
access-control-allow-credentials: "true"
|
384
|
+
I, [2014-01-01T10:12:41.262277 #66561] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
385
|
+
D, [2014-01-01T10:12:41.263401 #66561] DEBUG -- request: Content-Type: "application/json"
|
386
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
387
|
+
User-Agent: "Faraday v0.8.8"
|
388
|
+
I, [2014-01-01T10:12:41.263604 #66561] INFO -- Status: 200
|
389
|
+
D, [2014-01-01T10:12:41.263808 #66561] DEBUG -- response: server: "nginx/1.4.4"
|
390
|
+
date: "Wed, 01 Jan 2014 18:12:41 GMT"
|
391
|
+
content-type: "application/json"
|
392
|
+
transfer-encoding: "chunked"
|
393
|
+
connection: "close"
|
394
|
+
vary: "Accept-Encoding"
|
395
|
+
access-control-allow-methods: "GET, OPTIONS"
|
396
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
397
|
+
access-control-allow-credentials: "true"
|
398
|
+
I, [2014-01-01T10:12:50.587300 #66579] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
399
|
+
D, [2014-01-01T10:12:50.587596 #66579] DEBUG -- request: Content-Type: "application/json"
|
400
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
401
|
+
User-Agent: "Faraday v0.8.8"
|
402
|
+
I, [2014-01-01T10:12:50.587724 #66579] INFO -- Status: 200
|
403
|
+
D, [2014-01-01T10:12:50.587875 #66579] DEBUG -- response: server: "nginx/1.4.4"
|
404
|
+
date: "Wed, 01 Jan 2014 18:12:50 GMT"
|
405
|
+
content-type: "application/json"
|
406
|
+
transfer-encoding: "chunked"
|
407
|
+
connection: "close"
|
408
|
+
vary: "Accept-Encoding"
|
409
|
+
access-control-allow-methods: "GET, OPTIONS"
|
410
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
411
|
+
access-control-allow-credentials: "true"
|
412
|
+
I, [2014-01-01T10:13:05.851889 #66598] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
413
|
+
D, [2014-01-01T10:13:05.852982 #66598] DEBUG -- request: Content-Type: "application/json"
|
414
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
415
|
+
User-Agent: "Faraday v0.8.8"
|
416
|
+
I, [2014-01-01T10:13:05.853152 #66598] INFO -- Status: 200
|
417
|
+
D, [2014-01-01T10:13:05.853301 #66598] DEBUG -- response: server: "nginx/1.4.4"
|
418
|
+
date: "Wed, 01 Jan 2014 18:13:05 GMT"
|
419
|
+
content-type: "application/json"
|
420
|
+
transfer-encoding: "chunked"
|
421
|
+
connection: "close"
|
422
|
+
vary: "Accept-Encoding"
|
423
|
+
access-control-allow-methods: "GET, OPTIONS"
|
424
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
425
|
+
access-control-allow-credentials: "true"
|
426
|
+
I, [2014-01-01T10:13:23.828514 #66618] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
427
|
+
D, [2014-01-01T10:13:23.829685 #66618] DEBUG -- request: Content-Type: "application/json"
|
428
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
429
|
+
User-Agent: "Faraday v0.8.8"
|
430
|
+
I, [2014-01-01T10:13:23.829825 #66618] INFO -- Status: 200
|
431
|
+
D, [2014-01-01T10:13:23.829981 #66618] DEBUG -- response: server: "nginx/1.4.4"
|
432
|
+
date: "Wed, 01 Jan 2014 18:13:23 GMT"
|
433
|
+
content-type: "application/json"
|
434
|
+
transfer-encoding: "chunked"
|
435
|
+
connection: "close"
|
436
|
+
vary: "Accept-Encoding"
|
437
|
+
access-control-allow-methods: "GET, OPTIONS"
|
438
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
439
|
+
access-control-allow-credentials: "true"
|
440
|
+
I, [2014-01-01T10:54:14.638248 #68980] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
441
|
+
D, [2014-01-01T10:54:14.639312 #68980] DEBUG -- request: Content-Type: "application/json"
|
442
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
443
|
+
User-Agent: "Faraday v0.8.8"
|
444
|
+
I, [2014-01-01T10:54:14.639404 #68980] INFO -- Status: 200
|
445
|
+
D, [2014-01-01T10:54:14.639489 #68980] DEBUG -- response: server: "nginx/1.4.4"
|
446
|
+
date: "Wed, 01 Jan 2014 18:54:14 GMT"
|
447
|
+
content-type: "application/json"
|
448
|
+
transfer-encoding: "chunked"
|
449
|
+
connection: "close"
|
450
|
+
vary: "Accept-Encoding"
|
451
|
+
access-control-allow-methods: "GET, OPTIONS"
|
452
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
453
|
+
access-control-allow-credentials: "true"
|
454
|
+
I, [2014-01-01T10:54:45.987666 #69009] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
455
|
+
D, [2014-01-01T10:54:45.988583 #69009] DEBUG -- request: Content-Type: "application/json"
|
456
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
457
|
+
User-Agent: "Faraday v0.8.8"
|
458
|
+
I, [2014-01-01T10:54:45.988677 #69009] INFO -- Status: 200
|
459
|
+
D, [2014-01-01T10:54:45.988810 #69009] DEBUG -- response: server: "nginx/1.4.4"
|
460
|
+
date: "Wed, 01 Jan 2014 18:54:45 GMT"
|
461
|
+
content-type: "application/json"
|
462
|
+
transfer-encoding: "chunked"
|
463
|
+
connection: "close"
|
464
|
+
vary: "Accept-Encoding"
|
465
|
+
access-control-allow-methods: "GET, OPTIONS"
|
466
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
467
|
+
access-control-allow-credentials: "true"
|
468
|
+
I, [2014-01-01T10:54:57.542149 #69028] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
469
|
+
D, [2014-01-01T10:54:57.543106 #69028] DEBUG -- request: Content-Type: "application/json"
|
470
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
471
|
+
User-Agent: "Faraday v0.8.8"
|
472
|
+
I, [2014-01-01T10:54:57.543216 #69028] INFO -- Status: 200
|
473
|
+
D, [2014-01-01T10:54:57.543374 #69028] DEBUG -- response: server: "nginx/1.4.4"
|
474
|
+
date: "Wed, 01 Jan 2014 18:54:57 GMT"
|
475
|
+
content-type: "application/json"
|
476
|
+
transfer-encoding: "chunked"
|
477
|
+
connection: "close"
|
478
|
+
vary: "Accept-Encoding"
|
479
|
+
access-control-allow-methods: "GET, OPTIONS"
|
480
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
481
|
+
access-control-allow-credentials: "true"
|
482
|
+
I, [2014-01-01T10:54:57.920029 #69028] INFO -- : get https://toggl.com/reports/api/v2/summary?workspace_id=73540&user_agent=toggl-reports&since=2013-12-01&until=2013-12-31
|
483
|
+
D, [2014-01-01T10:54:57.920191 #69028] DEBUG -- request: Content-Type: "application/json"
|
484
|
+
Authorization: "Basic NDU1MDVmMjY5Mjk2MzRjZjljYTg5NGVjZTMzMDYxMjc6YXBpX3Rva2Vu"
|
485
|
+
User-Agent: "Faraday v0.8.8"
|
486
|
+
I, [2014-01-01T10:54:57.920294 #69028] INFO -- Status: 200
|
487
|
+
D, [2014-01-01T10:54:57.920414 #69028] DEBUG -- response: server: "nginx/1.4.4"
|
488
|
+
date: "Wed, 01 Jan 2014 18:54:57 GMT"
|
489
|
+
content-type: "application/json"
|
490
|
+
transfer-encoding: "chunked"
|
491
|
+
connection: "close"
|
492
|
+
vary: "Accept-Encoding"
|
493
|
+
access-control-allow-methods: "GET, OPTIONS"
|
494
|
+
access-control-allow-headers: "Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization, Accept, Accept-Encoding, Accept-Language, Access-Control-Request-Headers, Access-Control-Request-Method, Connection, Host, Origin, User-Agent"
|
495
|
+
access-control-allow-credentials: "true"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require_relative 'exceptions'
|
2
|
+
require_relative 'reports/connection'
|
3
|
+
require_relative 'reports/base'
|
4
|
+
require_relative 'reports/summary'
|
5
|
+
require_relative 'reports/daily'
|
6
|
+
require_relative 'reports/weekly'
|
7
|
+
module Toggl
|
8
|
+
class Reports
|
9
|
+
|
10
|
+
class << self
|
11
|
+
attr_accessor :api_token
|
12
|
+
def reset!
|
13
|
+
@api_token = nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def api_token
|
17
|
+
raise MissingApiToken if @api_token.nil?
|
18
|
+
@api_token
|
19
|
+
end
|
20
|
+
|
21
|
+
def connection
|
22
|
+
@connection ||= Connection.new
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def initialize(workspace_id, from, to)
|
27
|
+
@workspace_id = workspace_id
|
28
|
+
@from = from
|
29
|
+
@to = to
|
30
|
+
end
|
31
|
+
|
32
|
+
def summary
|
33
|
+
Summary.new(self.class.connection, @workspace_id,@from, @to)
|
34
|
+
end
|
35
|
+
|
36
|
+
def weekly
|
37
|
+
Weekly.new(self.class.connection, @workspace_id,@from, @to)
|
38
|
+
end
|
39
|
+
|
40
|
+
def daily
|
41
|
+
Daily.new(self.class.connection, @workspace_id,@from, @to)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'awesome_print'
|
2
|
+
require 'bigdecimal'
|
3
|
+
module Toggl
|
4
|
+
class Reports
|
5
|
+
class Base
|
6
|
+
class << self
|
7
|
+
def path
|
8
|
+
raise 'Subclass Responsibility'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize(connection, workspace_id, from, to)
|
13
|
+
@connection = connection
|
14
|
+
@workspace_id = workspace_id
|
15
|
+
@from = from
|
16
|
+
@to = to
|
17
|
+
end
|
18
|
+
|
19
|
+
def get
|
20
|
+
@response ||= @connection.get(
|
21
|
+
self.class.path,
|
22
|
+
:workspace_id => @workspace_id,
|
23
|
+
:user_agent => 'toggl-reports',
|
24
|
+
:since => @from,
|
25
|
+
:until => @to
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def projects
|
30
|
+
get['data'].map do |item|
|
31
|
+
OpenStruct.new(
|
32
|
+
name: item['title']['project'],
|
33
|
+
total_time: seconds(item['time']),
|
34
|
+
total_time_display: hours(item['time']),
|
35
|
+
entries: time_entries(item['items'])
|
36
|
+
)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def hours(time)
|
41
|
+
whole, fraction = (time/3600000.0).divmod(1)
|
42
|
+
"%s:%s" % [whole, (fraction * 60).to_i]
|
43
|
+
end
|
44
|
+
|
45
|
+
def seconds(time)
|
46
|
+
(BigDecimal.new(time) / 1000).to_i
|
47
|
+
end
|
48
|
+
|
49
|
+
def time_entries(items)
|
50
|
+
items.map do |item|
|
51
|
+
OpenStruct.new(
|
52
|
+
title: item['title']['time_entry'],
|
53
|
+
time: seconds(item['time']),
|
54
|
+
time_display: hours(item['time']),
|
55
|
+
)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def inspect
|
60
|
+
ap projects
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
require 'logger'
|
4
|
+
|
5
|
+
module Toggl
|
6
|
+
class Connection
|
7
|
+
class << self
|
8
|
+
def base_url
|
9
|
+
'https://toggl.com/reports/api/v2'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(base_url=nil)
|
14
|
+
@connection = Faraday.new(:url => base_url || self.class.base_url) do |faraday|
|
15
|
+
faraday.request :url_encoded
|
16
|
+
faraday.adapter Faraday.default_adapter
|
17
|
+
faraday.response :logger, Logger.new('faraday.log')
|
18
|
+
faraday.headers = {'Content-Type' => 'application/json'}
|
19
|
+
faraday.basic_auth Toggl::Reports.api_token, 'api_token' # this needs to be after headers
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def get(path, params)
|
24
|
+
response = @connection.get path, params
|
25
|
+
JSON.parse(response.body)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
File without changes
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
require 'rspec'
|
4
|
+
require 'toggl/reports'
|
5
|
+
|
6
|
+
# Requires supporting files with custom matchers and macros, etc,
|
7
|
+
# in ./support/ and its subdirectories.
|
8
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.before :each do
|
12
|
+
Toggl::Reports.reset!
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "toggl-reports"
|
8
|
+
s.version = "0.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Maher Hawash"]
|
12
|
+
s.date = "2014-01-01"
|
13
|
+
s.description = "Implements Toggl reports api"
|
14
|
+
s.email = "gmhawash@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
".watchr",
|
23
|
+
"Gemfile",
|
24
|
+
"Gemfile.lock",
|
25
|
+
"LICENSE.txt",
|
26
|
+
"README.rdoc",
|
27
|
+
"Rakefile",
|
28
|
+
"VERSION",
|
29
|
+
"faraday.log",
|
30
|
+
"lib/toggl/exceptions.rb",
|
31
|
+
"lib/toggl/reports.rb",
|
32
|
+
"lib/toggl/reports/base.rb",
|
33
|
+
"lib/toggl/reports/connection.rb",
|
34
|
+
"lib/toggl/reports/daily.rb",
|
35
|
+
"lib/toggl/reports/summary.rb",
|
36
|
+
"lib/toggl/reports/weekly.rb",
|
37
|
+
"spec/spec_helper.rb",
|
38
|
+
"toggl-reports.gemspec"
|
39
|
+
]
|
40
|
+
s.homepage = "http://github.com/gmhawash/toggl-reports"
|
41
|
+
s.licenses = ["MIT"]
|
42
|
+
s.require_paths = ["lib"]
|
43
|
+
s.rubygems_version = "2.0.6"
|
44
|
+
s.summary = "Implements Toggl reports api"
|
45
|
+
|
46
|
+
if s.respond_to? :specification_version then
|
47
|
+
s.specification_version = 4
|
48
|
+
|
49
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
53
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
54
|
+
s.add_development_dependency(%q<faraday>, ["~> 0.8.7"])
|
55
|
+
s.add_development_dependency(%q<json>, [">= 0"])
|
56
|
+
s.add_development_dependency(%q<logger>, [">= 0"])
|
57
|
+
s.add_development_dependency(%q<debugger>, [">= 0"])
|
58
|
+
s.add_development_dependency(%q<awesome_print>, [">= 0"])
|
59
|
+
else
|
60
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
61
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
62
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
63
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
64
|
+
s.add_dependency(%q<faraday>, ["~> 0.8.7"])
|
65
|
+
s.add_dependency(%q<json>, [">= 0"])
|
66
|
+
s.add_dependency(%q<logger>, [">= 0"])
|
67
|
+
s.add_dependency(%q<debugger>, [">= 0"])
|
68
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
69
|
+
end
|
70
|
+
else
|
71
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
72
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
73
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
74
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
75
|
+
s.add_dependency(%q<faraday>, ["~> 0.8.7"])
|
76
|
+
s.add_dependency(%q<json>, [">= 0"])
|
77
|
+
s.add_dependency(%q<logger>, [">= 0"])
|
78
|
+
s.add_dependency(%q<debugger>, [">= 0"])
|
79
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
metadata
ADDED
@@ -0,0 +1,190 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: toggl-reports
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Maher Hawash
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-01-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rdoc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jeweler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faraday
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.8.7
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.8.7
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: json
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: logger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: debugger
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: awesome_print
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
description: Implements Toggl reports api
|
140
|
+
email: gmhawash@gmail.com
|
141
|
+
executables: []
|
142
|
+
extensions: []
|
143
|
+
extra_rdoc_files:
|
144
|
+
- LICENSE.txt
|
145
|
+
- README.rdoc
|
146
|
+
files:
|
147
|
+
- .document
|
148
|
+
- .rspec
|
149
|
+
- .watchr
|
150
|
+
- Gemfile
|
151
|
+
- Gemfile.lock
|
152
|
+
- LICENSE.txt
|
153
|
+
- README.rdoc
|
154
|
+
- Rakefile
|
155
|
+
- VERSION
|
156
|
+
- faraday.log
|
157
|
+
- lib/toggl/exceptions.rb
|
158
|
+
- lib/toggl/reports.rb
|
159
|
+
- lib/toggl/reports/base.rb
|
160
|
+
- lib/toggl/reports/connection.rb
|
161
|
+
- lib/toggl/reports/daily.rb
|
162
|
+
- lib/toggl/reports/summary.rb
|
163
|
+
- lib/toggl/reports/weekly.rb
|
164
|
+
- spec/spec_helper.rb
|
165
|
+
- toggl-reports.gemspec
|
166
|
+
homepage: http://github.com/gmhawash/toggl-reports
|
167
|
+
licenses:
|
168
|
+
- MIT
|
169
|
+
metadata: {}
|
170
|
+
post_install_message:
|
171
|
+
rdoc_options: []
|
172
|
+
require_paths:
|
173
|
+
- lib
|
174
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ! '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
requirements: []
|
185
|
+
rubyforge_project:
|
186
|
+
rubygems_version: 2.0.6
|
187
|
+
signing_key:
|
188
|
+
specification_version: 4
|
189
|
+
summary: Implements Toggl reports api
|
190
|
+
test_files: []
|