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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +31 -29
  3. data/README.md +4 -2
  4. data/lib/snaptrade/api/account_information_api.rb +6 -2
  5. data/lib/snaptrade/models/account_holdings_account.rb +1 -1
  6. data/lib/snaptrade/models/account_order_record.rb +4 -2
  7. data/lib/snaptrade/models/exchange.rb +9 -1
  8. data/lib/snaptrade/models/figi_instrument.rb +3 -1
  9. data/lib/snaptrade/models/option_brokerage_symbol.rb +3 -1
  10. data/lib/snaptrade/models/options_position.rb +1 -1
  11. data/lib/snaptrade/models/options_position_currency.rb +1 -0
  12. data/lib/snaptrade/models/options_symbol.rb +12 -24
  13. data/lib/snaptrade/models/position_symbol.rb +6 -1
  14. data/lib/snaptrade/models/security_type.rb +5 -1
  15. data/lib/snaptrade/models/symbol_figi_instrument.rb +2 -0
  16. data/lib/snaptrade/models/underlying_symbol.rb +20 -5
  17. data/lib/snaptrade/models/{model_portfolio.rb → underlying_symbol_exchange.rb} +73 -12
  18. data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -38
  19. data/lib/snaptrade/models/universal_symbol.rb +9 -3
  20. data/lib/snaptrade/models/{model_asset_class.rb → universal_symbol_currency.rb} +24 -4
  21. data/lib/snaptrade/models/{portfolio_group.rb → universal_symbol_exchange.rb} +78 -7
  22. data/lib/snaptrade/version.rb +1 -1
  23. data/lib/snaptrade.rb +4 -36
  24. data/spec/api/account_information_api_spec.rb +1 -1
  25. data/spec/models/options_symbol_spec.rb +0 -12
  26. data/spec/models/{brokerage_symbol_option_symbol_spec.rb → underlying_symbol_exchange_spec.rb} +14 -14
  27. data/spec/models/underlying_symbol_spec.rb +6 -0
  28. data/spec/models/{trade_impact_spec.rb → underlying_symbol_type_spec.rb} +10 -16
  29. data/spec/models/{model_portfolio_spec.rb → universal_symbol_currency_spec.rb} +8 -8
  30. data/spec/models/{trade_spec.rb → universal_symbol_exchange_spec.rb} +13 -13
  31. metadata +113 -209
  32. data/lib/snaptrade/models/brokerage_authorization_type.rb +0 -216
  33. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +0 -37
  34. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +0 -325
  35. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +0 -339
  36. data/lib/snaptrade/models/calculated_trade.rb +0 -228
  37. data/lib/snaptrade/models/excluded_asset.rb +0 -217
  38. data/lib/snaptrade/models/jwt.rb +0 -217
  39. data/lib/snaptrade/models/model_asset_class_details.rb +0 -227
  40. data/lib/snaptrade/models/model_asset_class_target.rb +0 -216
  41. data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -249
  42. data/lib/snaptrade/models/model_portfolio_details.rb +0 -238
  43. data/lib/snaptrade/models/model_portfolio_security.rb +0 -249
  44. data/lib/snaptrade/models/model_type.rb +0 -38
  45. data/lib/snaptrade/models/portfolio_group_info.rb +0 -325
  46. data/lib/snaptrade/models/portfolio_group_position.rb +0 -237
  47. data/lib/snaptrade/models/portfolio_group_settings.rb +0 -276
  48. data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -226
  49. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +0 -226
  50. data/lib/snaptrade/models/state.rb +0 -40
  51. data/lib/snaptrade/models/strategy_impact.rb +0 -309
  52. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -270
  53. data/lib/snaptrade/models/strategy_order_place.rb +0 -228
  54. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -596
  55. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -270
  56. data/lib/snaptrade/models/target_asset.rb +0 -289
  57. data/lib/snaptrade/models/trade.rb +0 -280
  58. data/lib/snaptrade/models/trade_action.rb +0 -37
  59. data/lib/snaptrade/models/trade_execution_status.rb +0 -297
  60. data/lib/snaptrade/models/trade_execution_status_action.rb +0 -37
  61. data/lib/snaptrade/models/trade_impact.rb +0 -256
  62. data/lib/snaptrade/models/user_error_log.rb +0 -262
  63. data/lib/snaptrade/models/user_settings.rb +0 -298
  64. data/spec/models/brokerage_authorization_type_spec.rb +0 -29
  65. data/spec/models/brokerage_authorization_type_type_spec.rb +0 -23
  66. data/spec/models/brokerage_symbol_spec.rb +0 -59
  67. data/spec/models/brokerage_symbol_symbol_spec.rb +0 -83
  68. data/spec/models/calculated_trade_spec.rb +0 -35
  69. data/spec/models/excluded_asset_spec.rb +0 -29
  70. data/spec/models/jwt_spec.rb +0 -29
  71. data/spec/models/model_asset_class_details_spec.rb +0 -35
  72. data/spec/models/model_asset_class_spec.rb +0 -35
  73. data/spec/models/model_asset_class_target_spec.rb +0 -29
  74. data/spec/models/model_portfolio_asset_class_spec.rb +0 -35
  75. data/spec/models/model_portfolio_details_spec.rb +0 -41
  76. data/spec/models/model_portfolio_security_spec.rb +0 -35
  77. data/spec/models/model_type_spec.rb +0 -23
  78. data/spec/models/portfolio_group_info_spec.rb +0 -89
  79. data/spec/models/portfolio_group_position_spec.rb +0 -41
  80. data/spec/models/portfolio_group_settings_spec.rb +0 -53
  81. data/spec/models/portfolio_group_spec.rb +0 -35
  82. data/spec/models/redirect_tokenand_pin_spec.rb +0 -35
  83. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +0 -35
  84. data/spec/models/state_spec.rb +0 -23
  85. data/spec/models/strategy_impact_legs_inner_spec.rb +0 -65
  86. data/spec/models/strategy_impact_spec.rb +0 -89
  87. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -65
  88. data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -281
  89. data/spec/models/strategy_order_place_spec.rb +0 -35
  90. data/spec/models/target_asset_spec.rb +0 -59
  91. data/spec/models/trade_action_spec.rb +0 -23
  92. data/spec/models/trade_execution_status_action_spec.rb +0 -23
  93. data/spec/models/trade_execution_status_spec.rb +0 -77
  94. data/spec/models/user_error_log_spec.rb +0 -59
  95. data/spec/models/user_settings_spec.rb +0 -83
