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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8300f6f549eec18be34ed686a30ebf8a65764b9477bfff6727c860d1481b24c3
4
- data.tar.gz: e8aa1930b0aadf03c7e810888ebb65b77a4982f03ddcbc45c3c25881f2395f43
3
+ metadata.gz: 98b454f4b6399b34fbf63831e9cc44fd2f5ca70cb7240d57789c7ff444cb3368
4
+ data.tar.gz: 96fdd0ff4900c2cb70a3382deae8f4595b161d29051a6cbaaa3d1c62a09c7dc2
5
5
  SHA512:
6
- metadata.gz: b4acc3128923537ec051d976f319da28a07c6d4def55725ca442641c69fca0d0ffbcf841da6d464c85c2d6a81227fe3950e7a1bc86b7239281b487f384d6b743
7
- data.tar.gz: 1a34a2d8388c494c4fe988744d829e857a32589d52fd81356c25a9726056d87f4b2c77654ba15b4b5ad7834d6d1822ddc131693b7328e55bcc686d6d77e8e850
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.x
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}}
@@ -17,3 +17,5 @@ jobs:
17
17
  gem install bundler
18
18
  bundle install --jobs 4 --retry 3
19
19
  bundle exec rake test
20
+ env:
21
+ CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
data/.gitignore CHANGED
@@ -7,5 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
 
10
- coverage
11
- Gemfile.lock
10
+ Gemfile.lock
@@ -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
- # Simple TimeTree APIs client
1
+ # TimeTree APIs client
2
2
 
3
3
  [![Test](https://github.com/koshilife/timetree-api-ruby-client/workflows/Test/badge.svg)](https://github.com/koshilife/timetree-api-ruby-client/actions?query=workflow%3ATest)
4
+ [![codecov](https://codecov.io/gh/koshilife/timetree-api-ruby-client/branch/master/graph/badge.svg)](https://codecov.io/gh/koshilife/timetree-api-ruby-client)
4
5
  [![Gem Version](https://badge.fury.io/rb/timetree.svg)](http://badge.fury.io/rb/timetree)
6
+ [![license](https://img.shields.io/github/license/koshilife/timetree-api-ruby-client)](https://github.com/koshilife/timetree-api-ruby-client/blob/master/LICENSE.txt)
5
7
 
6
8
  ## About
7
9
 
@@ -1,14 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "timetree"
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
@@ -4,5 +4,3 @@ IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
6
  bundle install
7
-
8
- # Do any other automated setup that you need to do here
@@ -5,6 +5,7 @@ loader = Zeitwerk::Loader.for_gem
5
5
  loader.inflector.inflect(
6
6
  'timetree' => 'TimeTree'
7
7
  )
8
+ loader.collapse('**/models')
8
9
  loader.setup
9
10
 
10
11
  # module for TimeTree apis client
@@ -23,7 +23,7 @@ module TimeTree
23
23
  end
24
24
 
25
25
  def inspect
26
- "\#<#{self.class}:#{object_id} title:#{@title}, status:#{@status}>"
26
+ "\#<#{self.class}:#{object_id} title:#{title}, status:#{status}>"
27
27
  end
28
28
  end
29
29
  end
@@ -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:#{@ratelimit_remaining}/#{@ratelimit_limit}"
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:#{@ratelimit_reset_at.strftime('%m/%d %R')}"
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
@@ -11,9 +11,8 @@ module TimeTree
11
11
  attr_accessor :logger
12
12
 
13
13
  def initialize
14
- logger = Logger.new(STDOUT)
15
- logger.level = :warn
16
- @logger = logger
14
+ @logger = Logger.new(STDOUT)
15
+ @logger.level = :warn
17
16
  end
18
17
  end
19
18
  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,
@@ -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
- setter = "#{key.to_sym}=".to_sym
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
- @relationships.each do |key, id_data|
127
+ relationships.each do |key, id_data|
130
128
  relation_data = nil
131
129
  if id_data.is_a? Array
132
130
  relation_data = []
@@ -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 } : @relationships[:label]
127
- current_attendees = attendees ? attendees.map { |u| { type: 'user', id: u.id } } : @relationships[:attendees]
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TimeTree
4
- VERSION = '0.1.5'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -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', '~> 1.0.1'
32
- spec.add_runtime_dependency 'faraday_middleware', '~> 1.0.0'
33
- spec.add_runtime_dependency 'zeitwerk', '~> 2.3.0'
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', '~> 2.0'
36
- spec.add_development_dependency 'minitest', '~> 5.14.0'
37
- spec.add_development_dependency 'minitest-reporters', '~> 1.4.2'
38
- spec.add_development_dependency 'rake', '~> 12.0'
39
- spec.add_development_dependency 'webmock', '~> 3.7.6'
40
- spec.add_development_dependency 'simplecov', '~> 0.18.5'
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.1.5
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-07-01 00:00:00.000000000 Z
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: '2.0'
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: '2.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: minitest
70
+ name: codecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 5.14.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: 5.14.0
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: minitest-reporters
84
+ name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 1.4.2
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: 1.4.2
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: '12.0'
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: '12.0'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: webmock
112
+ name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 3.7.6
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: 3.7.6
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: simplecov
126
+ name: webmock
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 0.18.5
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.18.5
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/label.rb
168
- - lib/timetree/user.rb
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.1.5
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: