tessitura_rest 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.rubocop.yml +23 -7
  4. data/.travis.yml +1 -1
  5. data/lib/tessitura_rest/crm/accounts.rb +4 -3
  6. data/lib/tessitura_rest/crm/actions.rb +16 -18
  7. data/lib/tessitura_rest/crm/addresses.rb +79 -80
  8. data/lib/tessitura_rest/crm/attributes.rb +9 -10
  9. data/lib/tessitura_rest/crm/constituencies.rb +8 -9
  10. data/lib/tessitura_rest/crm/constituents.rb +72 -75
  11. data/lib/tessitura_rest/crm/issues.rb +21 -23
  12. data/lib/tessitura_rest/crm/phones.rb +12 -13
  13. data/lib/tessitura_rest/crm/web_logins.rb +2 -4
  14. data/lib/tessitura_rest/custom/email.rb +15 -15
  15. data/lib/tessitura_rest/custom/local_procedure.rb +2 -2
  16. data/lib/tessitura_rest/diagnostics/diagnostics.rb +2 -2
  17. data/lib/tessitura_rest/finance/appeals.rb +1 -2
  18. data/lib/tessitura_rest/finance/gift_certificates.rb +1 -2
  19. data/lib/tessitura_rest/reference_data/countries.rb +2 -3
  20. data/lib/tessitura_rest/reference_data/sections.rb +1 -2
  21. data/lib/tessitura_rest/reference_data/states.rb +2 -3
  22. data/lib/tessitura_rest/security/security_user_groups.rb +2 -3
  23. data/lib/tessitura_rest/txn/orders.rb +8 -11
  24. data/lib/tessitura_rest/txn/package.rb +11 -11
  25. data/lib/tessitura_rest/txn/payments.rb +1 -1
  26. data/lib/tessitura_rest/txn/performance_extension.rb +15 -14
  27. data/lib/tessitura_rest/txn/performance_package_mode_of_sales.rb +2 -4
  28. data/lib/tessitura_rest/txn/price_types.rb +2 -4
  29. data/lib/tessitura_rest/txn/product_keywords.rb +1 -3
  30. data/lib/tessitura_rest/txn/production_extension.rb +2 -3
  31. data/lib/tessitura_rest/txn/production_season.rb +3 -5
  32. data/lib/tessitura_rest/txn/sub_line_items.rb +4 -4
  33. data/lib/tessitura_rest/txn/web_contents.rb +1 -3
  34. data/lib/tessitura_rest/version.rb +1 -1
  35. data/lib/tessitura_rest/web/cart.rb +141 -143
  36. data/lib/tessitura_rest/web/login.rb +26 -13
  37. data/lib/tessitura_rest/web/payment_plan_extension.rb +18 -19
  38. data/lib/tessitura_rest/web/registration.rb +34 -36
  39. data/lib/tessitura_rest/web/session.rb +37 -38
  40. data/lib/tessitura_rest.rb +1 -2
  41. data/tessitura_rest.gemspec +17 -15
  42. metadata +19 -19
@@ -1,42 +1,40 @@
1
1
  module Registration
2
-
3
- def register_user(session_key, address, first_name, last_name, email, password, promotion, special_offer, phone, options={})
2
+ def register_user(session_key, address, first_name, last_name, email, password, promotion, special_offer, phone, options = {})
4
3
  parameters =
5
- {
6
- 'FirstName': first_name,
7
- 'LastName': last_name,
8
- 'ElectronicAddress': {
9
- 'Address': email,
10
- 'AllowMarketing': special_offer || 0,
11
- },
12
- 'WebLogin': {
13
- 'Login': email,
14
- 'LoginTypeId': 1,
15
- 'Password': password
16
- },
17
- 'Address': {
18
- 'AddressTypeId': 3,
19
- 'City': address.city,
20
- 'PostalCode': address.postal_code,
21
- 'StateId': address.state,
22
- 'Street1': address.street1,
23
- 'Street2': address.street2,
24
- 'CountryId': address.country
25
- },
26
- 'ConstituentTypeId': 1,
27
- 'OriginalSourceId': 3,
28
- 'SourceId': promotion,
29
- 'Phones':
30
- [
31
- {
32
- 'PhoneNumber': phone,
33
- 'PhoneTypeId': 1
34
- },
35
- ],
36
- }
4
+ {
5
+ 'FirstName': first_name,
6
+ 'LastName': last_name,
7
+ 'ElectronicAddress': {
8
+ 'Address': email,
9
+ 'AllowMarketing': special_offer || 0,
10
+ },
11
+ 'WebLogin': {
12
+ 'Login': email,
13
+ 'LoginTypeId': 1,
14
+ 'Password': password,
15
+ },
16
+ 'Address': {
17
+ 'AddressTypeId': 3,
18
+ 'City': address.city,
19
+ 'PostalCode': address.postal_code,
20
+ 'StateId': address.state,
21
+ 'Street1': address.street1,
22
+ 'Street2': address.street2,
23
+ 'CountryId': address.country,
24
+ },
25
+ 'ConstituentTypeId': 1,
26
+ 'OriginalSourceId': 3,
27
+ 'SourceId': promotion,
28
+ 'Phones':
29
+ [
30
+ {
31
+ 'PhoneNumber': phone,
32
+ 'PhoneTypeId': 1,
33
+ },
34
+ ],
35
+ }
37
36
  options.merge!(basic_auth: @auth, headers: @headers)
