timetree 0.1.5 → 0.3.0
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 +4 -4
- data/.github/workflows/gem-push.yml +4 -1
- data/.github/workflows/test.yml +2 -0
- data/.gitignore +1 -2
- data/CHANGELOG.md +24 -0
- data/README.md +3 -1
- data/bin/console +4 -11
- data/bin/setup +0 -2
- data/lib/timetree.rb +1 -0
- data/lib/timetree/api_error.rb +1 -1
- data/lib/timetree/client.rb +2 -2
- data/lib/timetree/configuration.rb +2 -3
- data/lib/timetree/http_command.rb +6 -8
- data/lib/timetree/{activity.rb → models/activity.rb} +0 -0
- data/lib/timetree/{base_model.rb → models/base_model.rb} +2 -4
- data/lib/timetree/{calendar.rb → models/calendar.rb} +0 -0
- data/lib/timetree/{event.rb → models/event.rb} +2 -2
- data/lib/timetree/{label.rb → models/label.rb} +0 -0
- data/lib/timetree/{user.rb → models/user.rb} +0 -0
- data/lib/timetree/version.rb +1 -1
- data/timetree.gemspec +9 -9
- metadata +43 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98b454f4b6399b34fbf63831e9cc44fd2f5ca70cb7240d57789c7ff444cb3368
|
4
|
+
data.tar.gz: 96fdd0ff4900c2cb70a3382deae8f4595b161d29051a6cbaaa3d1c62a09c7dc2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da93d828f3a2b0bd9975ef68d3e60d20d78c617f26aeed868d7f3c9da420d301dc9217d00599fd4bb8066f58cf07f371dd68f7e1c820774b9b0766174b33d4eb
|
7
|
+
data.tar.gz: '083b993a60b2a6456012c1be450912f03c00566f503a814ce41b17e4a6a537f0cbfd58c5f6f98264d82a478303a15ab807c6ebe4c9755ac5f86b4971a331a16e'
|
@@ -14,13 +14,15 @@ jobs:
|
|
14
14
|
- name: Set up Ruby 2.6
|
15
15
|
uses: actions/setup-ruby@v1
|
16
16
|
with:
|
17
|
-
version: 2.6
|
17
|
+
ruby-version: 2.6
|
18
18
|
|
19
19
|
- name: Build and test
|
20
20
|
run: |
|
21
21
|
gem install bundler
|
22
22
|
bundle install --jobs 4 --retry 3
|
23
23
|
bundle exec rake test
|
24
|
+
env:
|
25
|
+
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
|
24
26
|
|
25
27
|
- name: Publish to RubyGems
|
26
28
|
run: |
|
@@ -30,5 +32,6 @@ jobs:
|
|
30
32
|
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
31
33
|
gem build *.gemspec
|
32
34
|
gem push *.gem
|
35
|
+
continue-on-error: true
|
33
36
|
env:
|
34
37
|
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
data/.github/workflows/test.yml
CHANGED
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
# 0.3.0
|
2
|
+
|
3
|
+
- refs #25 fix dependencies.
|
4
|
+
- remove minitest-reporter.
|
5
|
+
|
6
|
+
# 0.2.1
|
7
|
+
|
8
|
+
- do refactor
|
9
|
+
- use `respond_to?(setter)` instead of `instance_methods.include?(setter)`.
|
10
|
+
- use getter method instead of instant variables if defined it.
|
11
|
+
|
12
|
+
# 0.2.0
|
13
|
+
|
14
|
+
- organize model classes.
|
15
|
+
|
16
|
+
# 0.1.7
|
17
|
+
|
18
|
+
- refs #16 correct a mistake codecov badge url on README
|
19
|
+
|
20
|
+
# 0.1.6
|
21
|
+
|
22
|
+
- refs #16 add code coverage to readme.
|
23
|
+
- refs #17 update deprecated `version` for `ruby-version` on gem-push.yml.
|
24
|
+
|
1
25
|
# 0.1.5
|
2
26
|
|
3
27
|
- refs #6 setup GitHub Actions.
|
data/README.md
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# TimeTree APIs client
|
2
2
|
|
3
3
|
[](https://github.com/koshilife/timetree-api-ruby-client/actions?query=workflow%3ATest)
|
4
|
+
[](https://codecov.io/gh/koshilife/timetree-api-ruby-client)
|
4
5
|
[](http://badge.fury.io/rb/timetree)
|
6
|
+
[](https://github.com/koshilife/timetree-api-ruby-client/blob/master/LICENSE.txt)
|
5
7
|
|
6
8
|
## About
|
7
9
|
|
data/bin/console
CHANGED
@@ -1,14 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'timetree'
|
6
|
+
require 'irb'
|
14
7
|
IRB.start(__FILE__)
|
data/bin/setup
CHANGED
data/lib/timetree.rb
CHANGED
data/lib/timetree/api_error.rb
CHANGED
data/lib/timetree/client.rb
CHANGED
@@ -240,10 +240,10 @@ module TimeTree
|
|
240
240
|
def inspect
|
241
241
|
limit_info = nil
|
242
242
|
if defined?(@ratelimit_limit) && @ratelimit_limit
|
243
|
-
limit_info = " ratelimit:#{
|
243
|
+
limit_info = " ratelimit:#{ratelimit_remaining}/#{ratelimit_limit}"
|
244
244
|
end
|
245
245
|
if defined?(@ratelimit_reset_at) && @ratelimit_reset_at
|
246
|
-
limit_info = "#{limit_info}, reset_at:#{
|
246
|
+
limit_info = "#{limit_info}, reset_at:#{ratelimit_reset_at.strftime('%m/%d %R')}"
|
247
247
|
end
|
248
248
|
"\#<#{self.class}:#{object_id}#{limit_info}>"
|
249
249
|
end
|
@@ -15,10 +15,10 @@ module TimeTree
|
|
15
15
|
# @param path [String] String or URI to access.
|
16
16
|
# @param params [Hash] Hash of URI query unencoded key/value pairs.
|
17
17
|
def get(path, params = {})
|
18
|
-
logger.info "GET #{connection.build_url("#{@host}#{path}", params)}"
|
18
|
+
@logger.info "GET #{connection.build_url("#{@host}#{path}", params)}"
|
19
19
|
res = connection.get path, params
|
20
20
|
@client.update_ratelimit(res)
|
21
|
-
logger.debug "Response status:#{res.status}, body:#{res.body}"
|
21
|
+
@logger.debug "Response status:#{res.status}, body:#{res.body}"
|
22
22
|
res
|
23
23
|
end
|
24
24
|
|
@@ -30,7 +30,7 @@ module TimeTree
|
|
30
30
|
headers = { 'Content-Type' => 'application/json' }
|
31
31
|
res = connection.run_request :post, path, body_params.to_json, headers
|
32
32
|
@client.update_ratelimit(res)
|
33
|
-
logger.debug "Response status:#{res.status}, body:#{res.body}"
|
33
|
+
@logger.debug "Response status:#{res.status}, body:#{res.body}"
|
34
34
|
res
|
35
35
|
end
|
36
36
|
|
@@ -38,11 +38,11 @@ module TimeTree
|
|
38
38
|
# @param body_params [Hash]
|
39
39
|
# The request bodythat will eventually be converted to JSON.
|
40
40
|
def put(path, body_params = {})
|
41
|
-
logger.debug "PUT #{@host}#{path} body:#{body_params}"
|
41
|
+
@logger.debug "PUT #{@host}#{path} body:#{body_params}"
|
42
42
|
headers = { 'Content-Type' => 'application/json' }
|
43
43
|
res = connection.run_request :put, path, body_params.to_json, headers
|
44
44
|
@client.update_ratelimit(res)
|
45
|
-
logger.debug "Response status:#{res.status}, body:#{res.body}"
|
45
|
+
@logger.debug "Response status:#{res.status}, body:#{res.body}"
|
46
46
|
res
|
47
47
|
end
|
48
48
|
|
@@ -52,14 +52,12 @@ module TimeTree
|
|
52
52
|
@logger.debug "DELETE #{@host}#{path} params:#{params}"
|
53
53
|
res = connection.delete path, params
|
54
54
|
@client.update_ratelimit(res)
|
55
|
-
logger.debug "Response status:#{res.status}, body:#{res.body}"
|
55
|
+
@logger.debug "Response status:#{res.status}, body:#{res.body}"
|
56
56
|
res
|
57
57
|
end
|
58
58
|
|
59
59
|
private
|
60
60
|
|
61
|
-
attr_reader :logger
|
62
|
-
|
63
61
|
def connection
|
64
62
|
Faraday.new(
|
65
63
|
url: @host,
|
File without changes
|
@@ -78,10 +78,8 @@ module TimeTree
|
|
78
78
|
return unless attributes.is_a? Hash
|
79
79
|
return if attributes.empty?
|
80
80
|
|
81
|
-
setter_methods = self.class.instance_methods.select { |method| method.to_s.end_with? '=' }
|
82
81
|
attributes.each do |key, value|
|
83
|
-
|
84
|
-
next unless setter_methods.include? setter
|
82
|
+
next unless respond_to?("#{key}=".to_sym)
|
85
83
|
|
86
84
|
if defined?(self.class::TIME_FIELDS) && self.class::TIME_FIELDS.include?(key)
|
87
85
|
value = Time.parse value
|
@@ -126,7 +124,7 @@ module TimeTree
|
|
126
124
|
|
127
125
|
@_relation_data_dic[type][id]
|
128
126
|
}
|
129
|
-
|
127
|
+
relationships.each do |key, id_data|
|
130
128
|
relation_data = nil
|
131
129
|
if id_data.is_a? Array
|
132
130
|
relation_data = []
|
File without changes
|
@@ -123,8 +123,8 @@ module TimeTree
|
|
123
123
|
private
|
124
124
|
|
125
125
|
def relationships_params
|
126
|
-
current_label = label ? { type: 'label', id: label.id } :
|
127
|
-
current_attendees = attendees ? attendees.map { |u| { type: 'user', id: u.id } } :
|
126
|
+
current_label = label ? { type: 'label', id: label.id } : relationships[:label]
|
127
|
+
current_attendees = attendees ? attendees.map { |u| { type: 'user', id: u.id } } : relationships[:attendees]
|
128
128
|
{
|
129
129
|
label: { data: current_label },
|
130
130
|
attendees: { data: current_attendees }
|
File without changes
|
File without changes
|
data/lib/timetree/version.rb
CHANGED
data/timetree.gemspec
CHANGED
@@ -28,14 +28,14 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
29
|
spec.require_paths = ['lib']
|
30
30
|
|
31
|
-
spec.add_runtime_dependency 'faraday', '
|
32
|
-
spec.add_runtime_dependency 'faraday_middleware', '
|
33
|
-
spec.add_runtime_dependency 'zeitwerk', '
|
31
|
+
spec.add_runtime_dependency 'faraday', '>= 1.0.1'
|
32
|
+
spec.add_runtime_dependency 'faraday_middleware', '>= 1.0.0'
|
33
|
+
spec.add_runtime_dependency 'zeitwerk', '>= 2.3.0'
|
34
34
|
|
35
|
-
spec.add_development_dependency 'bundler'
|
36
|
-
spec.add_development_dependency '
|
37
|
-
spec.add_development_dependency 'minitest
|
38
|
-
spec.add_development_dependency 'rake'
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
35
|
+
spec.add_development_dependency 'bundler'
|
36
|
+
spec.add_development_dependency 'codecov'
|
37
|
+
spec.add_development_dependency 'minitest'
|
38
|
+
spec.add_development_dependency 'rake'
|
39
|
+
spec.add_development_dependency 'simplecov'
|
40
|
+
spec.add_development_dependency 'webmock'
|
41
41
|
end
|
metadata
CHANGED
@@ -1,141 +1,141 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timetree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenji Koshikawa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.0.1
|
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
26
|
version: 1.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday_middleware
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: zeitwerk
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.3.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.3.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: codecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: minitest
|
84
|
+
name: minitest
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: simplecov
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: webmock
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0
|
131
|
+
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0
|
138
|
+
version: '0'
|
139
139
|
description: Client for accessing TimeTree APIs
|
140
140
|
email:
|
141
141
|
- koshikawa2009@gmail.com
|
@@ -156,16 +156,16 @@ files:
|
|
156
156
|
- bin/console
|
157
157
|
- bin/setup
|
158
158
|
- lib/timetree.rb
|
159
|
-
- lib/timetree/activity.rb
|
160
159
|
- lib/timetree/api_error.rb
|
161
|
-
- lib/timetree/base_model.rb
|
162
|
-
- lib/timetree/calendar.rb
|
163
160
|
- lib/timetree/client.rb
|
164
161
|
- lib/timetree/configuration.rb
|
165
|
-
- lib/timetree/event.rb
|
166
162
|
- lib/timetree/http_command.rb
|
167
|
-
- lib/timetree/
|
168
|
-
- lib/timetree/
|
163
|
+
- lib/timetree/models/activity.rb
|
164
|
+
- lib/timetree/models/base_model.rb
|
165
|
+
- lib/timetree/models/calendar.rb
|
166
|
+
- lib/timetree/models/event.rb
|
167
|
+
- lib/timetree/models/label.rb
|
168
|
+
- lib/timetree/models/user.rb
|
169
169
|
- lib/timetree/version.rb
|
170
170
|
- timetree.gemspec
|
171
171
|
homepage: https://github.com/koshilife/timetree-api-ruby-client
|
@@ -175,7 +175,7 @@ metadata:
|
|
175
175
|
homepage_uri: https://github.com/koshilife/timetree-api-ruby-client
|
176
176
|
source_code_uri: https://github.com/koshilife/timetree-api-ruby-client
|
177
177
|
changelog_uri: https://github.com/koshilife/timetree-api-ruby-client/blob/master/CHANGELOG.md
|
178
|
-
documentation_uri: https://www.rubydoc.info/gems/timetree/0.
|
178
|
+
documentation_uri: https://www.rubydoc.info/gems/timetree/0.3.0
|
179
179
|
post_install_message:
|
180
180
|
rdoc_options: []
|
181
181
|
require_paths:
|