snaptrade 2.0.30 → 2.0.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +31 -29
  3. data/README.md +5 -7
  4. data/lib/snaptrade/api/account_information_api.rb +16 -16
  5. data/lib/snaptrade/models/account_balance.rb +1 -1
  6. data/lib/snaptrade/models/account_balance_total.rb +2 -0
  7. data/lib/snaptrade/models/account_holdings_account.rb +5 -1
  8. data/lib/snaptrade/models/account_order_record.rb +4 -2
  9. data/lib/snaptrade/models/amount.rb +2 -0
  10. data/lib/snaptrade/models/balance.rb +3 -1
  11. data/lib/snaptrade/models/currency.rb +4 -1
  12. data/lib/snaptrade/models/exchange.rb +9 -1
  13. data/lib/snaptrade/models/figi_instrument.rb +3 -1
  14. data/lib/snaptrade/models/option_brokerage_symbol.rb +3 -1
  15. data/lib/snaptrade/models/options_position.rb +4 -3
  16. data/lib/snaptrade/models/options_position_currency.rb +4 -0
  17. data/lib/snaptrade/models/options_symbol.rb +12 -24
  18. data/lib/snaptrade/models/position.rb +6 -4
  19. data/lib/snaptrade/models/position_symbol.rb +6 -1
  20. data/lib/snaptrade/models/security_type.rb +5 -1
  21. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +11 -3
  22. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +3 -1
  23. data/lib/snaptrade/models/symbol_figi_instrument.rb +2 -0
  24. data/lib/snaptrade/models/underlying_symbol.rb +20 -5
  25. data/lib/snaptrade/models/{model_portfolio.rb → underlying_symbol_exchange.rb} +73 -12
  26. data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -38
  27. data/lib/snaptrade/models/universal_symbol.rb +9 -3
  28. data/lib/snaptrade/models/{model_asset_class.rb → universal_symbol_currency.rb} +24 -4
  29. data/lib/snaptrade/models/{portfolio_group.rb → universal_symbol_exchange.rb} +78 -7
  30. data/lib/snaptrade/version.rb +1 -1
  31. data/lib/snaptrade.rb +4 -37
  32. data/spec/api/account_information_api_spec.rb +3 -3
  33. data/spec/models/options_symbol_spec.rb +0 -12
  34. data/spec/models/{brokerage_symbol_option_symbol_spec.rb → underlying_symbol_exchange_spec.rb} +14 -14
  35. data/spec/models/underlying_symbol_spec.rb +6 -0
  36. data/spec/models/{trade_impact_spec.rb → underlying_symbol_type_spec.rb} +10 -16
  37. data/spec/models/{model_portfolio_spec.rb → universal_symbol_currency_spec.rb} +8 -8
  38. data/spec/models/{trade_spec.rb → universal_symbol_exchange_spec.rb} +13 -13
  39. metadata +113 -212
  40. data/lib/snaptrade/models/brokerage_authorization_type.rb +0 -216
  41. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +0 -37
  42. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +0 -325
  43. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +0 -339
  44. data/lib/snaptrade/models/calculated_trade.rb +0 -228
  45. data/lib/snaptrade/models/excluded_asset.rb +0 -217
  46. data/lib/snaptrade/models/jwt.rb +0 -217
  47. data/lib/snaptrade/models/model_asset_class_details.rb +0 -227
  48. data/lib/snaptrade/models/model_asset_class_target.rb +0 -216
  49. data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -249
  50. data/lib/snaptrade/models/model_portfolio_details.rb +0 -238
  51. data/lib/snaptrade/models/model_portfolio_security.rb +0 -249
  52. data/lib/snaptrade/models/model_type.rb +0 -38
  53. data/lib/snaptrade/models/options_holdings.rb +0 -267
  54. data/lib/snaptrade/models/portfolio_group_info.rb +0 -325
  55. data/lib/snaptrade/models/portfolio_group_position.rb +0 -237
  56. data/lib/snaptrade/models/portfolio_group_settings.rb +0 -276
  57. data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -226
  58. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +0 -226
  59. data/lib/snaptrade/models/state.rb +0 -40
  60. data/lib/snaptrade/models/strategy_impact.rb +0 -309
  61. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -270
  62. data/lib/snaptrade/models/strategy_order_place.rb +0 -228
  63. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -596
  64. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -270
  65. data/lib/snaptrade/models/target_asset.rb +0 -289
  66. data/lib/snaptrade/models/trade.rb +0 -280
  67. data/lib/snaptrade/models/trade_action.rb +0 -37
  68. data/lib/snaptrade/models/trade_execution_status.rb +0 -297
  69. data/lib/snaptrade/models/trade_execution_status_action.rb +0 -37
  70. data/lib/snaptrade/models/trade_impact.rb +0 -256
  71. data/lib/snaptrade/models/user_error_log.rb +0 -262
  72. data/lib/snaptrade/models/user_settings.rb +0 -298
  73. data/spec/models/brokerage_authorization_type_spec.rb +0 -29
  74. data/spec/models/brokerage_authorization_type_type_spec.rb +0 -23
  75. data/spec/models/brokerage_symbol_spec.rb +0 -59
  76. data/spec/models/brokerage_symbol_symbol_spec.rb +0 -83
  77. data/spec/models/calculated_trade_spec.rb +0 -35
  78. data/spec/models/excluded_asset_spec.rb +0 -29
  79. data/spec/models/jwt_spec.rb +0 -29
  80. data/spec/models/model_asset_class_details_spec.rb +0 -35
  81. data/spec/models/model_asset_class_spec.rb +0 -35
  82. data/spec/models/model_asset_class_target_spec.rb +0 -29
  83. data/spec/models/model_portfolio_asset_class_spec.rb +0 -35
  84. data/spec/models/model_portfolio_details_spec.rb +0 -41
  85. data/spec/models/model_portfolio_security_spec.rb +0 -35
  86. data/spec/models/model_type_spec.rb +0 -23
  87. data/spec/models/options_holdings_spec.rb +0 -59
  88. data/spec/models/portfolio_group_info_spec.rb +0 -89
  89. data/spec/models/portfolio_group_position_spec.rb +0 -41
  90. data/spec/models/portfolio_group_settings_spec.rb +0 -53
  91. data/spec/models/portfolio_group_spec.rb +0 -35
  92. data/spec/models/redirect_tokenand_pin_spec.rb +0 -35
  93. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +0 -35
  94. data/spec/models/state_spec.rb +0 -23
  95. data/spec/models/strategy_impact_legs_inner_spec.rb +0 -65
  96. data/spec/models/strategy_impact_spec.rb +0 -89
  97. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -65
  98. data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -281
  99. data/spec/models/strategy_order_place_spec.rb +0 -35
  100. data/spec/models/target_asset_spec.rb +0 -59
  101. data/spec/models/trade_action_spec.rb +0 -23
  102. data/spec/models/trade_execution_status_action_spec.rb +0 -23
  103. data/spec/models/trade_execution_status_spec.rb +0 -77
  104. data/spec/models/user_error_log_spec.rb +0 -59
  105. 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