harvest-ruby-v2 0.2.2 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1aac6146965e984e871bb5d1601310c108d0ee6a737ce35a454d68af56e268d
4
- data.tar.gz: 71e4f29dd7d7fe6545dfeda482ced565b93121c7adc5afd22bad3e3479519728
3
+ metadata.gz: '0481299c43502e489ab013be74fe6ae6fa563f1997662b1df2cf1f091d197709'
4
+ data.tar.gz: f99eda5308acbba9efd5c574ce60518dc3681edb2ab223253de0f3eca8592dec
5
5
  SHA512:
6
- metadata.gz: 7d0f40032b530b1edc3b9026c66dfd5e21d89851bfce653ef412aae0c9d853a5f602abb6c3ddd7dde260946281951673e648a6ef3e1364423b7208e5f3423abf
7
- data.tar.gz: 47dde60a64901ab2b224566ffe0260de105fa350e9fdabf9c1ed295bc65b7b50059143518909ba4fccf3a72908cd3183c64a2685e4cdf5c8acecc0b2f935c667
6
+ metadata.gz: c1ad1076b5315860c0995f359099b9aedb8e720709584f0ed825ac2fedb325aa6ae08d17783da7660c08adc901becea8b64a9ea13c65bad380010f2e7dae77e0
7
+ data.tar.gz: de22f15ab703b41ff0a5188562fe19f04a84cc6982170c4a641565a54e3c81bea67b0dc28e993552097518898c9e81451480b4ad26bd813cdab57c6f62237e5d
data/Makefile CHANGED
@@ -7,3 +7,8 @@ setup:
7
7
  yard:
8
8
  bundle exec rake yard
9
9
  bundle exec rake yard-server
10
+
11
+ push:
12
+ find . -maxdepth 1 -name '*.gem' -exec rm {} \;
13
+ gem build *.gemspec
14
+ gem push *.gem
@@ -55,6 +55,10 @@ module Harvest
55
55
  ].include?(meth)
56
56
  end
57
57
 
58
+ def clone
59
+ Harvest::Client.new(@config, state: @state.clone)
60
+ end
61
+
58
62
  # @param meth [Symbol]
59
63
  # @return [Boolean]
60
64
  def respond_to_missing?(meth)
@@ -74,7 +78,7 @@ module Harvest
74
78
  super
75
79
  end
76
80
  rescue NoMethodError
77
- # binding.pry
81
+ # require 'pry'; binding.pry
78
82
  raise Harvest::Exceptions::BadState, "#{meth} is an invalid state change."
79
83
  end
80
84
 
@@ -34,8 +34,8 @@ module Harvest
34
34
 
35
35
  # @api private
36
36
  def time_entry_payload(kwargs)
37
- possible_keys = %i[spent_date notes external_reference user_id]
38
- payload = kwargs.map { |k, v| [k, v] if possible_keys.include?(k) }.to_h
37
+ possible_keys = %i[spent_date notes external_reference user_id project_id task_id]
38
+ payload = kwargs.each { |k, v| [k, v] if possible_keys.include?(k) }.to_h
39
39
  payload[:user_id] ||= @active_user.id
40
40
  payload[:task_id] = @state[:project_tasks][0].task.id
41
41
  payload[:project_id] = true_project(@state[:projects][0]).id
@@ -10,7 +10,7 @@ module Harvest
10
10
 
11
11
  class TimeEntry
12
12
  def find(factory, client, id)
13
- [factory.time_entry(client.api_call(client.api_caller("time_entry/#{id}")))]
13
+ [factory.time_entry(client.api_call(client.api_caller("time_entries/#{id}")))]
14
14
  end
15
15
  end
16
16
  end
@@ -75,8 +75,7 @@ module Harvest
75
75
  def api_call(struct)
76
76
  JSON.parse(
77
77
  send(struct.http_method.to_sym, struct).tap do
78
- require 'pry'
79
- # binding.pry
78
+ # require 'pry'; binding.pry
80
79
  end
81
80
  )
82
81
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'pry'
4
3
  require 'harvest/resources'
5
4
 
6
5
  module Harvest
@@ -214,6 +213,11 @@ module Harvest
214
213
  data.method("#{key}=").call(DateTime.strptime(data.method(key).call))
215
214
  end
216
215
  end
216
+ %i[spent_date].each do |key|
217
+ if data.members.include?(key) && !data.method(key).call.nil?
218
+ data.method("#{key}=").call(Date.strptime(data.method(key).call))
219
+ end
220
+ end
217
221
  data
218
222
  end
219
223
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harvest
4
- VERSION = '0.2.2'
4
+ VERSION = '0.3.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harvest-ruby-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Davis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-13 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport