snaptrade 2.0.31 → 2.0.32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|