@@ -1,280 +0,0 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
- =end
9
-
10
- require 'date'
11
- require 'time'
12
-
13
- module SnapTrade
14
- # A trade object
15
- class Trade
16
- attr_accessor :id
17
-
18
- attr_accessor :account
19
-
20
- attr_accessor :symbol
21
-
22
- attr_accessor :universal_symbol
23
-
24
- attr_accessor :action
25
-
26
- attr_accessor :units
27
-
28
- attr_accessor :price
29
-
30
- attr_accessor :sequence
31
-
32
- # Attribute mapping from ruby-style variable name to JSON key.
33
- def self.attribute_map
34
- {
35
- :'id' => :'id',
36
- :'account' => :'account',
37
- :'symbol' => :'symbol',
38
- :'universal_symbol' => :'universal_symbol',
39
- :'action' => :'action',
40
- :'units' => :'units',
41
- :'price' => :'price',
42
- :'sequence' => :'sequence'
43
- }
44
- end
45
-
46
- # Returns all the JSON keys this model knows about
47
- def self.acceptable_attributes
48
- attribute_map.values
49
- end
50
-
51
- # Attribute type mapping.
52
- def self.openapi_types
53
- {
54
- :'id' => :'String',
55
- :'account' => :'Account',
56
- :'symbol' => :'BrokerageSymbol',
57
- :'universal_symbol' => :'UniversalSymbol',
58
- :'action' => :'TradeAction',
59
- :'units' => :'Integer',
60
- :'price' => :'Float',
61
- :'sequence' => :'Integer'
62
- }
63
- end
64
-
65
- # List of attributes with nullable: true
66
- def self.openapi_nullable
67
- Set.new([
68
- ])
69
- end
70
-
71
- # Initializes the object
72
- # @param [Hash] attributes Model attributes in the form of hash
73
- def initialize(attributes = {})
74
- if (!attributes.is_a?(Hash))
75
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::Trade` initialize method"
76
- end
77
-
78
- # check to see if the attribute exists and convert string to symbol for hash key
79
- attributes = attributes.each_with_object({}) { |(k, v), h|
80
- if (!self.class.attribute_map.key?(k.to_sym))
81
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::Trade`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
- end
83
- h[k.to_sym] = v
84
- }
85
-
86
- if attributes.key?(:'id')
87
- self.id = attributes[:'id']
88
- end
89
-
90
- if attributes.key?(:'account')
91
- self.account = attributes[:'account']
92
- end
93
-
94
- if attributes.key?(:'symbol')
95
- self.symbol = attributes[:'symbol']
96
- end
97
-
98
- if attributes.key?(:'universal_symbol')
99
- self.universal_symbol = attributes[:'universal_symbol']
100
- end
101
-
102
- if attributes.key?(:'action')
103
- self.action = attributes[:'action']
104
- end
105
-
106
- if attributes.key?(:'units')
107
- self.units = attributes[:'units']
108
- end
109
-
110
- if attributes.key?(:'price')
111
- self.price = attributes[:'price']
112
- end
113
-
114
- if attributes.key?(:'sequence')
115
- self.sequence = attributes[:'sequence']
116
- end
117
- end
118
-
119
- # Show invalid properties with the reasons. Usually used together with valid?
120
- # @return Array for valid properties with the reasons
121
- def list_invalid_properties
122
- invalid_properties = Array.new
123
- invalid_properties
124
- end
125
-
126
- # Check to see if the all the properties in the model are valid
127
- # @return true if the model is valid
128
- def valid?
129
- true
130
- end
131
-
132
- # Checks equality by comparing each attribute.
133
- # @param [Object] Object to be compared
134
- def ==(o)
135
- return true if self.equal?(o)
136
- self.class == o.class &&
137
- id == o.id &&
138
- account == o.account &&
139
- symbol == o.symbol &&
140
- universal_symbol == o.universal_symbol &&
141
- action == o.action &&
142
- units == o.units &&
143
- price == o.price &&
144
- sequence == o.sequence
145
- end
146
-
147
- # @see the `==` method
148
- # @param [Object] Object to be compared
149
- def eql?(o)
150
- self == o
151
- end
152
-
153
- # Calculates hash code according to all attributes.
154
- # @return [Integer] Hash code
155
- def hash
156
- [id, account, symbol, universal_symbol, action, units, price, sequence].hash
157
- end
158
-
159
- # Builds the object from hash
160
- # @param [Hash] attributes Model attributes in the form of hash
161
- # @return [Object] Returns the model itself
162
- def self.build_from_hash(attributes)
163
- new.build_from_hash(attributes)
164
- end
165
-
166
- # Builds the object from hash
167
- # @param [Hash] attributes Model attributes in the form of hash
168
- # @return [Object] Returns the model itself
169
- def build_from_hash(attributes)
170
- return nil unless attributes.is_a?(Hash)
171
- attributes = attributes.transform_keys(&:to_sym)
172
- self.class.openapi_types.each_pair do |key, type|
173
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
174
- self.send("#{key}=", nil)
175
- elsif type =~ /\AArray<(.*)>/i
176
- # check to ensure the input is an array given that the attribute
177
- # is documented as an array but the input is not
178
- if attributes[self.class.attribute_map[key]].is_a?(Array)
179
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
180
- end
181
- elsif !attributes[self.class.attribute_map[key]].nil?
182
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
183
- end
184
- end
185
-
186
- self
187
- end
188
-
189
- # Deserializes the data based on type
190
- # @param string type Data type
191
- # @param string value Value to be deserialized
192
- # @return [Object] Deserialized data
193
- def _deserialize(type, value)
194
- case type.to_sym
195
- when :Time
196
- Time.parse(value)
197
- when :Date
198
- Date.parse(value)
199
- when :String
200
- value.to_s
201
- when :Integer
202
- value.to_i
203
- when :Float
204
- value.to_f
205
- when :Boolean
206
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
207
- true
208
- else
209
- false
210
- end
211
- when :Object
212
- # generic object (usually a Hash), return directly
213
- value
214
- when /\AArray<(?<inner_type>.+)>\z/
215
- inner_type = Regexp.last_match[:inner_type]
216
- value.map { |v| _deserialize(inner_type, v) }
217
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
218
- k_type = Regexp.last_match[:k_type]
219
- v_type = Regexp.last_match[:v_type]
220
- {}.tap do |hash|
221
- value.each do |k, v|
222
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
223
- end
224
- end
225
- else # model
226
- # models (e.g. Pet) or oneOf
227
- klass = SnapTrade.const_get(type)
228
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
229
- end
230
- end
231
-
232
- # Returns the string representation of the object
233
- # @return [String] String presentation of the object
234
- def to_s
235
- to_hash.to_s
236
- end
237
-
238
- # to_body is an alias to to_hash (backward compatibility)
239
- # @return [Hash] Returns the object in the form of hash
240
- def to_body
241
- to_hash
242
- end
243
-
244
- # Returns the object in the form of hash
245
- # @return [Hash] Returns the object in the form of hash
246
- def to_hash
247
- hash = {}
248
- self.class.attribute_map.each_pair do |attr, param|
249
- value = self.send(attr)
250
- if value.nil?
251
- is_nullable = self.class.openapi_nullable.include?(attr)
252
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
253
- end
254
-
255
- hash[param] = _to_hash(value)
256
- end
257
- hash
258
- end
259
-
260
- # Outputs non-array value in the form of hash
261
- # For object, use to_hash. Otherwise, just return the value
262
- # @param [Object] value Any valid value
263
- # @return [Hash] Returns the value in the form of hash
264
- def _to_hash(value)
265
- if value.is_a?(Array)
266
- value.compact.map { |v| _to_hash(v) }
267
- elsif value.is_a?(Hash)
268
- {}.tap do |hash|
269
- value.each { |k, v| hash[k] = _to_hash(v) }
270
- end
271
- elsif value.respond_to? :to_hash
272
- value.to_hash
273
- else
274
- value
275
- end
276
- end
277
-
278
- end
279
-
280
- end
@@ -1,37 +0,0 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
- =end
9
-
10
- require 'date'
11
- require 'time'
12
-
13
- module SnapTrade
14
- class TradeAction
15
- BUY = "BUY".freeze
16
- SELL = "SELL".freeze
17
-
18
- def self.all_vars
19
- @all_vars ||= [BUY, SELL].freeze
20
- end
21
-
22
- # Builds the enum from string
23
- # @param [String] The enum value in the form of the string
24
- # @return [String] The enum value
25
- def self.build_from_hash(value)
26
- new.build_from_hash(value)
27
- end
28
-
29
- # Builds the enum from string
30
- # @param [String] The enum value in the form of the string
31
- # @return [String] The enum value
32
- def build_from_hash(value)
33
- return value if TradeAction.all_vars.include?(value)
34
- raise "Invalid ENUM value #{value} for class #TradeAction"
35
- end
36
- end
37
- end
@@ -1,297 +0,0 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
- =end
9
-
10
- require 'date'
11
- require 'time'
12
-
13
- module SnapTrade
14
- # Execution status of a trade
15
- class TradeExecutionStatus
16
- attr_accessor :symbol
17
-
18
- attr_accessor :universal_symbol
19
-
20
- attr_accessor :trade
21
-
22
- # Execution state of a trade
23
- attr_accessor :state
24
-
25
- # Number of filled units
26
- attr_accessor :filled_units
27
-
28
- # Action of executed trade
29
- attr_accessor :action
30
-
31
- # Price of execution
32
- attr_accessor :price
33
-
34
- # Fees paid from executing trade
35
- attr_accessor :commissions
36
-
37
- # Other misc. data
38
- attr_accessor :meta
39
-
40
- # Attribute mapping from ruby-style variable name to JSON key.
41
- def self.attribute_map
42
- {
43
- :'symbol' => :'symbol',
44
- :'universal_symbol' => :'universal_symbol',
45
- :'trade' => :'trade',
46
- :'state' => :'state',
47
- :'filled_units' => :'filled_units',
48
- :'action' => :'action',
49
- :'price' => :'price',
50
- :'commissions' => :'commissions',
51
- :'meta' => :'meta'
52
- }
53
- end
54
-
55
- # Returns all the JSON keys this model knows about
56
- def self.acceptable_attributes
57
- attribute_map.values
58
- end
59
-
60
- # Attribute type mapping.
61
- def self.openapi_types
62
- {
63
- :'symbol' => :'BrokerageSymbol',
64
- :'universal_symbol' => :'UniversalSymbol',
65
- :'trade' => :'Trade',
66
- :'state' => :'State',
67
- :'filled_units' => :'Integer',
68
- :'action' => :'TradeExecutionStatusAction',
69
- :'price' => :'Float',
70
- :'commissions' => :'Float',
71
- :'meta' => :'Hash<String, Object>'
72
- }
73
- end
74
-
75
- # List of attributes with nullable: true
76
- def self.openapi_nullable
77
- Set.new([
78
- ])
79
- end
80
-
81
- # Initializes the object
82
- # @param [Hash] attributes Model attributes in the form of hash
83
- def initialize(attributes = {})
84
- if (!attributes.is_a?(Hash))
85
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::TradeExecutionStatus` initialize method"
86
- end
87
-
88
- # check to see if the attribute exists and convert string to symbol for hash key
89
- attributes = attributes.each_with_object({}) { |(k, v), h|
90
- if (!self.class.attribute_map.key?(k.to_sym))
91
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::TradeExecutionStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
92
- end
93
- h[k.to_sym] = v
94
- }
95
-
96
- if attributes.key?(:'symbol')
97
- self.symbol = attributes[:'symbol']
98
- end
99
-
100
- if attributes.key?(:'universal_symbol')
101
- self.universal_symbol = attributes[:'universal_symbol']
102
- end
103
-
104
- if attributes.key?(:'trade')
105
- self.trade = attributes[:'trade']
106
- end
107
-
108
- if attributes.key?(:'state')
109
- self.state = attributes[:'state']
110
- end
111
-
112
- if attributes.key?(:'filled_units')
113
- self.filled_units = attributes[:'filled_units']
114
- end
115
-
116
- if attributes.key?(:'action')
117
- self.action = attributes[:'action']
118
- end
119
-
120
- if attributes.key?(:'price')
121
- self.price = attributes[:'price']
122
- end
123
-
124
- if attributes.key?(:'commissions')
125
- self.commissions = attributes[:'commissions']
126
- end
127
-
128
- if attributes.key?(:'meta')
129
- if (value = attributes[:'meta']).is_a?(Hash)
130
- self.meta = value
131
- end
132
- end
133
- end
134
-
135
- # Show invalid properties with the reasons. Usually used together with valid?
136
- # @return Array for valid properties with the reasons
137
- def list_invalid_properties
138
- invalid_properties = Array.new
139
- invalid_properties
140
- end
141
-
142
- # Check to see if the all the properties in the model are valid
143
- # @return true if the model is valid
144
- def valid?
145
- true
146
- end
147
-
148
- # Checks equality by comparing each attribute.
149
- # @param [Object] Object to be compared
150
- def ==(o)
151
- return true if self.equal?(o)
152
- self.class == o.class &&
153
- symbol == o.symbol &&
154
- universal_symbol == o.universal_symbol &&
155
- trade == o.trade &&
156
- state == o.state &&
157
- filled_units == o.filled_units &&
158
- action == o.action &&
159
- price == o.price &&
160
- commissions == o.commissions &&
161
- meta == o.meta
162
- end
163
-
164
- # @see the `==` method
165
- # @param [Object] Object to be compared
166
- def eql?(o)
167
- self == o
168
- end
169
-
170
- # Calculates hash code according to all attributes.
171
- # @return [Integer] Hash code
172
- def hash
173
- [symbol, universal_symbol, trade, state, filled_units, action, price, commissions, meta].hash
174
- end
175
-
176
- # Builds the object from hash
177
- # @param [Hash] attributes Model attributes in the form of hash
178
- # @return [Object] Returns the model itself
179
- def self.build_from_hash(attributes)
180
- new.build_from_hash(attributes)
181
- end
182
-
183
- # Builds the object from hash
184
- # @param [Hash] attributes Model attributes in the form of hash
185
- # @return [Object] Returns the model itself
186
- def build_from_hash(attributes)
187
- return nil unless attributes.is_a?(Hash)
188
- attributes = attributes.transform_keys(&:to_sym)
189
- self.class.openapi_types.each_pair do |key, type|
190
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
191
- self.send("#{key}=", nil)
192
- elsif type =~ /\AArray<(.*)>/i
193
- # check to ensure the input is an array given that the attribute
194
- # is documented as an array but the input is not
195
- if attributes[self.class.attribute_map[key]].is_a?(Array)
196
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
197
- end
198
- elsif !attributes[self.class.attribute_map[key]].nil?
199
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
200
- end
201
- end
202
-
203
- self
204
- end
205
-
206
- # Deserializes the data based on type
207
- # @param string type Data type
208
- # @param string value Value to be deserialized
209
- # @return [Object] Deserialized data
210
- def _deserialize(type, value)
211
- case type.to_sym
212
- when :Time
213
- Time.parse(value)
214
- when :Date
215
- Date.parse(value)
216
- when :String
217
- value.to_s
218
- when :Integer
219
- value.to_i
220
- when :Float
221
- value.to_f
222
- when :Boolean
223
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
224
- true
225
- else
226
- false
227
- end
228
- when :Object
229
- # generic object (usually a Hash), return directly
230
- value
231
- when /\AArray<(?<inner_type>.+)>\z/
232
- inner_type = Regexp.last_match[:inner_type]
233
- value.map { |v| _deserialize(inner_type, v) }
234
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
235
- k_type = Regexp.last_match[:k_type]
236
- v_type = Regexp.last_match[:v_type]
237
- {}.tap do |hash|
238
- value.each do |k, v|
239
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
240
- end
241
- end
242
- else # model
243
- # models (e.g. Pet) or oneOf
244
- klass = SnapTrade.const_get(type)
245
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
246
- end
247
- end
248
-
249
- # Returns the string representation of the object
250
- # @return [String] String presentation of the object
251
- def to_s
252
- to_hash.to_s
253
- end
254
-
255
- # to_body is an alias to to_hash (backward compatibility)
256
- # @return [Hash] Returns the object in the form of hash
257
- def to_body
258
- to_hash
259
- end
260
-
261
- # Returns the object in the form of hash
262
- # @return [Hash] Returns the object in the form of hash
263
- def to_hash
264
- hash = {}
265
- self.class.attribute_map.each_pair do |attr, param|
266
- value = self.send(attr)
267
- if value.nil?
268
- is_nullable = self.class.openapi_nullable.include?(attr)
269
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
270
- end
271
-
272
- hash[param] = _to_hash(value)
273
- end
274
- hash
275
- end
276
-
277
- # Outputs non-array value in the form of hash
278
- # For object, use to_hash. Otherwise, just return the value
279
- # @param [Object] value Any valid value
280
- # @return [Hash] Returns the value in the form of hash
281
- def _to_hash(value)
282
- if value.is_a?(Array)
283
- value.compact.map { |v| _to_hash(v) }
284
- elsif value.is_a?(Hash)
285
- {}.tap do |hash|
286
- value.each { |k, v| hash[k] = _to_hash(v) }
287
- end
288
- elsif value.respond_to? :to_hash
289
- value.to_hash
290
- else
291
- value
292
- end
293
- end
294
-
295
- end
296
-
297
- end
@@ -1,37 +0,0 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
- =end
9
-
10
- require 'date'
11
- require 'time'
12
-
13
- module SnapTrade
14
- class TradeExecutionStatusAction
15
- BUY = "BUY".freeze
16
- SELL = "SELL".freeze
17
-
18
- def self.all_vars
19
- @all_vars ||= [BUY, SELL].freeze
20
- end
21
-
22
- # Builds the enum from string
23
- # @param [String] The enum value in the form of the string
24
- # @return [String] The enum value
25
- def self.build_from_hash(value)
26
- new.build_from_hash(value)
27
- end
28
-
29
- # Builds the enum from string
30
- # @param [String] The enum value in the form of the string
31
- # @return [String] The enum value
32
- def build_from_hash(value)
33
- return value if TradeExecutionStatusAction.all_vars.include?(value)
34
- raise "Invalid ENUM value #{value} for class #TradeExecutionStatusAction"
35
- end
36
- end
37
- end