shelby_arena 0.0.2 → 0.0.4

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
  SHA256:
3
- metadata.gz: 6e8fd72eb3fa12747e89e9d971b40f72ff0d126e6ce7fb818a9b6ffb729755c6
4
- data.tar.gz: 5079761d76b407b6b1e4fa887fdf63abb6ede3ff5b2a695abbbe5eceed33ade1
3
+ metadata.gz: 80f385f29d41b48eed1bd43b20e43519d58bf987a8d96417c5ac2607c4ebefe4
4
+ data.tar.gz: 3f74b22582450a8ea680637037594a9727d5d8f2089c34409bbf20d506918eda
5
5
  SHA512:
6
- metadata.gz: 17e681850dac47c0dcb42574502b6e7de41e60c838cb4ab8521fbbb475b66b3e33541242caba9b7dd134d5143b5ba91512abe7209202256ad5e72e456b9de0c2
7
- data.tar.gz: eb764b5758d79f21016f7478ace6dbca0de34fba04ac85c07a1d5967bd1895550de520c5784dbe8eae8d380b7dcdcf80b8653bc19633a87898b4246c43ce0077
6
+ metadata.gz: 77c191c322fa1801af116a9022055d4b698bded267e1b1639353fd08f0918b1e2eb38482a75434ce03e458da078692bb0177beb19128db70029893ad8b35d8b0
7
+ data.tar.gz: f3fd57c7d900a8f8f7e2c94281b1ac9dd7e25396b1d34c5348004dbd700c6715abd73fb8aca1f208e54050cc7b58851d327fed18ea4788a86c1ed2c5fd826f9e
@@ -1,7 +1,8 @@
1
1
  module ShelbyArena
2
2
  class Client
3
3
  module Fund
4
- def list_funds(options = {})
4
+ def list_funds
5
+ options = {}
5
6
  options[:api_sig] = generate_api_sig(fund_path, options)
6
7
  res = get(fund_path, options.sort)
7
8
  Response::Fund.format(res.dig('FundListResult', 'Funds', 'Fund'))
@@ -4,7 +4,7 @@ module ShelbyArena
4
4
  def list_people(options = {})
5
5
  options[:api_sig] = generate_api_sig(people_path, options)
6
6
  res = get(people_path, options.sort)
7
- Response::Person.format(res.dig('PersonListResult', 'Persons', 'Person'))
7
+ Response::Person.format_list(res.dig('PersonListResult', 'Persons', 'Person'))
8
8
  end
9
9
 
10
10
  def find_people_by_name_and_email(first_name, last_name, email)
@@ -43,7 +43,7 @@ module ShelbyArena
43
43
  end
44
44
 
45
45
  def to_boolean(string)
46
- string.downcase == 'true'
46
+ string&.downcase == 'true'
47
47
  end
48
48
 
49
49
  def date_parse(string)
@@ -13,7 +13,12 @@ module ShelbyArena
13
13
  }.freeze
14
14
 
15
15
  def format_single(data)
16
- to_h(MAP, data)
16
+ response = to_h(MAP, data)
17
+ response[:active] = to_boolean(response[:active])
18
+ response[:is_tax_deductible] = to_boolean(response[:is_tax_deductible])
19
+ response[:start_date] = date_parse(response[:start_date])
20
+ response[:end_date] = date_parse(response[:end_date])
21
+ response
17
22
  end
18
23
  end
19
24
  end
@@ -22,13 +22,23 @@ module ShelbyArena
22
22
  def set_email(raw_response)
23
23
  # find_person returns an array of `Emails`
24
24
  # list_person return `FirstActiveEmail`
25
- raw_response.dig('FirstActiveEmail') || raw_response.dig('Emails', 'Email', 0, 'Address')
25
+ emails_key = parse_emails_key(raw_response.dig('Emails', 'Email'))
26
+
27
+ raw_response.dig('FirstActiveEmail') || emails_key.first
26
28
  end
27
29
 
28
30
  def set_emails(raw_response)
29
31
  # find_person returns an array of `Emails`
30
32
  # list_person return `FirstActiveEmail`
31
- raw_response.dig('Emails', 'Email')&.map { |email| email.dig('Address') } || []
33
+ parse_emails_key(raw_response.dig('Emails', 'Email'))
34
+ end
35
+
36
+ def parse_emails_key(emails_key)
37
+ if emails_key.is_a?(Array)
38
+ emails_key&.map { |email| email.dig('Address') } || []
39
+ else
40
+ [emails_key&.dig('Address')] || []
41
+ end
32
42
  end
33
43
  end
34
44
  end
@@ -1,3 +1,3 @@
1
1
  module ShelbyArena
2
- VERSION = '0.0.2'.freeze
2
+ VERSION = '0.0.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shelby_arena
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Brooks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-13 00:00:00.000000000 Z
11
+ date: 2024-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday