snaptrade 2.0.31 → 2.0.32
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 +4 -4
- data/Gemfile.lock +31 -29
- data/README.md +4 -2
- data/lib/snaptrade/api/account_information_api.rb +6 -2
- data/lib/snaptrade/models/account_holdings_account.rb +1 -1
- data/lib/snaptrade/models/account_order_record.rb +4 -2
- data/lib/snaptrade/models/exchange.rb +9 -1
- data/lib/snaptrade/models/figi_instrument.rb +3 -1
- data/lib/snaptrade/models/option_brokerage_symbol.rb +3 -1
- data/lib/snaptrade/models/options_position.rb +1 -1
- data/lib/snaptrade/models/options_position_currency.rb +1 -0
- data/lib/snaptrade/models/options_symbol.rb +12 -24
- data/lib/snaptrade/models/position_symbol.rb +6 -1
- data/lib/snaptrade/models/security_type.rb +5 -1
- data/lib/snaptrade/models/symbol_figi_instrument.rb +2 -0
- data/lib/snaptrade/models/underlying_symbol.rb +20 -5
- data/lib/snaptrade/models/{model_portfolio.rb → underlying_symbol_exchange.rb} +73 -12
- data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -38
- data/lib/snaptrade/models/universal_symbol.rb +9 -3
- data/lib/snaptrade/models/{model_asset_class.rb → universal_symbol_currency.rb} +24 -4
- data/lib/snaptrade/models/{portfolio_group.rb → universal_symbol_exchange.rb} +78 -7
- data/lib/snaptrade/version.rb +1 -1
- data/lib/snaptrade.rb +4 -36
- data/spec/api/account_information_api_spec.rb +1 -1
- data/spec/models/options_symbol_spec.rb +0 -12
- data/spec/models/{brokerage_symbol_option_symbol_spec.rb → underlying_symbol_exchange_spec.rb} +14 -14
- data/spec/models/underlying_symbol_spec.rb +6 -0
- data/spec/models/{trade_impact_spec.rb → underlying_symbol_type_spec.rb} +10 -16
- data/spec/models/{model_portfolio_spec.rb → universal_symbol_currency_spec.rb} +8 -8
- data/spec/models/{trade_spec.rb → universal_symbol_exchange_spec.rb} +13 -13
- metadata +113 -209
- data/lib/snaptrade/models/brokerage_authorization_type.rb +0 -216
- data/lib/snaptrade/models/brokerage_authorization_type_type.rb +0 -37
- data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +0 -325
- data/lib/snaptrade/models/brokerage_symbol_symbol.rb +0 -339
- data/lib/snaptrade/models/calculated_trade.rb +0 -228
- data/lib/snaptrade/models/excluded_asset.rb +0 -217
- data/lib/snaptrade/models/jwt.rb +0 -217
- data/lib/snaptrade/models/model_asset_class_details.rb +0 -227
- data/lib/snaptrade/models/model_asset_class_target.rb +0 -216
- data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -249
- data/lib/snaptrade/models/model_portfolio_details.rb +0 -238
- data/lib/snaptrade/models/model_portfolio_security.rb +0 -249
- data/lib/snaptrade/models/model_type.rb +0 -38
- data/lib/snaptrade/models/portfolio_group_info.rb +0 -325
- data/lib/snaptrade/models/portfolio_group_position.rb +0 -237
- data/lib/snaptrade/models/portfolio_group_settings.rb +0 -276
- data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -226
- data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +0 -226
- data/lib/snaptrade/models/state.rb +0 -40
- data/lib/snaptrade/models/strategy_impact.rb +0 -309
- data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -270
- data/lib/snaptrade/models/strategy_order_place.rb +0 -228
- data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -596
- data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -270
- data/lib/snaptrade/models/target_asset.rb +0 -289
- data/lib/snaptrade/models/trade.rb +0 -280
- data/lib/snaptrade/models/trade_action.rb +0 -37
- data/lib/snaptrade/models/trade_execution_status.rb +0 -297
- data/lib/snaptrade/models/trade_execution_status_action.rb +0 -37
- data/lib/snaptrade/models/trade_impact.rb +0 -256
- data/lib/snaptrade/models/user_error_log.rb +0 -262
- data/lib/snaptrade/models/user_settings.rb +0 -298
- data/spec/models/brokerage_authorization_type_spec.rb +0 -29
- data/spec/models/brokerage_authorization_type_type_spec.rb +0 -23
- data/spec/models/brokerage_symbol_spec.rb +0 -59
- data/spec/models/brokerage_symbol_symbol_spec.rb +0 -83
- data/spec/models/calculated_trade_spec.rb +0 -35
- data/spec/models/excluded_asset_spec.rb +0 -29
- data/spec/models/jwt_spec.rb +0 -29
- data/spec/models/model_asset_class_details_spec.rb +0 -35
- data/spec/models/model_asset_class_spec.rb +0 -35
- data/spec/models/model_asset_class_target_spec.rb +0 -29
- data/spec/models/model_portfolio_asset_class_spec.rb +0 -35
- data/spec/models/model_portfolio_details_spec.rb +0 -41
- data/spec/models/model_portfolio_security_spec.rb +0 -35
- data/spec/models/model_type_spec.rb +0 -23
- data/spec/models/portfolio_group_info_spec.rb +0 -89
- data/spec/models/portfolio_group_position_spec.rb +0 -41
- data/spec/models/portfolio_group_settings_spec.rb +0 -53
- data/spec/models/portfolio_group_spec.rb +0 -35
- data/spec/models/redirect_tokenand_pin_spec.rb +0 -35
- data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +0 -35
- data/spec/models/state_spec.rb +0 -23
- data/spec/models/strategy_impact_legs_inner_spec.rb +0 -65
- data/spec/models/strategy_impact_spec.rb +0 -89
- data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -65
- data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -281
- data/spec/models/strategy_order_place_spec.rb +0 -35
- data/spec/models/target_asset_spec.rb +0 -59
- data/spec/models/trade_action_spec.rb +0 -23
- data/spec/models/trade_execution_status_action_spec.rb +0 -23
- data/spec/models/trade_execution_status_spec.rb +0 -77
- data/spec/models/user_error_log_spec.rb +0 -59
- data/spec/models/user_settings_spec.rb +0 -83
@@ -11,19 +11,38 @@ require 'date'
|
|
11
11
|
require 'time'
|
12
12
|
|
13
13
|
module SnapTrade
|
14
|
-
|
14
|
+
# The exchange on which the security is listed and traded.
|
15
|
+
class UnderlyingSymbolExchange
|
15
16
|
attr_accessor :id
|
16
17
|
|
18
|
+
attr_accessor :code
|
19
|
+
|
20
|
+
attr_accessor :mic_code
|
21
|
+
|
17
22
|
attr_accessor :name
|
18
23
|
|
19
|
-
attr_accessor :
|
24
|
+
attr_accessor :timezone
|
25
|
+
|
26
|
+
attr_accessor :start_time
|
27
|
+
|
28
|
+
attr_accessor :close_time
|
29
|
+
|
30
|
+
attr_accessor :suffix
|
31
|
+
|
32
|
+
attr_accessor :allows_cryptocurrency_symbols
|
20
33
|
|
21
34
|
# Attribute mapping from ruby-style variable name to JSON key.
|
22
35
|
def self.attribute_map
|
23
36
|
{
|
24
37
|
:'id' => :'id',
|
38
|
+
:'code' => :'code',
|
39
|
+
:'mic_code' => :'mic_code',
|
25
40
|
:'name' => :'name',
|
26
|
-
:'
|
41
|
+
:'timezone' => :'timezone',
|
42
|
+
:'start_time' => :'start_time',
|
43
|
+
:'close_time' => :'close_time',
|
44
|
+
:'suffix' => :'suffix',
|
45
|
+
:'allows_cryptocurrency_symbols' => :'allows_cryptocurrency_symbols'
|
27
46
|
}
|
28
47
|
end
|
29
48
|
|
@@ -36,28 +55,42 @@ module SnapTrade
|
|
36
55
|
def self.openapi_types
|
37
56
|
{
|
38
57
|
:'id' => :'String',
|
58
|
+
:'code' => :'String',
|
59
|
+
:'mic_code' => :'String',
|
39
60
|
:'name' => :'String',
|
40
|
-
:'
|
61
|
+
:'timezone' => :'String',
|
62
|
+
:'start_time' => :'String',
|
63
|
+
:'close_time' => :'String',
|
64
|
+
:'suffix' => :'String',
|
65
|
+
:'allows_cryptocurrency_symbols' => :'Boolean'
|
41
66
|
}
|
42
67
|
end
|
43
68
|
|
44
69
|
# List of attributes with nullable: true
|
45
70
|
def self.openapi_nullable
|
46
71
|
Set.new([
|
72
|
+
:'suffix',
|
47
73
|
])
|
48
74
|
end
|
49
75
|
|
76
|
+
# List of class defined in allOf (OpenAPI v3)
|
77
|
+
def self.openapi_all_of
|
78
|
+
[
|
79
|
+
:'USExchange'
|
80
|
+
]
|
81
|
+
end
|
82
|
+
|
50
83
|
# Initializes the object
|
51
84
|
# @param [Hash] attributes Model attributes in the form of hash
|
52
85
|
def initialize(attributes = {})
|
53
86
|
if (!attributes.is_a?(Hash))
|
54
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
87
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UnderlyingSymbolExchange` initialize method"
|
55
88
|
end
|
56
89
|
|
57
90
|
# check to see if the attribute exists and convert string to symbol for hash key
|
58
91
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
59
92
|
if (!self.class.attribute_map.key?(k.to_sym))
|
60
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
93
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UnderlyingSymbolExchange`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
61
94
|
end
|
62
95
|
h[k.to_sym] = v
|
63
96
|
}
|
@@ -66,14 +99,36 @@ module SnapTrade
|
|
66
99
|
self.id = attributes[:'id']
|
67
100
|
end
|
68
101
|
|
102
|
+
if attributes.key?(:'code')
|
103
|
+
self.code = attributes[:'code']
|
104
|
+
end
|
105
|
+
|
106
|
+
if attributes.key?(:'mic_code')
|
107
|
+
self.mic_code = attributes[:'mic_code']
|
108
|
+
end
|
109
|
+
|
69
110
|
if attributes.key?(:'name')
|
70
111
|
self.name = attributes[:'name']
|
71
112
|
end
|
72
113
|
|
73
|
-
if attributes.key?(:'
|
74
|
-
self.
|
75
|
-
|
76
|
-
|
114
|
+
if attributes.key?(:'timezone')
|
115
|
+
self.timezone = attributes[:'timezone']
|
116
|
+
end
|
117
|
+
|
118
|
+
if attributes.key?(:'start_time')
|
119
|
+
self.start_time = attributes[:'start_time']
|
120
|
+
end
|
121
|
+
|
122
|
+
if attributes.key?(:'close_time')
|
123
|
+
self.close_time = attributes[:'close_time']
|
124
|
+
end
|
125
|
+
|
126
|
+
if attributes.key?(:'suffix')
|
127
|
+
self.suffix = attributes[:'suffix']
|
128
|
+
end
|
129
|
+
|
130
|
+
if attributes.key?(:'allows_cryptocurrency_symbols')
|
131
|
+
self.allows_cryptocurrency_symbols = attributes[:'allows_cryptocurrency_symbols']
|
77
132
|
end
|
78
133
|
end
|
79
134
|
|
@@ -96,8 +151,14 @@ module SnapTrade
|
|
96
151
|
return true if self.equal?(o)
|
97
152
|
self.class == o.class &&
|
98
153
|
id == o.id &&
|
154
|
+
code == o.code &&
|
155
|
+
mic_code == o.mic_code &&
|
99
156
|
name == o.name &&
|
100
|
-
|
157
|
+
timezone == o.timezone &&
|
158
|
+
start_time == o.start_time &&
|
159
|
+
close_time == o.close_time &&
|
160
|
+
suffix == o.suffix &&
|
161
|
+
allows_cryptocurrency_symbols == o.allows_cryptocurrency_symbols
|
101
162
|
end
|
102
163
|
|
103
164
|
# @see the `==` method
|
@@ -109,7 +170,7 @@ module SnapTrade
|
|
109
170
|
# Calculates hash code according to all attributes.
|
110
171
|
# @return [Integer] Hash code
|
111
172
|
def hash
|
112
|
-
[id, name,
|
173
|
+
[id, code, mic_code, name, timezone, start_time, close_time, suffix, allows_cryptocurrency_symbols].hash
|
113
174
|
end
|
114
175
|
|
115
176
|
# Builds the object from hash
|
@@ -11,29 +11,27 @@ require 'date'
|
|
11
11
|
require 'time'
|
12
12
|
|
13
13
|
module SnapTrade
|
14
|
-
#
|
15
|
-
class
|
14
|
+
# The type of security. For example, \"Common Stock\" or \"ETF\".
|
15
|
+
class UnderlyingSymbolType
|
16
|
+
# Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
|
16
17
|
attr_accessor :id
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
attr_accessor :brokerage_authorization
|
19
|
+
# A short code representing the security type. For example, \"cs\" for Common Stock. Here are some common values: ad - ADR bnd - Bond cs - Common Stock cef - Closed End Fund et - ETF oef - Open Ended Fund ps - Preferred Stock rt - Right struct - Structured Product ut - Unit wi - When Issued wt - Warrant
|
20
|
+
attr_accessor :code
|
21
21
|
|
22
|
+
# A human-readable description of the security type. For example, \"Common Stock\" or \"ETF\".
|
22
23
|
attr_accessor :description
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
attr_accessor :option_symbol
|
25
|
+
# This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
|
26
|
+
attr_accessor :is_supported
|
27
27
|
|
28
28
|
# Attribute mapping from ruby-style variable name to JSON key.
|
29
29
|
def self.attribute_map
|
30
30
|
{
|
31
31
|
:'id' => :'id',
|
32
|
-
:'
|
33
|
-
:'brokerage_authorization' => :'brokerage_authorization',
|
32
|
+
:'code' => :'code',
|
34
33
|
:'description' => :'description',
|
35
|
-
:'
|
36
|
-
:'option_symbol' => :'option_symbol'
|
34
|
+
:'is_supported' => :'is_supported'
|
37
35
|
}
|
38
36
|
end
|
39
37
|
|
@@ -46,34 +44,36 @@ module SnapTrade
|
|
46
44
|
def self.openapi_types
|
47
45
|
{
|
48
46
|
:'id' => :'String',
|
49
|
-
:'
|
50
|
-
:'brokerage_authorization' => :'BrokerageAuthorization',
|
47
|
+
:'code' => :'String',
|
51
48
|
:'description' => :'String',
|
52
|
-
:'
|
53
|
-
:'option_symbol' => :'BrokerageSymbolOptionSymbol'
|
49
|
+
:'is_supported' => :'Boolean'
|
54
50
|
}
|
55
51
|
end
|
56
52
|
|
57
53
|
# List of attributes with nullable: true
|
58
54
|
def self.openapi_nullable
|
59
55
|
Set.new([
|
60
|
-
:'symbol',
|
61
|
-
:'allows_fractional_units',
|
62
|
-
:'option_symbol'
|
63
56
|
])
|
64
57
|
end
|
65
58
|
|
59
|
+
# List of class defined in allOf (OpenAPI v3)
|
60
|
+
def self.openapi_all_of
|
61
|
+
[
|
62
|
+
:'SecurityType'
|
63
|
+
]
|
64
|
+
end
|
65
|
+
|
66
66
|
# Initializes the object
|
67
67
|
# @param [Hash] attributes Model attributes in the form of hash
|
68
68
|
def initialize(attributes = {})
|
69
69
|
if (!attributes.is_a?(Hash))
|
70
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
70
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UnderlyingSymbolType` initialize method"
|
71
71
|
end
|
72
72
|
|
73
73
|
# check to see if the attribute exists and convert string to symbol for hash key
|
74
74
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
75
75
|
if (!self.class.attribute_map.key?(k.to_sym))
|
76
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
76
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UnderlyingSymbolType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
77
77
|
end
|
78
78
|
h[k.to_sym] = v
|
79
79
|
}
|
@@ -82,24 +82,16 @@ module SnapTrade
|
|
82
82
|
self.id = attributes[:'id']
|
83
83
|
end
|
84
84
|
|
85
|
-
if attributes.key?(:'
|
86
|
-
self.
|
87
|
-
end
|
88
|
-
|
89
|
-
if attributes.key?(:'brokerage_authorization')
|
90
|
-
self.brokerage_authorization = attributes[:'brokerage_authorization']
|
85
|
+
if attributes.key?(:'code')
|
86
|
+
self.code = attributes[:'code']
|
91
87
|
end
|
92
88
|
|
93
89
|
if attributes.key?(:'description')
|
94
90
|
self.description = attributes[:'description']
|
95
91
|
end
|
96
92
|
|
97
|
-
if attributes.key?(:'
|
98
|
-
self.
|
99
|
-
end
|
100
|
-
|
101
|
-
if attributes.key?(:'option_symbol')
|
102
|
-
self.option_symbol = attributes[:'option_symbol']
|
93
|
+
if attributes.key?(:'is_supported')
|
94
|
+
self.is_supported = attributes[:'is_supported']
|
103
95
|
end
|
104
96
|
end
|
105
97
|
|
@@ -122,11 +114,9 @@ module SnapTrade
|
|
122
114
|
return true if self.equal?(o)
|
123
115
|
self.class == o.class &&
|
124
116
|
id == o.id &&
|
125
|
-
|
126
|
-
brokerage_authorization == o.brokerage_authorization &&
|
117
|
+
code == o.code &&
|
127
118
|
description == o.description &&
|
128
|
-
|
129
|
-
option_symbol == o.option_symbol
|
119
|
+
is_supported == o.is_supported
|
130
120
|
end
|
131
121
|
|
132
122
|
# @see the `==` method
|
@@ -138,7 +128,7 @@ module SnapTrade
|
|
138
128
|
# Calculates hash code according to all attributes.
|
139
129
|
# @return [Integer] Hash code
|
140
130
|
def hash
|
141
|
-
[id,
|
131
|
+
[id, code, description, is_supported].hash
|
142
132
|
end
|
143
133
|
|
144
134
|
# Builds the object from hash
|
@@ -11,14 +11,18 @@ require 'date'
|
|
11
11
|
require 'time'
|
12
12
|
|
13
13
|
module SnapTrade
|
14
|
-
#
|
14
|
+
# Uniquely describes a single security + exchange combination across all brokerages.
|
15
15
|
class UniversalSymbol
|
16
|
+
# Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
|
16
17
|
attr_accessor :id
|
17
18
|
|
19
|
+
# The security's trading ticker symbol. For example \"AAPL\" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on \"Yahoo Finance Market Coverage and Data Delays\"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
|
18
20
|
attr_accessor :symbol
|
19
21
|
|
22
|
+
# The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is \"VAB.TO\", then `raw_symbol` is \"VAB\".
|
20
23
|
attr_accessor :raw_symbol
|
21
24
|
|
25
|
+
# A human-readable description of the security. This is usually the company name or ETF name.
|
22
26
|
attr_accessor :description
|
23
27
|
|
24
28
|
attr_accessor :currency
|
@@ -27,8 +31,10 @@ module SnapTrade
|
|
27
31
|
|
28
32
|
attr_accessor :type
|
29
33
|
|
34
|
+
# This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
|
30
35
|
attr_accessor :currencies
|
31
36
|
|
37
|
+
# This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information. This value should be the same as the `figi_code` in the `figi_instrument` child property.
|
32
38
|
attr_accessor :figi_code
|
33
39
|
|
34
40
|
attr_accessor :figi_instrument
|
@@ -61,8 +67,8 @@ module SnapTrade
|
|
61
67
|
:'symbol' => :'String',
|
62
68
|
:'raw_symbol' => :'String',
|
63
69
|
:'description' => :'String',
|
64
|
-
:'currency' => :'
|
65
|
-
:'exchange' => :'
|
70
|
+
:'currency' => :'UniversalSymbolCurrency',
|
71
|
+
:'exchange' => :'UniversalSymbolExchange',
|
66
72
|
:'type' => :'SecurityType',
|
67
73
|
:'currencies' => :'Array<Currency>',
|
68
74
|
:'figi_code' => :'String',
|
@@ -11,15 +11,22 @@ require 'date'
|
|
11
11
|
require 'time'
|
12
12
|
|
13
13
|
module SnapTrade
|
14
|
-
|
14
|
+
# The currency in which the security is traded.
|
15
|
+
class UniversalSymbolCurrency
|
16
|
+
# Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
|
15
17
|
attr_accessor :id
|
16
18
|
|
19
|
+
# The ISO-4217 currency code for the currency.
|
20
|
+
attr_accessor :code
|
21
|
+
|
22
|
+
# A human-friendly name of the currency.
|
17
23
|
attr_accessor :name
|
18
24
|
|
19
25
|
# Attribute mapping from ruby-style variable name to JSON key.
|
20
26
|
def self.attribute_map
|
21
27
|
{
|
22
28
|
:'id' => :'id',
|
29
|
+
:'code' => :'code',
|
23
30
|
:'name' => :'name'
|
24
31
|
}
|
25
32
|
end
|
@@ -33,6 +40,7 @@ module SnapTrade
|
|
33
40
|
def self.openapi_types
|
34
41
|
{
|
35
42
|
:'id' => :'String',
|
43
|
+
:'code' => :'String',
|
36
44
|
:'name' => :'String'
|
37
45
|
}
|
38
46
|
end
|
@@ -43,17 +51,24 @@ module SnapTrade
|
|
43
51
|
])
|
44
52
|
end
|
45
53
|
|
54
|
+
# List of class defined in allOf (OpenAPI v3)
|
55
|
+
def self.openapi_all_of
|
56
|
+
[
|
57
|
+
:'Currency'
|
58
|
+
]
|
59
|
+
end
|
60
|
+
|
46
61
|
# Initializes the object
|
47
62
|
# @param [Hash] attributes Model attributes in the form of hash
|
48
63
|
def initialize(attributes = {})
|
49
64
|
if (!attributes.is_a?(Hash))
|
50
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
65
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UniversalSymbolCurrency` initialize method"
|
51
66
|
end
|
52
67
|
|
53
68
|
# check to see if the attribute exists and convert string to symbol for hash key
|
54
69
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
55
70
|
if (!self.class.attribute_map.key?(k.to_sym))
|
56
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
71
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UniversalSymbolCurrency`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
57
72
|
end
|
58
73
|
h[k.to_sym] = v
|
59
74
|
}
|
@@ -62,6 +77,10 @@ module SnapTrade
|
|
62
77
|
self.id = attributes[:'id']
|
63
78
|
end
|
64
79
|
|
80
|
+
if attributes.key?(:'code')
|
81
|
+
self.code = attributes[:'code']
|
82
|
+
end
|
83
|
+
|
65
84
|
if attributes.key?(:'name')
|
66
85
|
self.name = attributes[:'name']
|
67
86
|
end
|
@@ -86,6 +105,7 @@ module SnapTrade
|
|
86
105
|
return true if self.equal?(o)
|
87
106
|
self.class == o.class &&
|
88
107
|
id == o.id &&
|
108
|
+
code == o.code &&
|
89
109
|
name == o.name
|
90
110
|
end
|
91
111
|
|
@@ -98,7 +118,7 @@ module SnapTrade
|
|
98
118
|
# Calculates hash code according to all attributes.
|
99
119
|
# @return [Integer] Hash code
|
100
120
|
def hash
|
101
|
-
[id, name].hash
|
121
|
+
[id, code, name].hash
|
102
122
|
end
|
103
123
|
|
104
124
|
# Builds the object from hash
|
@@ -11,16 +11,43 @@ require 'date'
|
|
11
11
|
require 'time'
|
12
12
|
|
13
13
|
module SnapTrade
|
14
|
-
|
14
|
+
# The exchange on which the security is listed and traded.
|
15
|
+
class UniversalSymbolExchange
|
16
|
+
# Unique ID for the exchange in SnapTrade.
|
15
17
|
attr_accessor :id
|
16
18
|
|
19
|
+
# A short name for the exchange. For standardized exchange code, please us the `mic_code` field.
|
20
|
+
attr_accessor :code
|
21
|
+
|
22
|
+
# The [Market Identifier Code](https://en.wikipedia.org/wiki/Market_Identifier_Code) (MIC) for the exchange.
|
23
|
+
attr_accessor :mic_code
|
24
|
+
|
25
|
+
# The full name of the exchange.
|
17
26
|
attr_accessor :name
|
18
27
|
|
28
|
+
# The timezone for the trading hours (`start_time` and `close_time`) of the exchange.
|
29
|
+
attr_accessor :timezone
|
30
|
+
|
31
|
+
# The time when the exchange opens for trading.
|
32
|
+
attr_accessor :start_time
|
33
|
+
|
34
|
+
# The time when the exchange closes for trading.
|
35
|
+
attr_accessor :close_time
|
36
|
+
|
37
|
+
# The suffix to be appended to the symbol when trading on this exchange. For example, the suffix for the Toronto Stock Exchange is `.TO`. See `UniversalSymbol->symbol` and `UniversalSymbol->raw_symbol` for more detail.
|
38
|
+
attr_accessor :suffix
|
39
|
+
|
19
40
|
# Attribute mapping from ruby-style variable name to JSON key.
|
20
41
|
def self.attribute_map
|
21
42
|
{
|
22
43
|
:'id' => :'id',
|
23
|
-
:'
|
44
|
+
:'code' => :'code',
|
45
|
+
:'mic_code' => :'mic_code',
|
46
|
+
:'name' => :'name',
|
47
|
+
:'timezone' => :'timezone',
|
48
|
+
:'start_time' => :'start_time',
|
49
|
+
:'close_time' => :'close_time',
|
50
|
+
:'suffix' => :'suffix'
|
24
51
|
}
|
25
52
|
end
|
26
53
|
|
@@ -33,27 +60,41 @@ module SnapTrade
|
|
33
60
|
def self.openapi_types
|
34
61
|
{
|
35
62
|
:'id' => :'String',
|
36
|
-
:'
|
63
|
+
:'code' => :'String',
|
64
|
+
:'mic_code' => :'String',
|
65
|
+
:'name' => :'String',
|
66
|
+
:'timezone' => :'String',
|
67
|
+
:'start_time' => :'String',
|
68
|
+
:'close_time' => :'String',
|
69
|
+
:'suffix' => :'String'
|
37
70
|
}
|
38
71
|
end
|
39
72
|
|
40
73
|
# List of attributes with nullable: true
|
41
74
|
def self.openapi_nullable
|
42
75
|
Set.new([
|
76
|
+
:'suffix'
|
43
77
|
])
|
44
78
|
end
|
45
79
|
|
80
|
+
# List of class defined in allOf (OpenAPI v3)
|
81
|
+
def self.openapi_all_of
|
82
|
+
[
|
83
|
+
:'Exchange'
|
84
|
+
]
|
85
|
+
end
|
86
|
+
|
46
87
|
# Initializes the object
|
47
88
|
# @param [Hash] attributes Model attributes in the form of hash
|
48
89
|
def initialize(attributes = {})
|
49
90
|
if (!attributes.is_a?(Hash))
|
50
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::
|
91
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UniversalSymbolExchange` initialize method"
|
51
92
|
end
|
52
93
|
|
53
94
|
# check to see if the attribute exists and convert string to symbol for hash key
|
54
95
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
55
96
|
if (!self.class.attribute_map.key?(k.to_sym))
|
56
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::
|
97
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UniversalSymbolExchange`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
57
98
|
end
|
58
99
|
h[k.to_sym] = v
|
59
100
|
}
|
@@ -62,9 +103,33 @@ module SnapTrade
|
|
62
103
|
self.id = attributes[:'id']
|
63
104
|
end
|
64
105
|
|
106
|
+
if attributes.key?(:'code')
|
107
|
+
self.code = attributes[:'code']
|
108
|
+
end
|
109
|
+
|
110
|
+
if attributes.key?(:'mic_code')
|
111
|
+
self.mic_code = attributes[:'mic_code']
|
112
|
+
end
|
113
|
+
|
65
114
|
if attributes.key?(:'name')
|
66
115
|
self.name = attributes[:'name']
|
67
116
|
end
|
117
|
+
|
118
|
+
if attributes.key?(:'timezone')
|
119
|
+
self.timezone = attributes[:'timezone']
|
120
|
+
end
|
121
|
+
|
122
|
+
if attributes.key?(:'start_time')
|
123
|
+
self.start_time = attributes[:'start_time']
|
124
|
+
end
|
125
|
+
|
126
|
+
if attributes.key?(:'close_time')
|
127
|
+
self.close_time = attributes[:'close_time']
|
128
|
+
end
|
129
|
+
|
130
|
+
if attributes.key?(:'suffix')
|
131
|
+
self.suffix = attributes[:'suffix']
|
132
|
+
end
|
68
133
|
end
|
69
134
|
|
70
135
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -86,7 +151,13 @@ module SnapTrade
|
|
86
151
|
return true if self.equal?(o)
|
87
152
|
self.class == o.class &&
|
88
153
|
id == o.id &&
|
89
|
-
|
154
|
+
code == o.code &&
|
155
|
+
mic_code == o.mic_code &&
|
156
|
+
name == o.name &&
|
157
|
+
timezone == o.timezone &&
|
158
|
+
start_time == o.start_time &&
|
159
|
+
close_time == o.close_time &&
|
160
|
+
suffix == o.suffix
|
90
161
|
end
|
91
162
|
|
92
163
|
# @see the `==` method
|
@@ -98,7 +169,7 @@ module SnapTrade
|
|
98
169
|
# Calculates hash code according to all attributes.
|
99
170
|
# @return [Integer] Hash code
|
100
171
|
def hash
|
101
|
-
[id, name].hash
|
172
|
+
[id, code, mic_code, name, timezone, start_time, close_time, suffix].hash
|
102
173
|
end
|
103
174
|
|
104
175
|
# Builds the object from hash
|
data/lib/snaptrade/version.rb
CHANGED
data/lib/snaptrade.rb
CHANGED
@@ -34,16 +34,10 @@ require 'snaptrade/models/brokerage'
|
|
34
34
|
require 'snaptrade/models/brokerage_authorization'
|
35
35
|
require 'snaptrade/models/brokerage_authorization_disabled_confirmation'
|
36
36
|
require 'snaptrade/models/brokerage_authorization_refresh_confirmation'
|
37
|
-
require 'snaptrade/models/brokerage_authorization_type'
|
38
37
|
require 'snaptrade/models/brokerage_authorization_type_read_only'
|
39
38
|
require 'snaptrade/models/brokerage_authorization_type_read_only_brokerage'
|
40
39
|
require 'snaptrade/models/brokerage_authorization_type_read_only_type'
|
41
|
-
require 'snaptrade/models/brokerage_authorization_type_type'
|
42
|
-
require 'snaptrade/models/brokerage_symbol'
|
43
|
-
require 'snaptrade/models/brokerage_symbol_option_symbol'
|
44
|
-
require 'snaptrade/models/brokerage_symbol_symbol'
|
45
40
|
require 'snaptrade/models/brokerage_type'
|
46
|
-
require 'snaptrade/models/calculated_trade'
|
47
41
|
require 'snaptrade/models/cash_restriction'
|
48
42
|
require 'snaptrade/models/connection_portal_version'
|
49
43
|
require 'snaptrade/models/connection_type'
|
@@ -55,10 +49,8 @@ require 'snaptrade/models/encrypted_response'
|
|
55
49
|
require 'snaptrade/models/encrypted_response_encrypted_message_data'
|
56
50
|
require 'snaptrade/models/exchange'
|
57
51
|
require 'snaptrade/models/exchange_rate_pairs'
|
58
|
-
require 'snaptrade/models/excluded_asset'
|
59
52
|
require 'snaptrade/models/figi_instrument'
|
60
53
|
require 'snaptrade/models/holdings_status'
|
61
|
-
require 'snaptrade/models/jwt'
|
62
54
|
require 'snaptrade/models/login_redirect_uri'
|
63
55
|
require 'snaptrade/models/manual_trade'
|
64
56
|
require 'snaptrade/models/manual_trade_and_impact'
|
@@ -74,14 +66,6 @@ require 'snaptrade/models/model403_failed_request_response'
|
|
74
66
|
require 'snaptrade/models/model403_feature_not_enabled_response'
|
75
67
|
require 'snaptrade/models/model404_failed_request_response'
|
76
68
|
require 'snaptrade/models/model500_unexpected_exception_response'
|
77
|
-
require 'snaptrade/models/model_asset_class'
|
78
|
-
require 'snaptrade/models/model_asset_class_details'
|
79
|
-
require 'snaptrade/models/model_asset_class_target'
|
80
|
-
require 'snaptrade/models/model_portfolio'
|
81
|
-
require 'snaptrade/models/model_portfolio_asset_class'
|
82
|
-
require 'snaptrade/models/model_portfolio_details'
|
83
|
-
require 'snaptrade/models/model_portfolio_security'
|
84
|
-
require 'snaptrade/models/model_type'
|
85
69
|
require 'snaptrade/models/monthly_dividends'
|
86
70
|
require 'snaptrade/models/net_contributions'
|
87
71
|
require 'snaptrade/models/net_dividend'
|
@@ -104,30 +88,18 @@ require 'snaptrade/models/order_type_strict'
|
|
104
88
|
require 'snaptrade/models/partner_data'
|
105
89
|
require 'snaptrade/models/past_value'
|
106
90
|
require 'snaptrade/models/performance_custom'
|
107
|
-
require 'snaptrade/models/portfolio_group'
|
108
|
-
require 'snaptrade/models/portfolio_group_info'
|
109
|
-
require 'snaptrade/models/portfolio_group_position'
|
110
|
-
require 'snaptrade/models/portfolio_group_settings'
|
111
91
|
require 'snaptrade/models/position'
|
112
92
|
require 'snaptrade/models/position_symbol'
|
113
|
-
require 'snaptrade/models/redirect_tokenand_pin'
|
114
93
|
require 'snaptrade/models/security_type'
|
115
94
|
require 'snaptrade/models/session_event'
|
116
95
|
require 'snaptrade/models/session_event_type'
|
117
|
-
require 'snaptrade/models/snap_trade_api_disclaimer_accept_status'
|
118
96
|
require 'snaptrade/models/snap_trade_holdings_account'
|
119
97
|
require 'snaptrade/models/snap_trade_holdings_account_account_id'
|
120
98
|
require 'snaptrade/models/snap_trade_holdings_account_account_id_balance'
|
121
99
|
require 'snaptrade/models/snap_trade_holdings_total_value'
|
122
100
|
require 'snaptrade/models/snap_trade_login_user_request_body'
|
123
101
|
require 'snaptrade/models/snap_trade_register_user_request_body'
|
124
|
-
require 'snaptrade/models/state'
|
125
102
|
require 'snaptrade/models/status'
|
126
|
-
require 'snaptrade/models/strategy_impact'
|
127
|
-
require 'snaptrade/models/strategy_impact_legs_inner'
|
128
|
-
require 'snaptrade/models/strategy_order_place'
|
129
|
-
require 'snaptrade/models/strategy_order_place_orders_inner'
|
130
|
-
require 'snaptrade/models/strategy_order_place_orders_inner_legs_inner'
|
131
103
|
require 'snaptrade/models/strategy_order_record'
|
132
104
|
require 'snaptrade/models/strategy_order_record_status'
|
133
105
|
require 'snaptrade/models/strategy_quotes'
|
@@ -138,23 +110,19 @@ require 'snaptrade/models/symbol'
|
|
138
110
|
require 'snaptrade/models/symbol_figi_instrument'
|
139
111
|
require 'snaptrade/models/symbol_query'
|
140
112
|
require 'snaptrade/models/symbols_quotes_inner'
|
141
|
-
require 'snaptrade/models/target_asset'
|
142
113
|
require 'snaptrade/models/time_in_force_strict'
|
143
|
-
require 'snaptrade/models/trade'
|
144
|
-
require 'snaptrade/models/trade_action'
|
145
|
-
require 'snaptrade/models/trade_execution_status'
|
146
|
-
require 'snaptrade/models/trade_execution_status_action'
|
147
|
-
require 'snaptrade/models/trade_impact'
|
148
114
|
require 'snaptrade/models/trading_cancel_user_account_order_request'
|
149
115
|
require 'snaptrade/models/transactions_status'
|
150
116
|
require 'snaptrade/models/type'
|
151
117
|
require 'snaptrade/models/us_exchange'
|
152
118
|
require 'snaptrade/models/underlying_symbol'
|
119
|
+
require 'snaptrade/models/underlying_symbol_exchange'
|
120
|
+
require 'snaptrade/models/underlying_symbol_type'
|
153
121
|
require 'snaptrade/models/universal_activity'
|
154
122
|
require 'snaptrade/models/universal_symbol'
|
155
|
-
require 'snaptrade/models/
|
123
|
+
require 'snaptrade/models/universal_symbol_currency'
|
124
|
+
require 'snaptrade/models/universal_symbol_exchange'
|
156
125
|
require 'snaptrade/models/user_i_dand_secret'
|
157
|
-
require 'snaptrade/models/user_settings'
|
158
126
|
require 'snaptrade/models/validated_trade_body'
|
159
127
|
|
160
128
|
# APIs
|