exchange-offline-address-book 0.0.20 → 0.0.21

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
  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