exchange-offline-address-book 0.0.20 → 0.0.21

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: 8780cd77c0b21204e73bb6d3b28750bcd55bc330
4
- data.tar.gz: 6430ed9d45cd8749ab6541e577d856e5a1c661e3
3
+ metadata.gz: f239ef0e5e42b4bae3c9851ad6101c68d76add2e
4
+ data.tar.gz: e241b73dcc0030346bd82f0389c42f202d409614
5
5
  SHA512:
6
- metadata.gz: 7070d4ccf5241df1c060a4dcb211afaa2ac91f550a25138b3fdd91ccc7b508fb23d98cd27710dcedf5e333788a457b5c14956389fd775c0178e564ee67074864
7
- data.tar.gz: 6aceec57248cb1d1719d52d028dc041eaf97de387ad6fbf029ad55b4fddbd3b4892246271adc8e18de390716505aa150a32b36361733984cfdcc6bcdd653e5ea
6
+ metadata.gz: f19aae2d253ed8358cd18b121d3b4c2cbe877431f0168c322de831ea5fb72a202aa8acf52cc6aee2c56d2f7939baf8356a23b0da1053518df5b6424217ff2166
7
+ data.tar.gz: ae23f5cb6cd2003edf14320daa5c91e04cf3a7b5ef5b022fbecccb7ef7035c1e60bddc6450f360fef96e2fd7f83637954155f5903aa0bc9045f6c00598831f00
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- exchange-offline-address-book (0.0.20)
4
+ exchange-offline-address-book (0.0.21)
5
5
  autodiscover (~> 1)
6
6
  curb (~> 0.9)
7
7
  hashie
@@ -49,12 +49,24 @@ module Exchange
49
49
  @parsed.header
50
50
  end
51
51
 
52
+ def load(file)
53
+ raise "Not loading temporary file" unless @cachedir
54
+ @records = JSON.parse(open(file).read, object_class: Exchange::OfflineAddressBook::Record)
55
+ end
56
+
57
+ def save(file)
58
+ raise "Not saving to temporary file" unless @cachedir
59
+ open(cache, 'w'){|f| f.write(JSON.pretty_generate(@records)) }
60
+ end
61
+
62
+ private
63
+
52
64
  def fetch_to(dir)
53
65
  begin
54
66
  @dir = dir
55
67
 
56
68
  if File.file?(cache)
57
- @records = JSON.parse(open(cache).read, object_class: Exchange::OfflineAddressBook::Record)
69
+ load(cache)
58
70
  return
59
71
  end
60
72
 
@@ -79,14 +91,12 @@ module Exchange
79
91
  record.AddressBookObjectGuid = record.AddressBookObjectGuid.inspect if record.AddressBookObjectGuid
80
92
  record
81
93
  }
82
- open(cache, 'w'){|f| f.write(JSON.pretty_generate(@records)) } if @cachedir
94
+ save(cache)
83
95
  ensure
84
96
  @dir = nil
85
97
  end
86
98
  end
87
99
 
88
- private
89
-
90
100
  def download(name)
91
101
  puts "curl --#{ENV['DEBUG'] ? 'verbose' : 'silent'} --ntlm --user #{[@username, @password].join(':').shellescape} #{[baseurl, name].join('').shellescape} -o #{File.join(@dir, name).shellescape}" if ENV['DEBUG']
92
102
  system "curl --#{ENV['DEBUG'] ? 'verbose' : 'silent'} --ntlm --user #{[@username, @password].join(':').shellescape} #{[baseurl, name].join('').shellescape} -o #{File.join(@dir, name).shellescape}"
@@ -1,5 +1,5 @@
1
1
  module Exchange
2
2
  module OfflineAddressBook
3
- VERSION = '0.0.20'
3
+ VERSION = '0.0.21'
4
4
  end
5
5
  end
@@ -3,6 +3,8 @@ require 'dotenv/load'
3
3
  require 'minitest/autorun'
4
4
  require 'exchange-offline-address-book'
5
5
 
6
+ require 'tmpdir'
7
+
6
8
  class EOABTest < Minitest::Test
7
9
  # def test_downlod
8
10
  # oab = OfflineAddressBook.new(username: ENV['EWS_USERNAME'], password: ENV['EWS_PASSWORD'], email: ENV['EWS_EMAIL'])
@@ -16,8 +18,14 @@ class EOABTest < Minitest::Test
16
18
  # oab = OfflineAddressBook.new(username: ENV['EWS_USERNAME'], password: ENV['EWS_PASSWORD'], email: ENV['EWS_EMAIL'], baseurl: ENV['EWS_BASEURL'])
17
19
  # puts oab.addressbook
18
20
  # end
19
- def test_records
20
- oab = Exchange::OfflineAddressBook::AddressBook.new(username: ENV['EWS_USERNAME'], password: ENV['EWS_PASSWORD'], email: ENV['EWS_EMAIL'])
21
- puts oab.records.length
21
+ # def test_records
22
+ # oab = Exchange::OfflineAddressBook::AddressBook.new(username: ENV['EWS_USERNAME'], password: ENV['EWS_PASSWORD'], email: ENV['EWS_EMAIL'])
23
+ # puts oab.records.length
24
+ # end
25
+ def test_cache
26
+ Dir.mktmpdir{|dir|
27
+ oab = Exchange::OfflineAddressBook::AddressBook.new(cachedir: dir, username: ENV['EWS_USERNAME'], password: ENV['EWS_PASSWORD'], email: ENV['EWS_EMAIL'])
28
+ puts oab.records.length
29
+ }
22
30
  end
23
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exchange-offline-address-book
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emiliano Heyns