38
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
37
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
39
38
  self.class.post(base_api_endpoint("Web/Registration/#{session_key}/Register"), options)
40
39
  end
41
-
42
40
  end
@@ -1,30 +1,29 @@
1
1
  module Session
2
-
3
- def get_session(key, options={})
2
+ def get_session(key, options = {})
4
3
  options.merge!(basic_auth: @auth, headers: @headers)
5
4
  response = self.class.get(base_api_endpoint("Web/Session/#{key}"), options)
6
5
  JSON.parse(response.body)
7
6
  end
8
7
 
9
- def create_session(ip, options={})
8
+ def create_session(ip, options = {})
10
9
  parameters =
11
- {
12
- 'IpAddress': ip,
13
- 'Organization': 'Tessitura Web'
14
- }
10
+ {
11
+ 'IpAddress': ip,
12
+ 'Organization': 'Tessitura Web',
13
+ }
15
14
  options.merge!(basic_auth: @auth, headers: @headers)
16
15
  options.merge!(body: parameters)
17
16
  response = self.class.post(base_api_endpoint('Web/Session'), options)
18
17
  JSON.parse(response.body)
19
18
  end
20
19
 
21
- def get_expiration(key, options={})
20
+ def get_expiration(key, options = {})
22
21
  options.merge!(basic_auth: @auth, headers: @headers)
23
22
  response = self.class.get(base_api_endpoint("Web/Session/#{key}/Expiration"), options)
24
23
  JSON.parse(response.body)
25
24
  end
26
25
 
27
- def transfer_session(session_key, new_session_key, options={})
26
+ def transfer_session(session_key, new_session_key, options = {})
28
27
  parameters =
