togglv8 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d725d89aea919d3f3eed4468bb6d7cb5809d396
4
- data.tar.gz: e66e5464bd76daac97a9ed67eb04b0b3373844b4
3
+ metadata.gz: 22bb1bdda3a22f278bdf76e48502f61e7d912a33
4
+ data.tar.gz: 0491588afd3dafa669ec03a96e2e67c06123c5ae
5
5
  SHA512:
6
- metadata.gz: a9704d75caa47000e37c957b10e75599e3837fd55b4d28ff9db9c2442a8ca3e0db5cf57804329e737f78f25852182566fe9b149b0f56775cfc9140e9b8fd7ed3
7
- data.tar.gz: 84f27430a51dfe0b085b581bd9378b8a8dba85c6ed9867b593d8ddde430048af15563d1146f605706c2e08d944fe4866062cb2c7d459b88f3b317f5e5421a095
6
+ metadata.gz: 7c0d1955a24393a0dd861c06f3f3721630610569fa9a1c9eb376fc24d045929914b6fe042260b13443be2d6622843da21b82a1ba9a1fb0b4e5ad64a1a1a92037
7
+ data.tar.gz: d2d0b75801710403184d2ac07e99faa407ce38bd3db5f37ee8a4406ac60bba8eb8b6895f1c30847d503a1a1b02e59075848169c1f05fbf6152128d75f139d351
data/README.md CHANGED
@@ -77,14 +77,6 @@ Run `rdoc` to generate documentation. Open `doc/index.html` in your browser.
77
77
 
