cronofy 0.7.0 → 0.8.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
  SHA1:
3
- metadata.gz: 4dcdc8e53e93c01104194ab5cf36d9e247e43078
4
- data.tar.gz: 7dc8bf86e1662560082d3f32c61d10edcb9a2243
3
+ metadata.gz: 116368dec8928956ee2044c6aaac191fc0ad42b0
4
+ data.tar.gz: 3f7525985969bd9442ef05d7997f88b10060acea
5
5
  SHA512:
6
- metadata.gz: a54d720962862cae02a96d04ba124033f3855854d20c8193fcd95085b43e75cc8e72bbc613d5b0293aad0c4f226c9065860c81f7057dde30f861713385e65c5f
7
- data.tar.gz: 44d8cffc099a34c10029da0013742677324f68bb79946fd26bf639cc7a7fba29d70e20240aae0bafdd4e3531a9b6200dd5f5447ed534c6e78cff420f1f82ce12
6
+ metadata.gz: 84d9b8f66d11577350ecf293c00dd0bd69dd5827595625d410b0709937872ce7c52019eafc5693998dd3d03dcb3bbfe8626d9c8f0f4bc04cc5a0a40106c8bfa0
7
+ data.tar.gz: cb35302981dae646f87f0ce47aa297a295a3fad4a913b15a1a49592edd9b010042288671f42a9ad7468cb0761f7b3a1adbe298434cee8cc2a801af3f0817a968
@@ -107,22 +107,6 @@ module Cronofy
107
107
  nil
108
108
  end
109
109
 
110
- def encode_event_time(time)
111
- result = time
112
-
113
- case time
114
- when Hash
115
- if time[:time]
116
- encoded_time = encode_event_time(time[:time])
117
- time.merge(time: encoded_time)
118
- else
119
- time
120
- end
121
- else
122
- to_iso8601(time)
123
- end
124
- end
125
-
126
110
  # Public: Alias for #upsert_event
127
111
  alias_method :create_or_update_event, :upsert_event
128
112
 
@@ -507,6 +491,22 @@ module Cronofy
507
491
  end
508
492
  end
509
493
 
494
+ def encode_event_time(time)
495
+ result = time
496
+
497
+ case time
498
+ when Hash
499
+ if time[:time]
500
+ encoded_time = encode_event_time(time[:time])
501
+ time.merge(time: encoded_time)
502
+ else
503
+ time
504
+ end
505
+ else
506
+ to_iso8601(time)
507
+ end
508
+ end
509
+
510
510
  class PagedResultIterator
511
511
  include Enumerable
512
512
 
@@ -4,18 +4,28 @@ require "time"
4
4
 
5
5
  module Cronofy
6
6
  class Credentials
7
+ class LinkingProfile < Hashie::Mash
8
+ end
9
+
7
10
  attr_reader :access_token
11
+ attr_reader :account_id
8
12
  attr_reader :expires_at
9
13
  attr_reader :expires_in
14
+ attr_reader :linking_profile
10
15
  attr_reader :refresh_token
11
16
  attr_reader :scope
12
17
 
13
18
  def initialize(oauth_token)
14
19
  @access_token = oauth_token.token
20
+ @account_id = oauth_token.params['account_id']
15
21
  @expires_at = oauth_token.expires_at
16
22
  @expires_in = oauth_token.expires_in
17
23
  @refresh_token = oauth_token.refresh_token
18
24
  @scope = oauth_token.params['scope']
25
+
26
+ if details = oauth_token.params['linking_profile']
27
+ @linking_profile = LinkingProfile.new(details)
28
+ end
19
29
  end
20
30
 
21
31
  def to_h
@@ -1,3 +1,3 @@
1
1
  module Cronofy
2
- VERSION = "0.7.0".freeze
2
+ VERSION = "0.8.0".freeze
3
3
  end
@@ -14,6 +14,9 @@ describe Cronofy::Auth do
14
14
  let(:expires_in) { 10000 }
15
15
  let(:scope) { 'read_events list_calendars create_event' }
16
16
 
17
+ let(:linking_profile_hash) { nil }
18
+ let(:account_id) { nil }
19
+
17
20
  before(:all) do
18
21
  WebMock.reset!
19
22
  WebMock.disable_net_connect!(allow_localhost: true)
@@ -71,6 +74,8 @@ describe Cronofy::Auth do
71
74
  expires_in: expires_in,
72
75
  refresh_token: new_refresh_token,
73
76
  scope: scope,
77
+ account_id: account_id,
78
+ linking_profile: linking_profile_hash,
74
79
  }.to_json,
75
80
  headers: {
76
81
  "Content-Type" => "application/json; charset=utf-8"
@@ -178,6 +183,29 @@ describe Cronofy::Auth do
178
183
  describe '#get_token_from_code' do
179
184
  subject { Cronofy::Auth.new(client_id, client_secret).get_token_from_code(code, redirect_uri) }
180
185
 
186
+ context "with account_id" do
187
+ let(:account_id) { "acc_0123456789abc" }
188
+
189
+ it 'exposes the account_id' do
190
+ expect(subject.account_id).to eq account_id
191
+ end
192
+ end
193
+
194
+ context "with linking profile" do
195
+ let(:linking_profile_hash) do
196
+ {
197
+ provider_name: "google",
198
+ profile_id: "pro_VmrZnDitjScsAAAG",
199
+ profile_name: "bob@example.com",
200
+ }
201
+ end
202
+
203
+ it "exposes the linking profile" do
204
+ expected = Cronofy::Credentials::LinkingProfile.new(linking_profile_hash)
205
+ expect(subject.linking_profile).to eq expected
206
+ end
207
+ end
208
+
181
209
  it_behaves_like 'an authorization request'
182
210
  end
183
211
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cronofy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergii Paryzhskyi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-02 00:00:00.000000000 Z
12
+ date: 2015-12-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oauth2