timetree 0.1.4 → 0.2.1
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 +37 -0
- data/.github/workflows/test.yml +21 -0
- data/.gitignore +1 -2
- data/CHANGELOG.md +23 -0
- data/README.md +3 -0
- 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 +2 -1
- metadata +32 -17
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd742156da72043bdb3d549064a3ea4c560fc8ef2c60c340c53647b6cc0ea43b
|
4
|
+
data.tar.gz: 828100939eadee2275fa189f34dfe9fdd86b58113941cee0eaaabea26a161753
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f13a82f70529e872f34026d733875f05ef783c9dc5b89b23b6fc989b3256acf6f5640a8c5a377707b6adec96aa04a659cfab8ebd8a83bc9866a626179566a772
|
7
|
+
data.tar.gz: 38bf4a08b7e0bb92275ed0a9d20cf31f1623ba5955a560f3491625080e1b0ffdf2075c5e753d916f5aba64f860465582bf46f01a391af15b6c8c712211f9c168
|
@@ -0,0 +1,37 @@
|
|
1
|
+
name: Ruby Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [master]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
name: Build + Publish
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
- name: Set up Ruby 2.6
|
15
|
+
uses: actions/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: 2.6
|
18
|
+
|
19
|
+
- name: Build and test
|
20
|
+
run: |
|
21
|
+
gem install bundler
|
22
|
+
bundle install --jobs 4 --retry 3
|
23
|
+
bundle exec rake test
|
24
|
+
env:
|
25
|
+
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
|
26
|
+
|
27
|
+
- name: Publish to RubyGems
|
28
|
+
run: |
|
29
|
+
mkdir -p $HOME/.gem
|
30
|
+
touch $HOME/.gem/credentials
|
31
|
+
chmod 0600 $HOME/.gem/credentials
|
32
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
33
|
+
gem build *.gemspec
|
34
|
+
gem push *.gem
|
35
|
+
continue-on-error: true
|
36
|
+
env:
|
37
|
+
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on: pull_request
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@v2
|
11
|
+
- name: Set up Ruby
|
12
|
+
uses: ruby/setup-ruby@v1
|
13
|
+
with:
|
14
|
+
ruby-version: 2.6
|
15
|
+
- name: Build and test
|
16
|
+
run: |
|
17
|
+
gem install bundler
|
18
|
+
bundle install --jobs 4 --retry 3
|
19
|
+
bundle exec rake test
|
20
|
+
env:
|
21
|
+
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
# 0.2.1
|
2
|
+
|
3
|
+
- do refactor
|
4
|
+
- use `respond_to?(setter)` instead of `instance_methods.include?(setter)`.
|
5
|
+
- use getter method instead of instant variables if defined it.
|
6
|
+
|
7
|
+
# 0.2.0
|
8
|
+
|
9
|
+
- organize model classes.
|
10
|
+
|
11
|
+
# 0.1.7
|
12
|
+
|
13
|
+
- refs #16 correct a mistake codecov badge url on README
|
14
|
+
|
15
|
+
# 0.1.6
|
16
|
+
|
17
|
+
- refs #16 add code coverage to readme.
|
18
|
+
- refs #17 update deprecated `version` for `ruby-version` on gem-push.yml.
|
19
|
+
|
20
|
+
# 0.1.5
|
21
|
+
|
22
|
+
- refs #6 setup GitHub Actions.
|
23
|
+
|
1
24
|
# 0.1.4
|
2
25
|
|
3
26
|
- updates comments.
|
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# Simple TimeTree APIs client
|
2
2
|
|
3
|
+
[](https://github.com/koshilife/timetree-api-ruby-client/actions?query=workflow%3ATest)
|
4
|
+
[](https://codecov.io/gh/koshilife/timetree-api-ruby-client)
|
3
5
|
[](http://badge.fury.io/rb/timetree)
|
6
|
+
[](https://github.com/koshilife/timetree-api-ruby-client/blob/master/LICENSE.txt)
|
4
7
|
|
5
8
|
## About
|
6
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
@@ -33,9 +33,10 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_runtime_dependency 'zeitwerk', '~> 2.3.0'
|
34
34
|
|
35
35
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
36
|
+
spec.add_development_dependency 'codecov', '~> 0.1.17'
|
36
37
|
spec.add_development_dependency 'minitest', '~> 5.14.0'
|
37
38
|
spec.add_development_dependency 'minitest-reporters', '~> 1.4.2'
|
38
39
|
spec.add_development_dependency 'rake', '~> 12.0'
|
39
|
-
spec.add_development_dependency 'webmock', '~> 3.7.6'
|
40
40
|
spec.add_development_dependency 'simplecov', '~> 0.18.5'
|
41
|
+
spec.add_development_dependency 'webmock', '~> 3.7.6'
|
41
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timetree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
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-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: codecov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.1.17
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.1.17
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: minitest
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,33 +123,33 @@ dependencies:
|
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '12.0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
126
|
+
name: simplecov
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
131
|
+
version: 0.18.5
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 0.18.5
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: webmock
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
145
|
+
version: 3.7.6
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: 3.7.6
|
139
153
|
description: Client for accessing TimeTree APIs
|
140
154
|
email:
|
141
155
|
- koshikawa2009@gmail.com
|
@@ -143,9 +157,10 @@ executables: []
|
|
143
157
|
extensions: []
|
144
158
|
extra_rdoc_files: []
|
145
159
|
files:
|
160
|
+
- ".github/workflows/gem-push.yml"
|
161
|
+
- ".github/workflows/test.yml"
|
146
162
|
- ".gitignore"
|
147
163
|
- ".rubocom.yml"
|
148
|
-
- ".travis.yml"
|
149
164
|
- CHANGELOG.md
|
150
165
|
- CODE_OF_CONDUCT.md
|
151
166
|
- Gemfile
|
@@ -155,16 +170,16 @@ files:
|
|
155
170
|
- bin/console
|
156
171
|
- bin/setup
|
157
172
|
- lib/timetree.rb
|
158
|
-
- lib/timetree/activity.rb
|
159
173
|
- lib/timetree/api_error.rb
|
160
|
-
- lib/timetree/base_model.rb
|
161
|
-
- lib/timetree/calendar.rb
|
162
174
|
- lib/timetree/client.rb
|
163
175
|
- lib/timetree/configuration.rb
|
164
|
-
- lib/timetree/event.rb
|
165
176
|
- lib/timetree/http_command.rb
|
166
|
-
- lib/timetree/
|
167
|
-
- lib/timetree/
|
177
|
+
- lib/timetree/models/activity.rb
|
178
|
+
- lib/timetree/models/base_model.rb
|
179
|
+
- lib/timetree/models/calendar.rb
|
180
|
+
- lib/timetree/models/event.rb
|
181
|
+
- lib/timetree/models/label.rb
|
182
|
+
- lib/timetree/models/user.rb
|
168
183
|
- lib/timetree/version.rb
|
169
184
|
- timetree.gemspec
|
170
185
|
homepage: https://github.com/koshilife/timetree-api-ruby-client
|
@@ -174,7 +189,7 @@ metadata:
|
|
174
189
|
homepage_uri: https://github.com/koshilife/timetree-api-ruby-client
|
175
190
|
source_code_uri: https://github.com/koshilife/timetree-api-ruby-client
|
176
191
|
changelog_uri: https://github.com/koshilife/timetree-api-ruby-client/blob/master/CHANGELOG.md
|
177
|
-
documentation_uri: https://www.rubydoc.info/gems/timetree/0.1
|
192
|
+
documentation_uri: https://www.rubydoc.info/gems/timetree/0.2.1
|
178
193
|
post_install_message:
|
179
194
|
rdoc_options: []
|
180
195
|
require_paths:
|
@@ -190,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
205
|
- !ruby/object:Gem::Version
|
191
206
|
version: '0'
|
192
207
|
requirements: []
|
193
|
-
rubygems_version: 3.
|
208
|
+
rubygems_version: 3.0.3
|
194
209
|
signing_key:
|
195
210
|
specification_version: 4
|
196
211
|
summary: Client for accessing TimeTree APIs
|