78
78
  Also available on [DocumentUp](https://documentup.com/kanet77/togglv8)
79
79
 
80
- ## Test Coverage
81
-
82
- Open `coverage/index.html` to see test coverage.
83
-
84
- As of 2015-12-10, coverage is "98.04% covered at 9.5 hits/line" according to [SimpleCov](https://rubygems.org/gems/simplecov).
85
-
86
- **Note:** Coverage is 91.2% when Pro account features are not tested.
87
-
88
80
  ## Acknowledgements
89
81
 
90
82
  - Thanks to [Koen Van der Auwera](https://github.com/atog) for the [Ruby Wrapper for Toggl API v6](https://github.com/atog/toggl)
@@ -102,4 +94,4 @@ Pull Requests that include tests are **much** more likely to be accepted and mer
102
94
 
103
95
  ## License
104
96
 
105
- Copyright (c) 2013-2015 Tom Kane. Released under the [MIT License](http://opensource.org/licenses/mit-license.php). See [LICENSE.txt](LICENSE.txt) for details.
97
+ Copyright (c) 2013-2016 Tom Kane. Released under the [MIT License](http://opensource.org/licenses/mit-license.php). See [LICENSE.txt](LICENSE.txt) for details.
@@ -56,7 +56,7 @@ module TogglV8
56
56
  #
57
57
  # Examples
58
58
  #
59
- # toggl.create_project({ name: 'My project', wid: 1060392 })
59
+ # toggl.create_project({ :name => 'My project', :wid => 1060392 })
60
60
  # => {"id"=>10918774,
61
61
  # "wid"=>1060392,
62
62
  # "name"=>"project5",
@@ -73,7 +73,7 @@ module TogglV8
73
73
  # See Toggl {Create Project}[https://github.com/toggl/toggl_api_docs/blob/master/chapters/projects.md#create-project]
74
74
  def create_project(params)
75
75
  requireParams(params, ['name', 'wid'])
76
- post "projects", {project: params}
76
+ post "projects", { 'project' => params }
77
77
  end
78
78
 
79
79
  # [Get project data](https://github.com/toggl/toggl_api_docs/blob/master/chapters/projects.md#get-project-data)
data/lib/togglv8/tags.rb CHANGED
@@ -10,10 +10,10 @@ module TogglV8
10
10
 
11
11
  def create_tag(params)
12
12
  requireParams(params, ['name', 'wid'])
13
- post "tags", {tag: params}
13
+ post "tags", { 'tag' => params }
14
14
  end
15
15
 
16
- # ex: update_tag(12345, {name: "same tame game"})
16
+ # ex: update_tag(12345, { :name => "same tame game" })
17
17
  def update_tag(tag_id, params)
18
18
  put "tags/#{tag_id}", { 'tag' => params }
19
19
  end
data/lib/togglv8/tasks.rb CHANGED
@@ -28,7 +28,7 @@ module TogglV8
28
28
  get "tasks/#{task_id}"
29
29
  end
30
30
 
31
- # ex: update_task(1894675, {active: true, estimated_seconds: 4500, fields: "done_seconds,uname"})
31
+ # ex: update_task(1894675, { :active => true, :estimated_seconds => 4500, :fields => "done_seconds,uname"})
32
32
  def update_task(task_id, params)
33
33
  put "tasks/#{task_id}", { 'task' => params }
34
34
  end
@@ -1,4 +1,4 @@
1
1
  module TogglV8
2
2
  # :section:
3
- VERSION = "1.0.4"
3
+ VERSION = "1.0.5"
4
4
  end
data/lib/togglv8.rb CHANGED
@@ -15,8 +15,8 @@ require_relative 'togglv8/users'
15
15
  require_relative 'togglv8/version'
16
16
  require_relative 'togglv8/workspaces'
17
17
 
18
- # mode: :compat will convert symbols to strings
19
- Oj.default_options = { mode: :compat }
18
+ # :mode => :compat will convert symbols to strings
19
+ Oj.default_options = { :mode => :compat }
20
20
 
21
21
  module TogglV8
22
22
  TOGGL_API_URL = 'https://www.toggl.com/api/'
@@ -67,7 +67,7 @@ module TogglV8
67
67
  attr_writer :conn
68
68
 
69
69
  def self.connection(username, password, opts={})
70
- Faraday.new(url: TOGGL_API_V8_URL, ssl: {verify: true}) do |faraday|
70
+ Faraday.new(:url => TOGGL_API_V8_URL, :ssl => {:verify => true}) do |faraday|
71
71
  faraday.request :url_encoded
72
72
  faraday.response :logger, Logger.new('faraday.log') if opts[:log]
73
73
  faraday.adapter Faraday.default_adapter
@@ -78,7 +78,7 @@ describe 'Tasks', :pro_account do
78
78
  expect(active_flags).to match_array([true, true, true])
79
79
 
80
80
  t_ids = [@task1, @task2, @task3].map { |t| t['id'] }
81
- params = { 'active': false }
81
+ params = { 'active' => false }
82
82
  @toggl.update_tasks(t_ids, params)
83
83
 
84
84
  # end with no active tasks
@@ -75,6 +75,76 @@ describe 'Time Entries' do
75
75
  end
76
76
  end
77
77
 
78
+ context '+ UTC offset' do
79
+ # ISO8601 times with positive '+' UTC offsets must be properly encoded
80
+
81
+ before :each do
82
+ time_entry_info = {
83
+ 'wid' => @workspace_id,
84
+ 'start' => '2016-01-22T12:08:14+02:00',
85
+ 'duration' => 77
86
+ }
87
+
88
+ @expected = time_entry_info.clone
89
+
90
+ @time_entry = @toggl.create_time_entry(time_entry_info)
91
+ end
92
+
93
+ after :each do
94
+ @toggl.delete_time_entry(@time_entry['id'])
95
+ end
96
+
97
+ it 'creates a time entry' do
98
+ expect(@time_entry).to include(@expected)
99
+ end
100
+
101
+ it 'requires a workspace, project, or task to create' do
102
+ time_entry_info = {
103
+ 'start' => '2016-01-22T12:08:14+02:00',
104
+ 'duration' => 77
105
+ }
106
+
107
+ expect {
108
+ @toggl.create_time_entry(time_entry_info)
109
+ }.to raise_error(ArgumentError)
110
+ end
111
+
112
+ it 'gets a time entry' do
113
+ retrieved_time_entry = @toggl.get_time_entry(@time_entry['id'])
114
+
115
+ ['start', 'stop'].each do |key|
116
+ expect(retrieved_time_entry[key]).to eq_ts @time_entry[key]
117
+ retrieved_time_entry.delete(key)
118
+ @time_entry.delete(key)
119
+ end
120
+
121
+ expect(retrieved_time_entry).to eq @time_entry
122
+ end
123
+
124
+ it 'updates a time entry' do
125
+ time_entry_info = {
126
+ 'start' => '2010-02-13T23:31:30+07:00',
127
+ 'duration' => 42
128
+ }
129
+
130
+ expected = time_entry_info.clone
131
+
132
+ time_entry_updated = @toggl.update_time_entry(@time_entry['id'], time_entry_info)
133
+ expect(time_entry_updated).to include(expected)
134
+ end
135
+
136
+ it 'deletes a time entry' do
137
+ existing_time_entry = @toggl.get_time_entry(@time_entry['id'])
138
+ expect(existing_time_entry.has_key?('server_deleted_at')).to eq false
139
+
140
+ deleted_time_entry = @toggl.delete_time_entry(@time_entry['id'])
141
+ expect(deleted_time_entry).to eq "[#{ @time_entry['id'] }]"
142
+
143
+ zombie_time_entry = @toggl.get_time_entry(@time_entry['id'])
144
+ expect(zombie_time_entry.has_key?('server_deleted_at')).to eq true
145
+ end
146
+ end
147
+
78
148
  context 'multiple time entries' do
79
149
  before :all do
80
150
  time_entry_info = {
@@ -110,17 +180,17 @@ describe 'Time Entries' do
110
180
  end
111
181
 
112
182
  it 'gets time entries after start_date (up till now)' do
113
- ids = @toggl.get_time_entries({start_date: @now - 1}).map { |t| t['id']}
183
+ ids = @toggl.get_time_entries({:start_date => @now - 1}).map { |t| t['id']}
114
184
  expect(ids).to eq [ @now_id ]
115
185
  end
116
186
 
117
187
  it 'gets time entries between start_date and end_date' do
118
- ids = @toggl.get_time_entries({start_date: @now - 1, end_date: @now + 1}).map { |t| t['id']}
188
+ ids = @toggl.get_time_entries({:start_date => @now - 1, :end_date => @now + 1}).map { |t| t['id']}
119
189
  expect(ids).to eq [ @now_id ]
120
190
  end
121
191
 
122
192
  it 'gets time entries in the future' do
123
- ids = @toggl.get_time_entries({start_date: @now - 1, end_date: @now + 8}).map { |t| t['id']}
193
+ ids = @toggl.get_time_entries({:start_date => @now - 1, :end_date => @now + 8}).map { |t| t['id']}
124
194
  expect(ids).to eq [ @now_id, @next_week_id ]
125
195
  end
126
196
  end
@@ -50,7 +50,7 @@ class TogglV8SpecHelper
50
50
 
51
51
  def self.delete_all_time_entries(toggl)
52
52
  time_entries = toggl.get_time_entries(
53
- { start_date: DateTime.now - 30, end_date: DateTime.now + 30 } )
53
+ { :start_date => DateTime.now - 30, :end_date => DateTime.now + 30 } )
54
54
  unless time_entries.nil?
55
55
  time_entry_ids ||= time_entries.map { |t| t['id'] }
56
56
  @logger.debug("Deleting #{time_entry_ids.length} time_entries")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: togglv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler