timetree 0.1.6 → 0.3.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 +1 -0
- data/.gitignore +1 -2
- data/{.rubocom.yml → .rubocop.yml} +11 -9
- data/CHANGELOG.md +33 -8
- data/README.md +2 -2
- data/Rakefile +8 -6
- 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 +14 -14
- data/lib/timetree/configuration.rb +2 -3
- data/lib/timetree/http_command.rb +10 -12
- data/lib/timetree/{activity.rb → models/activity.rb} +1 -1
- data/lib/timetree/{base_model.rb → models/base_model.rb} +13 -17
- data/lib/timetree/{calendar.rb → models/calendar.rb} +0 -0
- data/lib/timetree/{event.rb → models/event.rb} +6 -6
- 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 -10
- metadata +40 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df0d2bfb7eba71f46fe26e60f22fffae4b0da14fbb4e08b65554c2196618d92f
|
4
|
+
data.tar.gz: 2d9da4a76ece71b6a9c4515655ef17f0f27d72f0ab540c53c118492076881a03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 860f43f818d2eb354d57c6a657301b2c33104fd6e372f1769a5509b37aee9033fcc8d9ac0058364562128a2a00edd19bd42bdc2ec7614e506c59b66f4c2c7701
|
7
|
+
data.tar.gz: 6cdae75ad99e57b6ec9d86781fb402cfea2424c85644898e0991e2745c9fcd30872d8ca8febf0f896147ca49a98e67fcb6f911ae494e193eef82b64654d3e0b9
|
data/.gitignore
CHANGED
@@ -23,12 +23,11 @@ Metrics/BlockNesting:
|
|
23
23
|
Max: 2
|
24
24
|
|
25
25
|
Layout/LineLength:
|
26
|
-
|
27
|
-
Enabled: false
|
26
|
+
Max: 120
|
28
27
|
|
29
28
|
Metrics/MethodLength:
|
30
29
|
CountComments: false
|
31
|
-
Max:
|
30
|
+
Max: 20
|
32
31
|
|
33
32
|
Metrics/ParameterLists:
|
34
33
|
Max: 4
|
@@ -39,10 +38,10 @@ Metrics/AbcSize:
|
|
39
38
|
|
40
39
|
Style/CollectionMethods:
|
41
40
|
PreferredMethods:
|
42
|
-
map:
|
43
|
-
reduce:
|
44
|
-
find:
|
45
|
-
find_all:
|
41
|
+
map: "collect"
|
42
|
+
reduce: "inject"
|
43
|
+
find: "detect"
|
44
|
+
find_all: "select"
|
46
45
|
|
47
46
|
Style/Documentation:
|
48
47
|
Enabled: false
|
@@ -60,10 +59,13 @@ Style/ExpandPathArguments:
|
|
60
59
|
Enabled: false
|
61
60
|
|
62
61
|
Style/HashSyntax:
|
63
|
-
EnforcedStyle:
|
62
|
+
EnforcedStyle: ruby19
|
64
63
|
|
65
64
|
Style/Lambda:
|
66
65
|
Enabled: false
|
67
66
|
|
68
67
|
Style/RaiseArgs:
|
69
|
-
EnforcedStyle: compact
|
68
|
+
EnforcedStyle: compact
|
69
|
+
|
70
|
+
Style/AsciiComments:
|
71
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,36 +1,61 @@
|
|
1
|
-
#
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## 0.3.1
|
4
|
+
|
5
|
+
- fix rubocop warnings.
|
6
|
+
|
7
|
+
## 0.3.0
|
8
|
+
|
9
|
+
- refs #25 fix dependencies.
|
10
|
+
- remove minitest-reporter.
|
11
|
+
|
12
|
+
## 0.2.1
|
13
|
+
|
14
|
+
- do refactor
|
15
|
+
- use `respond_to?(setter)` instead of `instance_methods.include?(setter)`.
|
16
|
+
- use getter method instead of instant variables if defined it.
|
17
|
+
|
18
|
+
## 0.2.0
|
19
|
+
|
20
|
+
- organize model classes.
|
21
|
+
|
22
|
+
## 0.1.7
|
23
|
+
|
24
|
+
- refs #16 correct a mistake codecov badge url on README
|
25
|
+
|
26
|
+
## 0.1.6
|
2
27
|
|
3
28
|
- refs #16 add code coverage to readme.
|
4
29
|
- refs #17 update deprecated `version` for `ruby-version` on gem-push.yml.
|
5
30
|
|
6
|
-
|
31
|
+
## 0.1.5
|
7
32
|
|
8
33
|
- refs #6 setup GitHub Actions.
|
9
34
|
|
10
|
-
|
35
|
+
## 0.1.4
|
11
36
|
|
12
37
|
- updates comments.
|
13
38
|
|
14
|
-
|
39
|
+
## 0.1.3
|
15
40
|
|
16
41
|
- refs #7 #9 make the code coverage 100%.
|
17
42
|
|
18
|
-
|
43
|
+
## 0.1.2
|
19
44
|
|
20
45
|
- refs #1 fix typo Event#recurrences to recurrence
|
21
46
|
- refs #2 add a note for debugging guide on README
|
22
47
|
|
23
|
-
|
48
|
+
## 0.1.1
|
24
49
|
|
25
50
|
- set current version on this gem's documentation_uri.
|
26
51
|
- fixed typo on README.
|
27
52
|
|
28
|
-
|
53
|
+
## 0.1.0
|
29
54
|
|
30
55
|
- did refactor and wrote comments.
|
31
56
|
- started to use zeitwerk.
|
32
57
|
- wrote README.
|
33
58
|
|
34
|
-
|
59
|
+
## 0.0.1
|
35
60
|
|
36
61
|
- Initial release
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
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)
|
5
5
|
[](http://badge.fury.io/rb/timetree)
|
6
6
|
[](https://github.com/koshilife/timetree-api-ruby-client/blob/master/LICENSE.txt)
|
7
7
|
|
data/Rakefile
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rake/testtask'
|
3
5
|
|
4
6
|
Rake::TestTask.new(:test) do |t|
|
5
|
-
t.libs <<
|
6
|
-
t.libs <<
|
7
|
-
t.test_files = FileList[
|
7
|
+
t.libs << 'test'
|
8
|
+
t.libs << 'lib'
|
9
|
+
t.test_files = FileList['test/**/*_test.rb']
|
8
10
|
end
|
9
11
|
|
10
|
-
task :
|
12
|
+
task default: :test
|
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
@@ -28,7 +28,7 @@ module TimeTree
|
|
28
28
|
# @since 0.0.1
|
29
29
|
def current_user
|
30
30
|
res = @http_cmd.get '/user'
|
31
|
-
raise ApiError
|
31
|
+
raise ApiError.new(res) if res.status != 200
|
32
32
|
|
33
33
|
to_model res.body[:data]
|
34
34
|
end
|
@@ -47,7 +47,7 @@ module TimeTree
|
|
47
47
|
check_calendar_id cal_id
|
48
48
|
params = relationships_params(include_relationships, Calendar::RELATIONSHIPS)
|
49
49
|
res = @http_cmd.get "/calendars/#{cal_id}", params
|
50
|
-
raise ApiError
|
50
|
+
raise ApiError.new(res) if res.status != 200
|
51
51
|
|
52
52
|
to_model(res.body[:data], included: res.body[:included])
|
53
53
|
end
|
@@ -63,7 +63,7 @@ module TimeTree
|
|
63
63
|
def calendars(include_relationships: nil)
|
64
64
|
params = relationships_params(include_relationships, Calendar::RELATIONSHIPS)
|
65
65
|
res = @http_cmd.get '/calendars', params
|
66
|
-
raise ApiError
|
66
|
+
raise ApiError.new(res) if res.status != 200
|
67
67
|
|
68
68
|
included = res.body[:included]
|
69
69
|
res.body[:data].map { |item| to_model(item, included: included) }
|
@@ -80,7 +80,7 @@ module TimeTree
|
|
80
80
|
def calendar_labels(cal_id)
|
81
81
|
check_calendar_id cal_id
|
82
82
|
res = @http_cmd.get "/calendars/#{cal_id}/labels"
|
83
|
-
raise ApiError
|
83
|
+
raise ApiError.new(res) if res.status != 200
|
84
84
|
|
85
85
|
res.body[:data].map { |item| to_model(item) }
|
86
86
|
end
|
@@ -96,7 +96,7 @@ module TimeTree
|
|
96
96
|
def calendar_members(cal_id)
|
97
97
|
check_calendar_id cal_id
|
98
98
|
res = @http_cmd.get "/calendars/#{cal_id}/members"
|
99
|
-
raise ApiError
|
99
|
+
raise ApiError.new(res) if res.status != 200
|
100
100
|
|
101
101
|
res.body[:data].map { |item| to_model item }
|
102
102
|
end
|
@@ -118,7 +118,7 @@ module TimeTree
|
|
118
118
|
check_event_id event_id
|
119
119
|
params = relationships_params(include_relationships, Event::RELATIONSHIPS)
|
120
120
|
res = @http_cmd.get "/calendars/#{cal_id}/events/#{event_id}", params
|
121
|
-
raise ApiError
|
121
|
+
raise ApiError.new(res) if res.status != 200
|
122
122
|
|
123
123
|
ev = to_model(res.body[:data], included: res.body[:included])
|
124
124
|
ev.calendar_id = cal_id
|
@@ -142,7 +142,7 @@ module TimeTree
|
|
142
142
|
params = relationships_params(include_relationships, Event::RELATIONSHIPS)
|
143
143
|
params.merge!(days: days, timezone: timezone)
|
144
144
|
res = @http_cmd.get "/calendars/#{cal_id}/upcoming_events", params
|
145
|
-
raise ApiError
|
145
|
+
raise ApiError.new(res) if res.status != 200
|
146
146
|
|
147
147
|
included = res.body[:included]
|
148
148
|
res.body[:data].map do |item|
|
@@ -164,7 +164,7 @@ module TimeTree
|
|
164
164
|
def create_event(cal_id, params)
|
165
165
|
check_calendar_id cal_id
|
166
166
|
res = @http_cmd.post "/calendars/#{cal_id}/events", params
|
167
|
-
raise ApiError
|
167
|
+
raise ApiError.new(res) if res.status != 201
|
168
168
|
|
169
169
|
ev = to_model res.body[:data]
|
170
170
|
ev.calendar_id = cal_id
|
@@ -187,7 +187,7 @@ module TimeTree
|
|
187
187
|
check_calendar_id cal_id
|
188
188
|
check_event_id event_id
|
189
189
|
res = @http_cmd.put "/calendars/#{cal_id}/events/#{event_id}", params
|
190
|
-
raise ApiError
|
190
|
+
raise ApiError.new(res) if res.status != 200
|
191
191
|
|
192
192
|
ev = to_model res.body[:data]
|
193
193
|
ev.calendar_id = cal_id
|
@@ -208,7 +208,7 @@ module TimeTree
|
|
208
208
|
check_calendar_id cal_id
|
209
209
|
check_event_id event_id
|
210
210
|
res = @http_cmd.delete "/calendars/#{cal_id}/events/#{event_id}"
|
211
|
-
raise ApiError
|
211
|
+
raise ApiError.new(res) if res.status != 204
|
212
212
|
|
213
213
|
true
|
214
214
|
end
|
@@ -229,7 +229,7 @@ module TimeTree
|
|
229
229
|
check_calendar_id cal_id
|
230
230
|
check_event_id event_id
|
231
231
|
res = @http_cmd.post "/calendars/#{cal_id}/events/#{event_id}/activities", params
|
232
|
-
raise ApiError
|
232
|
+
raise ApiError.new(res) if res.status != 201
|
233
233
|
|
234
234
|
activity = to_model res.body[:data]
|
235
235
|
activity.calendar_id = cal_id
|
@@ -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
|
@@ -262,7 +262,7 @@ module TimeTree
|
|
262
262
|
@ratelimit_reset_at = Time.at reset.to_i if reset
|
263
263
|
end
|
264
264
|
|
265
|
-
|
265
|
+
private
|
266
266
|
|
267
267
|
def check_token
|
268
268
|
check_required_property(@token, 'token')
|
@@ -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
|
|
@@ -27,10 +27,10 @@ module TimeTree
|
|
27
27
|
# The request bodythat will eventually be converted to JSON.
|
28
28
|
def post(path, body_params = {})
|
29
29
|
@logger.debug "POST #{@host}#{path} body:#{body_params}"
|
30
|
-
headers = {
|
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}"
|
42
|
-
headers = {
|
41
|
+
@logger.debug "PUT #{@host}#{path} body:#{body_params}"
|
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,20 +52,18 @@ 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
|
-
|
60
|
-
|
61
|
-
attr_reader :logger
|
59
|
+
private
|
62
60
|
|
63
61
|
def connection
|
64
62
|
Faraday.new(
|
65
63
|
url: @host,
|
66
64
|
headers: base_request_headers
|
67
65
|
) do |builder|
|
68
|
-
builder.response :json, parser_options: {
|
66
|
+
builder.response :json, parser_options: {symbolize_names: true}, content_type: /\bjson$/
|
69
67
|
end
|
70
68
|
end
|
71
69
|
|
@@ -4,7 +4,7 @@ require 'time'
|
|
4
4
|
|
5
5
|
module TimeTree
|
6
6
|
# TimeTree base model object.
|
7
|
-
class BaseModel
|
7
|
+
class BaseModel # rubocop:disable Metrics/ClassLength
|
8
8
|
# @return [Array<Hash<String,String>>]
|
9
9
|
attr_accessor :relationships
|
10
10
|
# @return [String]
|
@@ -20,10 +20,10 @@ module TimeTree
|
|
20
20
|
# A TimeTree model object that be based on the type.
|
21
21
|
# @raise [TimeTree::Error] if the type property is not set or unknown.
|
22
22
|
# @since 0.0.1
|
23
|
-
def self.to_model(data, included: nil, client: nil)
|
23
|
+
def self.to_model(data, included: nil, client: nil) # rubocop:disable all
|
24
24
|
id = data[:id]
|
25
25
|
type = data[:type]
|
26
|
-
raise Error
|
26
|
+
raise Error.new('type is required.') if type.nil?
|
27
27
|
|
28
28
|
attributes = data[:attributes] || {}
|
29
29
|
relationships = data[:relationships] || {}
|
@@ -48,11 +48,11 @@ module TimeTree
|
|
48
48
|
when 'activity'
|
49
49
|
Activity.new(**params)
|
50
50
|
else
|
51
|
-
raise Error
|
51
|
+
raise Error.new("type '#{type}' is unknown.")
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
def initialize(type:, id: nil, client: nil, attributes: nil, relationships: nil, included: nil)
|
55
|
+
def initialize(type:, id: nil, client: nil, attributes: nil, relationships: nil, included: nil) # rubocop:disable Metrics/ParameterLists
|
56
56
|
@type = type
|
57
57
|
@id = id
|
58
58
|
@client = client
|
@@ -64,33 +64,29 @@ module TimeTree
|
|
64
64
|
"\#<#{self.class}:#{object_id} id:#{id}>"
|
65
65
|
end
|
66
66
|
|
67
|
-
|
67
|
+
private
|
68
68
|
|
69
69
|
def check_client
|
70
|
-
raise Error
|
70
|
+
raise Error.new('@client is nil.') if @client.nil?
|
71
71
|
end
|
72
72
|
|
73
73
|
def to_model(data)
|
74
74
|
self.class.to_model data, client: @client
|
75
75
|
end
|
76
76
|
|
77
|
-
def set_attributes(attributes)
|
77
|
+
def set_attributes(attributes) # rubocop:disable Naming/AccessorMethodName
|
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
|
-
if defined?(self.class::TIME_FIELDS) && self.class::TIME_FIELDS.include?(key)
|
87
|
-
value = Time.parse value
|
88
|
-
end
|
84
|
+
value = Time.parse value if defined?(self.class::TIME_FIELDS) && self.class::TIME_FIELDS.include?(key)
|
89
85
|
instance_variable_set "@#{key}", value
|
90
86
|
end
|
91
87
|
end
|
92
88
|
|
93
|
-
def set_relationships(relationships, included)
|
89
|
+
def set_relationships(relationships, included) # rubocop:disable all
|
94
90
|
return unless relationships.is_a? Hash
|
95
91
|
return if relationships.empty?
|
96
92
|
return unless defined? self.class::RELATIONSHIPS
|
@@ -112,7 +108,7 @@ module TimeTree
|
|
112
108
|
set_relationship_data_if_included(included)
|
113
109
|
end
|
114
110
|
|
115
|
-
def set_relationship_data_if_included(included)
|
111
|
+
def set_relationship_data_if_included(included) # rubocop:disable all
|
116
112
|
@_relation_data_dic = {}
|
117
113
|
included.each do |data|
|
118
114
|
item = to_model(data)
|
@@ -126,7 +122,7 @@ module TimeTree
|
|
126
122
|
|
127
123
|
@_relation_data_dic[type][id]
|
128
124
|
}
|
129
|
-
|
125
|
+
relationships.each do |key, id_data|
|
130
126
|
relation_data = nil
|
131
127
|
if id_data.is_a? Array
|
132
128
|
relation_data = []
|
File without changes
|
@@ -90,7 +90,7 @@ module TimeTree
|
|
90
90
|
# @since 0.0.1
|
91
91
|
def create_comment(message)
|
92
92
|
check_client
|
93
|
-
params = {
|
93
|
+
params = {type: 'activity', attributes: {calendar_id: calendar_id, event_id: id, content: message}}
|
94
94
|
activity = to_model params
|
95
95
|
activity.create
|
96
96
|
end
|
@@ -120,14 +120,14 @@ module TimeTree
|
|
120
120
|
}
|
121
121
|
end
|
122
122
|
|
123
|
-
|
123
|
+
private
|
124
124
|
|
125
125
|
def relationships_params
|
126
|
-
current_label = label ? {
|
127
|
-
current_attendees = attendees ? attendees.map { |u| {
|
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
|
-
label: {
|
130
|
-
attendees: {
|
129
|
+
label: {data: current_label},
|
130
|
+
attendees: {data: current_attendees}
|
131
131
|
}
|
132
132
|
end
|
133
133
|
end
|
File without changes
|
File without changes
|
data/lib/timetree/version.rb
CHANGED
data/timetree.gemspec
CHANGED
@@ -28,15 +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 'codecov'
|
37
|
-
spec.add_development_dependency 'minitest'
|
38
|
-
spec.add_development_dependency '
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
41
|
-
spec.add_development_dependency 'webmock', '~> 3.7.6'
|
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'
|
42
41
|
end
|
metadata
CHANGED
@@ -1,155 +1,141 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timetree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.3.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-09-03 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
70
|
name: codecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
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: 0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
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:
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: minitest-reporters
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 1.4.2
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.4.2
|
96
|
+
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rake
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- - "
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
103
|
+
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- - "
|
108
|
+
- - ">="
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
110
|
+
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: simplecov
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
|
-
- - "
|
115
|
+
- - ">="
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0
|
117
|
+
version: '0'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
|
-
- - "
|
122
|
+
- - ">="
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0
|
124
|
+
version: '0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: webmock
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
|
-
- - "
|
129
|
+
- - ">="
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
131
|
+
version: '0'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- - "
|
136
|
+
- - ">="
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
138
|
+
version: '0'
|
153
139
|
description: Client for accessing TimeTree APIs
|
154
140
|
email:
|
155
141
|
- koshikawa2009@gmail.com
|
@@ -160,7 +146,7 @@ files:
|
|
160
146
|
- ".github/workflows/gem-push.yml"
|
161
147
|
- ".github/workflows/test.yml"
|
162
148
|
- ".gitignore"
|
163
|
-
- ".
|
149
|
+
- ".rubocop.yml"
|
164
150
|
- CHANGELOG.md
|
165
151
|
- CODE_OF_CONDUCT.md
|
166
152
|
- Gemfile
|
@@ -170,16 +156,16 @@ files:
|
|
170
156
|
- bin/console
|
171
157
|
- bin/setup
|
172
158
|
- lib/timetree.rb
|
173
|
-
- lib/timetree/activity.rb
|
174
159
|
- lib/timetree/api_error.rb
|
175
|
-
- lib/timetree/base_model.rb
|
176
|
-
- lib/timetree/calendar.rb
|
177
160
|
- lib/timetree/client.rb
|
178
161
|
- lib/timetree/configuration.rb
|
179
|
-
- lib/timetree/event.rb
|
180
162
|
- lib/timetree/http_command.rb
|
181
|
-
- lib/timetree/
|
182
|
-
- 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
|
183
169
|
- lib/timetree/version.rb
|
184
170
|
- timetree.gemspec
|
185
171
|
homepage: https://github.com/koshilife/timetree-api-ruby-client
|
@@ -189,7 +175,7 @@ metadata:
|
|
189
175
|
homepage_uri: https://github.com/koshilife/timetree-api-ruby-client
|
190
176
|
source_code_uri: https://github.com/koshilife/timetree-api-ruby-client
|
191
177
|
changelog_uri: https://github.com/koshilife/timetree-api-ruby-client/blob/master/CHANGELOG.md
|
192
|
-
documentation_uri: https://www.rubydoc.info/gems/timetree/0.1
|
178
|
+
documentation_uri: https://www.rubydoc.info/gems/timetree/0.3.1
|
193
179
|
post_install_message:
|
194
180
|
rdoc_options: []
|
195
181
|
require_paths:
|