little_finger 0.1.0 → 0.2.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzNmOTQyN2E2NGNlODIyNDc5OGVhM2UwMGY3ZWE2ODU3NWMxYWZhNA==
4
+ NDE4ODBjMDBjYmM1ZjE4YzBjM2U4NjlhZDE2OWUwZDFjZmVlYjcxZg==
5
5
  data.tar.gz: !binary |-
6
- MGJhNTI5NTYyZjQ3ZTcyNjI3MWM2ZDg4ZmY1YjhkZjRmNmI2ZTJjMQ==
6
+ YjE2MzZkNzJkYjM0MGY5MzA3ZDE5ZThkZjc2MTcwNWJkMTc3ZmZmOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGIzMTRhYTRkZDk3NzA0YTMzNTc2N2Y5Mjc0YjkxMWJlYWZkOWQ5NWI1MDIw
10
- MGVkNzVjNDQxNDcxZDM4MjM1M2FkMjA2MzIzYzhiY2Q0MjY3MzMyMGVmNGFk
11
- MTE5YmFhODA4NWIxNjM1NTU2ZTQyMzNkYTYwZjc3NWQwODQxN2Q=
9
+ MTAzYTQ4ZjY5YzM3NGZlMDk0ZWUwMmNhODIxYWExOGE4MzY0YThjMjQ5Njdj
10
+ YWUxYTZiOGIzZGE2MTI1NmQ1MmFjYWYwMmI2OTkyNWQyNGUxMjA1MzU5Mzdj
11
+ OWM4ZWE0NWM3OGQzMWE2NmMzNThhYjEzOTIyNTBkZWY5YjExMzY=
12
12
  data.tar.gz: !binary |-
13
- YTU2MzI2YTA2YzM5MjE2ZjAyZDRmZjljMjg4NDM5ZDhhNjE5OGZhYjllNjk4
14
- NzMwOGFkM2JkZDE1MTc4Y2JlMTdkM2YwMmVkODQyOThiMjE4MTdiMjYyZDMz
15
- MWQ4ZGQ3MDIzYzEyZjk0NGJjZGI2ZjFkODNmMjY3ZWRiZmI0ZTE=
13
+ NWY3MzY3MmRjMzgxMDc5MDQ5Y2QwMGY1ZGZjYmU2MTNkOTY2MTJlZmQ1YjAz
14
+ MDkzNzhhYTUxOTE0MGY2MjAyYWE5YjJkZTY2NGIyZDA5ZTYxMTIyYTJhZWQ4
15
+ OTcwMjczZmE5NDE3YjZjNTNlYTJkYzI0MzMyYTM5ZDk4ZWE2MWY=
@@ -21,6 +21,8 @@ module LittleFinger
21
21
  entry = [zip_code,effective_date, rate, description, state, city]
22
22
  raise StandardError.new("Avatax file format is incorrect: #{entry}") if entry.any?{|elem| elem.nil?}
23
23
  key = (zip_code + city).strip
24
+ effective_date = "2015/01/01" if effective_date == "0000/00/00"
25
+
24
26
  tax_data[key] = { zip: zip_code, city: city, state: state, tax_rate: BigDecimal.new(rate), effective_at: DateTime.strptime(effective_date, "%Y/%m/%d") }
25
27
  end
26
28
  tax_data
@@ -6,13 +6,15 @@ class LittleFinger::ServerFile
6
6
  attr_reader :folder_name
7
7
  attr_reader :ftp_site
8
8
 
9
- def self.fetch
9
+ # Retrieves zipped files from the avatax servers
10
+ # @param file_name [String] Name of file to retrieve
11
+ def self.fetch(file_name)
10
12
  settings = LittleFinger::Configuration.configuration[:avatax][:ftp]
11
- obj = LittleFinger::ServerFile.new(settings[:username], settings[:password], settings[:ftp_site])
13
+ obj = LittleFinger::ServerFile.new(settings[:username], settings[:password], settings[:ftp_site], file_name)
12
14
  obj.fetch
13
15
  end
14
16
 
15
- def initialize(username, password, ftp_site)
17
+ def initialize(username, password, ftp_site, file_name)
16
18
  @username = username
17
19
  @password = password
18
20
  @ftp_site = ftp_site
@@ -21,14 +23,13 @@ class LittleFinger::ServerFile
21
23
  @folder_name = ""
22
24
  @folder_name = portions[1] if portions.count > 1
23
25
  @ftp_iface = nil
26
+ @file_name = file_name
24
27
  end
25
28
 
26
29
  def fetch()
27
30
  connect
28
- filename = retrieve_file
29
- # unzipped_files = unzip(filename)
30
- # parse(unzipped_files.first)
31
- unzip(filename)
31
+ zip_file = retrieve_file(@file_name)
32
+ unzip(zip_file)
32
33
  end
33
34
 
34
35
  def connect
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: little_finger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Honest Company