29
28
  {
30
29
  'NewSessionKey': new_session_key,
@@ -34,34 +33,34 @@ module Session
34
33
  self.class.post(base_api_endpoint("Web/Session/#{session_key}/Transfer"), options)
35
34
  end
36
35
 
37
- def get_variables(key, options={})
36
+ def get_variables(key, options = {})
38
37
  options.merge!(basic_auth: @auth, headers: @headers)
39
38
  response = self.class.get(base_api_endpoint("Web/Session/#{key}/Variables"), options)
40
39
  JSON.parse(response.body)
41
40
  end
42
41
 
43
- def set_expiration(key, timeoffset, expiration, options={})
42
+ def set_expiration(key, timeoffset, expiration, options = {})
44
43
  parameters =
45
- {
46
- 'Expiration': expiration,
47
- 'TimeOffset': timeoffset
48
- }
44
+ {
45
+ 'Expiration': expiration,
46
+ 'TimeOffset': timeoffset,
47
+ }
49
48
  options.merge!(basic_auth: @auth, headers: @headers)
50
49
  options.merge!(:body => parameters)
51
50
  response = self.class.put(base_api_endpoint("Web/Session/#{key}/Expiration"), options)
52
51
  JSON.parse(response.body)
53
52
  end
54
53
 
55
- def load_existing_order(key, order_id, options={})
54
+ def load_existing_order(key, order_id, options = {})
56
55
  options.merge!(basic_auth: @auth, headers: @headers)
57
56
  self.class.post(base_api_endpoint("Web/Session/#{key}/LoadOrder/#{order_id}"), options)
58
57
  end
59
58
 
60
- def get_promotion(key, code, code_string, options={})
59
+ def get_promotion(key, code, code_string, options = {})
61
60
  parameters =
62
61
  {
63
62
  'PromoCode': code,
64
- 'PromoCodeString': code_string
63
+ 'PromoCodeString': code_string,
65
64
  }
66
65
  options.merge!(basic_auth: @auth, headers: @headers)
67
66
  options.merge!(:body => parameters)
@@ -69,42 +68,42 @@ module Session
69
68
  JSON.parse(response.body)
70
69
  end
71
70
 
72
- def get_renewals(key, season_id, renewal, mode_of_sale, options={})
71
+ def get_renewals(key, season_id, renewal, mode_of_sale, options = {})
73
72
  options.merge!(basic_auth: @auth, headers: @headers)
74
73
  response = self.class.get(base_api_endpoint("Web/Session/#{key}/Orders/Search?seasonId=#{season_id}&renewalsOnly=#{renewal}&modeOfSaleId=#{mode_of_sale}"), options)
75
74
  JSON.parse(response.body)
76
75
  end
77
76
 
78
- def send_credentials(key, email, login_type, template_id, options={})
77
+ def send_credentials(key, email, login_type, template_id, options = {})
79
78
  parameters =
80
- {
81
- 'TemplateFormatId': template_id,
82
- 'LoginTypeId': login_type,
83
- 'EmailAddress': email
84
- }
79
+ {
80
+ 'TemplateFormatId': template_id,
81
+ 'LoginTypeId': login_type,
82
+ 'EmailAddress': email,
83
+ }
85
84
  options.merge!(basic_auth: @auth, headers: @headers)
86
85
  options.merge!(:body => parameters)
87
86
  self.class.post(base_api_endpoint("/Web/Session/#{key}/Login/SendCredentials"), options)
88
87
  end
89
88
 
90
- def update_login(key, user_name, old_password, new_password, email, new_email, options={})
89
+ def update_login(key, user_name, old_password, new_password, email, new_email, options = {})
91
90
  parameters =
92
- {
93
- 'LoginName': user_name,
94
- 'NewLoginName': new_email,
95
- 'Password': old_password,
96
- 'NewPassword': new_password,
97
- 'EmailAddress': email,
98
- 'NewEmailAddress': new_email,
99
- 'LoginTypeId': 1,
100
- 'PromotionCode': 0,
101
- }
91
+ {
92
+ 'LoginName': user_name,
93
+ 'NewLoginName': new_email,
94
+ 'Password': old_password,
95
+ 'NewPassword': new_password,
96
+ 'EmailAddress': email,
97
+ 'NewEmailAddress': new_email,
98
+ 'LoginTypeId': 1,
99
+ 'PromotionCode': 0,
100
+ }
102
101
  options.merge!(basic_auth: @auth, headers: @headers)
103
- options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
102
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
104
103
  self.class.put(base_api_endpoint("Web/Session/#{key}/WebLogins"), options)
105
104
  end
106
105
 
107
- def get_shipping_methods(key, options={})
106
+ def get_shipping_methods(key, options = {})
108
107
  options.merge!(basic_auth: @auth, headers: @headers)
109
108
  response = self.class.get(base_api_endpoint("Web/Session/#{key}/DeliveryMethods"), options)
110
109
  JSON.parse(response.body)
@@ -42,7 +42,7 @@ class TessituraRest
42
42
  include WebContents
43
43
  include WebLogins
44
44
 
45
- def initialize(options={})
45
+ def initialize(options = {})
46
46
  @auth = { username: ENV['TESSITURA_USERNAME'],
47
47
  password: ENV['TESSITURA_PASSWORD'] }
48
48
  @headers = { 'Accept': 'application/json' }
@@ -51,5 +51,4 @@ class TessituraRest
51
51
  def base_api_endpoint(end_point)
52
52
  "#{ENV['TESSITURA_URL']}#{end_point}"
53
53
  end
54
-
55
54
  end
@@ -1,29 +1,31 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'tessitura_rest/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "tessitura_rest"
8
+ spec.required_ruby_version = '>= 2.6.0'
9
+ spec.name = 'tessitura_rest'
8
10
  spec.version = TessituraRest::VERSION
9
11
  spec.authors = ['Brittany Martin, Danielle Greaves, Craig Donavin, Patrick FitzGerald']
10
12
  spec.email = ['webteam@trustarts.org']
11
13
 
12
- spec.summary = "Rest API Endpoint for the Tessitura Rest API (v14+)."
13
- spec.description = "TessituraRest is an enterprise-wide, fully integrated software system for arts & cultural organizations."
14
- spec.homepage = "https://github.com/pgharts/tessitura"
15
- spec.license = "MIT"
14
+ spec.summary = 'Rest API Endpoint for the Tessitura Rest API (v14+).'
15
+ spec.description = 'TessituraRest is an enterprise-wide, fully integrated software system for arts & cultural organizations.'
16
+ spec.homepage = 'https://github.com/pgharts/tessitura'
17
+ spec.license = 'MIT'
16
18
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "exe"
19
+ spec.bindir = 'exe'
18
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
21
+ spec.require_paths = ['lib']
20
22
 
21
- spec.add_development_dependency "bundler", "~> 2.0"
22
- spec.add_development_dependency "rake", "~> 13.0"
23
- spec.add_development_dependency "rspec", "~> 3.0"
24
- spec.add_development_dependency "pry"
23
+ spec.add_development_dependency 'bundler', '~> 2.0'
24
+ spec.add_development_dependency 'pry'
25
+ spec.add_development_dependency 'rake', '~> 13.0'
26
+ spec.add_development_dependency 'rspec', '~> 3.0'
25
27
 
26
- spec.add_dependency "json"
27
- spec.add_dependency "httparty"
28
- spec.add_dependency "require_all"
28
+ spec.add_dependency 'httparty'
29
+ spec.add_dependency 'json'
30
+ spec.add_dependency 'require_all'
29
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tessitura_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brittany Martin, Danielle Greaves, Craig Donavin, Patrick FitzGerald
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-22 00:00:00.000000000 Z
11
+ date: 2022-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,49 +25,49 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '13.0'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '13.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pry
56
+ name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: json
70
+ name: httparty
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: httparty
84
+ name: json
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -180,14 +180,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
- version: '0'
183
+ version: 2.6.0
184
184
  required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - ">="
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  requirements: []
190
- rubygems_version: 3.2.15
190
+ rubygems_version: 3.3.6
191
191
  signing_key:
192
192
  specification_version: 4
193
193
  summary: Rest API Endpoint for the Tessitura Rest API (v14+).