snaptrade 1.12.0 → 1.13.0

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 (302) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Gemfile.lock +12 -10
  4. data/README.md +220 -218
  5. data/docs/APIStatusApi.md +57 -57
  6. data/docs/AccountInformationApi.md +535 -535
  7. data/docs/AuthenticationApi.md +314 -314
  8. data/docs/BrokerageSymbol.md +28 -26
  9. data/docs/BrokerageSymbolOptionSymbol.md +38 -0
  10. data/docs/BrokerageSymbolSymbol.md +32 -0
  11. data/docs/ConnectionsApi.md +265 -265
  12. data/docs/ErrorLogsApi.md +68 -68
  13. data/docs/OptionsApi.md +378 -378
  14. data/docs/ReferenceDataApi.md +595 -595
  15. data/docs/TradingApi.md +478 -478
  16. data/docs/TransactionsAndReportingApi.md +183 -183
  17. data/docs/UniversalActivity.md +48 -48
  18. data/docs/UserIDandSecret.md +20 -20
  19. data/lib/snaptrade/api/account_information_api.rb +801 -801
  20. data/lib/snaptrade/api/api_status_api.rb +98 -98
  21. data/lib/snaptrade/api/authentication_api.rb +481 -481
  22. data/lib/snaptrade/api/connections_api.rb +398 -398
  23. data/lib/snaptrade/api/error_logs_api.rb +112 -112
  24. data/lib/snaptrade/api/options_api.rb +591 -591
  25. data/lib/snaptrade/api/reference_data_api.rb +894 -894
  26. data/lib/snaptrade/api/trading_api.rb +741 -741
  27. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
  28. data/lib/snaptrade/api_client.rb +427 -427
  29. data/lib/snaptrade/api_client_custom.rb +32 -32
  30. data/lib/snaptrade/api_error.rb +6 -6
  31. data/lib/snaptrade/configuration.rb +334 -334
  32. data/lib/snaptrade/models/account.rb +6 -6
  33. data/lib/snaptrade/models/account_holdings.rb +6 -6
  34. data/lib/snaptrade/models/account_holdings_account.rb +6 -6
  35. data/lib/snaptrade/models/account_order_record.rb +6 -6
  36. data/lib/snaptrade/models/account_order_record_status.rb +6 -6
  37. data/lib/snaptrade/models/account_simple.rb +6 -6
  38. data/lib/snaptrade/models/account_sync_status.rb +6 -6
  39. data/lib/snaptrade/models/action.rb +6 -6
  40. data/lib/snaptrade/models/auth_type.rb +6 -6
  41. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
  42. data/lib/snaptrade/models/balance.rb +6 -6
  43. data/lib/snaptrade/models/brokerage.rb +6 -6
  44. data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
  45. data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
  46. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
  47. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
  48. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
  49. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
  50. data/lib/snaptrade/models/brokerage_symbol.rb +266 -255
  51. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +316 -0
  52. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +290 -0
  53. data/lib/snaptrade/models/brokerage_type.rb +6 -6
  54. data/lib/snaptrade/models/calculated_trade.rb +6 -6
  55. data/lib/snaptrade/models/cash_restriction.rb +6 -6
  56. data/lib/snaptrade/models/connection_type.rb +6 -6
  57. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
  58. data/lib/snaptrade/models/currency.rb +6 -6
  59. data/lib/snaptrade/models/delete_user_response.rb +6 -6
  60. data/lib/snaptrade/models/dividend_at_date.rb +6 -6
  61. data/lib/snaptrade/models/encrypted_response.rb +6 -6
  62. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
  63. data/lib/snaptrade/models/exchange.rb +6 -6
  64. data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
  65. data/lib/snaptrade/models/excluded_asset.rb +6 -6
  66. data/lib/snaptrade/models/jwt.rb +6 -6
  67. data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
  68. data/lib/snaptrade/models/manual_trade.rb +6 -6
  69. data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
  70. data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
  71. data/lib/snaptrade/models/manual_trade_form.rb +6 -6
  72. data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
  73. data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
  74. data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
  75. data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
  76. data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
  77. data/lib/snaptrade/models/model_asset_class.rb +6 -6
  78. data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
  79. data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
  80. data/lib/snaptrade/models/model_portfolio.rb +6 -6
  81. data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
  82. data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
  83. data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
  84. data/lib/snaptrade/models/model_type.rb +6 -6
  85. data/lib/snaptrade/models/monthly_dividends.rb +6 -6
  86. data/lib/snaptrade/models/net_contributions.rb +6 -6
  87. data/lib/snaptrade/models/net_dividend.rb +6 -6
  88. data/lib/snaptrade/models/option_chain_inner.rb +6 -6
  89. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
  90. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
  91. data/lib/snaptrade/models/option_leg.rb +6 -6
  92. data/lib/snaptrade/models/option_leg_action.rb +6 -6
  93. data/lib/snaptrade/models/option_strategy.rb +6 -6
  94. data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
  95. data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
  96. data/lib/snaptrade/models/options_holdings.rb +6 -6
  97. data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
  98. data/lib/snaptrade/models/options_position.rb +6 -6
  99. data/lib/snaptrade/models/options_symbol.rb +6 -6
  100. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
  101. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
  102. data/lib/snaptrade/models/order_type.rb +6 -6
  103. data/lib/snaptrade/models/partner_data.rb +6 -6
  104. data/lib/snaptrade/models/past_value.rb +6 -6
  105. data/lib/snaptrade/models/performance_custom.rb +6 -6
  106. data/lib/snaptrade/models/portfolio_group.rb +6 -6
  107. data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
  108. data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
  109. data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
  110. data/lib/snaptrade/models/position.rb +6 -6
  111. data/lib/snaptrade/models/position_symbol.rb +6 -6
  112. data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
  113. data/lib/snaptrade/models/security_type.rb +6 -6
  114. data/lib/snaptrade/models/session_event.rb +6 -6
  115. data/lib/snaptrade/models/session_event_type.rb +6 -6
  116. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
  117. data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
  118. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
  119. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
  120. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
  121. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
  122. data/lib/snaptrade/models/state.rb +6 -6
  123. data/lib/snaptrade/models/status.rb +6 -6
  124. data/lib/snaptrade/models/strategy_impact.rb +6 -6
  125. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
  126. data/lib/snaptrade/models/strategy_order_place.rb +6 -6
  127. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
  128. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
  129. data/lib/snaptrade/models/strategy_order_record.rb +6 -6
  130. data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
  131. data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
  132. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
  133. data/lib/snaptrade/models/strategy_quotes.rb +6 -6
  134. data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
  135. data/lib/snaptrade/models/strategy_type.rb +6 -6
  136. data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
  137. data/lib/snaptrade/models/symbol.rb +6 -6
  138. data/lib/snaptrade/models/symbol_query.rb +6 -6
  139. data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
  140. data/lib/snaptrade/models/target_asset.rb +6 -6
  141. data/lib/snaptrade/models/time_in_force.rb +6 -6
  142. data/lib/snaptrade/models/trade.rb +6 -6
  143. data/lib/snaptrade/models/trade_action.rb +6 -6
  144. data/lib/snaptrade/models/trade_execution_status.rb +6 -6
  145. data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
  146. data/lib/snaptrade/models/trade_impact.rb +6 -6
  147. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
  148. data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
  149. data/lib/snaptrade/models/transactions_status.rb +6 -6
  150. data/lib/snaptrade/models/type.rb +6 -6
  151. data/lib/snaptrade/models/underlying_symbol.rb +6 -6
  152. data/lib/snaptrade/models/universal_activity.rb +360 -360
  153. data/lib/snaptrade/models/universal_symbol.rb +6 -6
  154. data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
  155. data/lib/snaptrade/models/us_exchange.rb +6 -6
  156. data/lib/snaptrade/models/user_error_log.rb +6 -6
  157. data/lib/snaptrade/models/user_i_dand_secret.rb +229 -229
  158. data/lib/snaptrade/models/user_settings.rb +6 -6
  159. data/lib/snaptrade/version.rb +13 -13
  160. data/lib/snaptrade.rb +213 -211
  161. data/snaptrade.gemspec +41 -41
  162. data/spec/api/account_information_api_spec.rb +135 -135
  163. data/spec/api/api_status_api_spec.rb +42 -42
  164. data/spec/api/authentication_api_spec.rb +88 -88
  165. data/spec/api/connections_api_spec.rb +82 -82
  166. data/spec/api/error_logs_api_spec.rb +43 -43
  167. data/spec/api/options_api_spec.rb +101 -101
  168. data/spec/api/reference_data_api_spec.rb +150 -150
  169. data/spec/api/trading_api_spec.rb +112 -112
  170. data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
  171. data/spec/api_client_spec.rb +193 -193
  172. data/spec/configuration_spec.rb +6 -6
  173. data/spec/getting_started_spec.rb +108 -108
  174. data/spec/models/account_holdings_account_spec.rb +54 -54
  175. data/spec/models/account_holdings_spec.rb +48 -48
  176. data/spec/models/account_order_record_spec.rb +132 -132
  177. data/spec/models/account_order_record_status_spec.rb +24 -24
  178. data/spec/models/account_simple_spec.rb +48 -48
  179. data/spec/models/account_spec.rb +84 -84
  180. data/spec/models/account_sync_status_spec.rb +30 -30
  181. data/spec/models/action_spec.rb +24 -24
  182. data/spec/models/auth_type_spec.rb +24 -24
  183. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
  184. data/spec/models/balance_spec.rb +36 -36
  185. data/spec/models/brokerage_authorization_spec.rb +78 -78
  186. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
  187. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
  188. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
  189. data/spec/models/brokerage_authorization_type_spec.rb +30 -30
  190. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
  191. data/spec/models/brokerage_spec.rb +132 -132
  192. data/spec/models/brokerage_symbol_option_symbol_spec.rb +90 -0
  193. data/spec/models/brokerage_symbol_spec.rb +60 -54
  194. data/spec/models/brokerage_symbol_symbol_spec.rb +72 -0
  195. data/spec/models/brokerage_type_spec.rb +36 -36
  196. data/spec/models/calculated_trade_spec.rb +36 -36
  197. data/spec/models/cash_restriction_spec.rb +54 -54
  198. data/spec/models/connection_type_spec.rb +24 -24
  199. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
  200. data/spec/models/currency_spec.rb +42 -42
  201. data/spec/models/delete_user_response_spec.rb +36 -36
  202. data/spec/models/dividend_at_date_spec.rb +42 -42
  203. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
  204. data/spec/models/encrypted_response_spec.rb +36 -36
  205. data/spec/models/exchange_rate_pairs_spec.rb +42 -42
  206. data/spec/models/exchange_spec.rb +72 -72
  207. data/spec/models/excluded_asset_spec.rb +30 -30
  208. data/spec/models/jwt_spec.rb +30 -30
  209. data/spec/models/login_redirect_uri_spec.rb +36 -36
  210. data/spec/models/manual_trade_and_impact_spec.rb +42 -42
  211. data/spec/models/manual_trade_balance_spec.rb +42 -42
  212. data/spec/models/manual_trade_form_spec.rb +72 -72
  213. data/spec/models/manual_trade_spec.rb +72 -72
  214. data/spec/models/manual_trade_symbol_spec.rb +60 -60
  215. data/spec/models/model400_failed_request_response_spec.rb +36 -36
  216. data/spec/models/model401_failed_request_response_spec.rb +36 -36
  217. data/spec/models/model403_failed_request_response_spec.rb +36 -36
  218. data/spec/models/model404_failed_request_response_spec.rb +36 -36
  219. data/spec/models/model_asset_class_details_spec.rb +36 -36
  220. data/spec/models/model_asset_class_spec.rb +36 -36
  221. data/spec/models/model_asset_class_target_spec.rb +30 -30
  222. data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
  223. data/spec/models/model_portfolio_details_spec.rb +42 -42
  224. data/spec/models/model_portfolio_security_spec.rb +36 -36
  225. data/spec/models/model_portfolio_spec.rb +42 -42
  226. data/spec/models/model_type_spec.rb +24 -24
  227. data/spec/models/monthly_dividends_spec.rb +36 -36
  228. data/spec/models/net_contributions_spec.rb +42 -42
  229. data/spec/models/net_dividend_spec.rb +42 -42
  230. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
  231. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
  232. data/spec/models/option_chain_inner_spec.rb +54 -54
  233. data/spec/models/option_leg_action_spec.rb +24 -24
  234. data/spec/models/option_leg_spec.rb +42 -42
  235. data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
  236. data/spec/models/option_strategy_spec.rb +54 -54
  237. data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
  238. data/spec/models/options_holdings_spec.rb +60 -60
  239. data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
  240. data/spec/models/options_position_spec.rb +66 -66
  241. data/spec/models/options_symbol_spec.rb +90 -90
  242. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
  243. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
  244. data/spec/models/order_type_spec.rb +24 -24
  245. data/spec/models/partner_data_spec.rb +96 -96
  246. data/spec/models/past_value_spec.rb +42 -42
  247. data/spec/models/performance_custom_spec.rb +138 -138
  248. data/spec/models/portfolio_group_info_spec.rb +90 -90
  249. data/spec/models/portfolio_group_position_spec.rb +42 -42
  250. data/spec/models/portfolio_group_settings_spec.rb +54 -54
  251. data/spec/models/portfolio_group_spec.rb +36 -36
  252. data/spec/models/position_spec.rb +60 -60
  253. data/spec/models/position_symbol_spec.rb +60 -60
  254. data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
  255. data/spec/models/security_type_spec.rb +48 -48
  256. data/spec/models/session_event_spec.rb +66 -66
  257. data/spec/models/session_event_type_spec.rb +24 -24
  258. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
  259. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
  260. data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
  261. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
  262. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
  263. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
  264. data/spec/models/state_spec.rb +24 -24
  265. data/spec/models/status_spec.rb +42 -42
  266. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
  267. data/spec/models/strategy_impact_spec.rb +90 -90
  268. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
  269. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
  270. data/spec/models/strategy_order_place_spec.rb +36 -36
  271. data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
  272. data/spec/models/strategy_order_record_spec.rb +90 -90
  273. data/spec/models/strategy_order_record_status_spec.rb +24 -24
  274. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
  275. data/spec/models/strategy_quotes_greek_spec.rb +54 -54
  276. data/spec/models/strategy_quotes_spec.rb +60 -60
  277. data/spec/models/strategy_type_spec.rb +24 -24
  278. data/spec/models/sub_period_return_rate_spec.rb +42 -42
  279. data/spec/models/symbol_query_spec.rb +30 -30
  280. data/spec/models/symbol_spec.rb +66 -66
  281. data/spec/models/symbols_quotes_inner_spec.rb +60 -60
  282. data/spec/models/target_asset_spec.rb +60 -60
  283. data/spec/models/time_in_force_spec.rb +24 -24
  284. data/spec/models/trade_action_spec.rb +24 -24
  285. data/spec/models/trade_execution_status_action_spec.rb +24 -24
  286. data/spec/models/trade_execution_status_spec.rb +78 -78
  287. data/spec/models/trade_impact_spec.rb +54 -54
  288. data/spec/models/trade_spec.rb +72 -72
  289. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
  290. data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
  291. data/spec/models/transactions_status_spec.rb +36 -36
  292. data/spec/models/type_spec.rb +24 -24
  293. data/spec/models/underlying_symbol_spec.rb +66 -66
  294. data/spec/models/universal_activity_spec.rb +120 -120
  295. data/spec/models/universal_symbol_spec.rb +72 -72
  296. data/spec/models/universal_symbol_ticker_spec.rb +72 -72
  297. data/spec/models/us_exchange_spec.rb +78 -78
  298. data/spec/models/user_error_log_spec.rb +60 -60
  299. data/spec/models/user_i_dand_secret_spec.rb +36 -36
  300. data/spec/models/user_settings_spec.rb +84 -84
  301. data/spec/spec_helper.rb +6 -6
  302. metadata +121 -113
@@ -0,0 +1,316 @@
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
+
9
+ =end
10
+
11
+ require 'date'
12
+ require 'time'
13
+
14
+ module SnapTrade
15
+ class BrokerageSymbolOptionSymbol
16
+ attr_accessor :id
17
+
18
+ attr_accessor :ticker
19
+
20
+ attr_accessor :strike_price
21
+
22
+ attr_accessor :expiration_date
23
+
24
+ attr_accessor :is_mini_option
25
+
26
+ attr_accessor :underlying_symbol
27
+
28
+ attr_accessor :local_id
29
+
30
+ attr_accessor :security_type
31
+
32
+ attr_accessor :listing_exchange
33
+
34
+ attr_accessor :is_quotable
35
+
36
+ attr_accessor :is_tradable
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'id' => :'id',
42
+ :'ticker' => :'ticker',
43
+ :'strike_price' => :'strike_price',
44
+ :'expiration_date' => :'expiration_date',
45
+ :'is_mini_option' => :'is_mini_option',
46
+ :'underlying_symbol' => :'underlying_symbol',
47
+ :'local_id' => :'local_id',
48
+ :'security_type' => :'security_type',
49
+ :'listing_exchange' => :'listing_exchange',
50
+ :'is_quotable' => :'is_quotable',
51
+ :'is_tradable' => :'is_tradable'
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
+ :'id' => :'String',
64
+ :'ticker' => :'String',
65
+ :'strike_price' => :'Float',
66
+ :'expiration_date' => :'String',
67
+ :'is_mini_option' => :'Boolean',
68
+ :'underlying_symbol' => :'UnderlyingSymbol',
69
+ :'local_id' => :'String',
70
+ :'security_type' => :'Object',
71
+ :'listing_exchange' => :'Object',
72
+ :'is_quotable' => :'Boolean',
73
+ :'is_tradable' => :'Boolean'
74
+ }
75
+ end
76
+
77
+ # List of attributes with nullable: true
78
+ def self.openapi_nullable
79
+ Set.new([
80
+ :'security_type',
81
+ :'listing_exchange',
82
+ ])
83
+ end
84
+
85
+ # List of class defined in allOf (OpenAPI v3)
86
+ def self.openapi_all_of
87
+ [
88
+ :'OptionsSymbol'
89
+ ]
90
+ end
91
+
92
+ # Initializes the object
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ def initialize(attributes = {})
95
+ if (!attributes.is_a?(Hash))
96
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::BrokerageSymbolOptionSymbol` initialize method"
97
+ end
98
+
99
+ # check to see if the attribute exists and convert string to symbol for hash key
100
+ attributes = attributes.each_with_object({}) { |(k, v), h|
101
+ if (!self.class.attribute_map.key?(k.to_sym))
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::BrokerageSymbolOptionSymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
103
+ end
104
+ h[k.to_sym] = v
105
+ }
106
+
107
+ if attributes.key?(:'id')
108
+ self.id = attributes[:'id']
109
+ end
110
+
111
+ if attributes.key?(:'ticker')
112
+ self.ticker = attributes[:'ticker']
113
+ end
114
+
115
+ if attributes.key?(:'strike_price')
116
+ self.strike_price = attributes[:'strike_price']
117
+ end
118
+
119
+ if attributes.key?(:'expiration_date')
120
+ self.expiration_date = attributes[:'expiration_date']
121
+ end
122
+
123
+ if attributes.key?(:'is_mini_option')
124
+ self.is_mini_option = attributes[:'is_mini_option']
125
+ end
126
+
127
+ if attributes.key?(:'underlying_symbol')
128
+ self.underlying_symbol = attributes[:'underlying_symbol']
129
+ end
130
+
131
+ if attributes.key?(:'local_id')
132
+ self.local_id = attributes[:'local_id']
133
+ end
134
+
135
+ if attributes.key?(:'security_type')
136
+ self.security_type = attributes[:'security_type']
137
+ end
138
+
139
+ if attributes.key?(:'listing_exchange')
140
+ self.listing_exchange = attributes[:'listing_exchange']
141
+ end
142
+
143
+ if attributes.key?(:'is_quotable')
144
+ self.is_quotable = attributes[:'is_quotable']
145
+ end
146
+
147
+ if attributes.key?(:'is_tradable')
148
+ self.is_tradable = attributes[:'is_tradable']
149
+ end
150
+ end
151
+
152
+ # Show invalid properties with the reasons. Usually used together with valid?
153
+ # @return Array for valid properties with the reasons
154
+ def list_invalid_properties
155
+ invalid_properties = Array.new
156
+ invalid_properties
157
+ end
158
+
159
+ # Check to see if the all the properties in the model are valid
160
+ # @return true if the model is valid
161
+ def valid?
162
+ true
163
+ end
164
+
165
+ # Checks equality by comparing each attribute.
166
+ # @param [Object] Object to be compared
167
+ def ==(o)
168
+ return true if self.equal?(o)
169
+ self.class == o.class &&
170
+ id == o.id &&
171
+ ticker == o.ticker &&
172
+ strike_price == o.strike_price &&
173
+ expiration_date == o.expiration_date &&
174
+ is_mini_option == o.is_mini_option &&
175
+ underlying_symbol == o.underlying_symbol &&
176
+ local_id == o.local_id &&
177
+ security_type == o.security_type &&
178
+ listing_exchange == o.listing_exchange &&
179
+ is_quotable == o.is_quotable &&
180
+ is_tradable == o.is_tradable
181
+ end
182
+
183
+ # @see the `==` method
184
+ # @param [Object] Object to be compared
185
+ def eql?(o)
186
+ self == o
187
+ end
188
+
189
+ # Calculates hash code according to all attributes.
190
+ # @return [Integer] Hash code
191
+ def hash
192
+ [id, ticker, strike_price, expiration_date, is_mini_option, underlying_symbol, local_id, security_type, listing_exchange, is_quotable, is_tradable].hash
193
+ end
194
+
195
+ # Builds the object from hash
196
+ # @param [Hash] attributes Model attributes in the form of hash
197
+ # @return [Object] Returns the model itself
198
+ def self.build_from_hash(attributes)
199
+ new.build_from_hash(attributes)
200
+ end
201
+
202
+ # Builds the object from hash
203
+ # @param [Hash] attributes Model attributes in the form of hash
204
+ # @return [Object] Returns the model itself
205
+ def build_from_hash(attributes)
206
+ return nil unless attributes.is_a?(Hash)
207
+ attributes = attributes.transform_keys(&:to_sym)
208
+ self.class.openapi_types.each_pair do |key, type|
209
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
210
+ self.send("#{key}=", nil)
211
+ elsif type =~ /\AArray<(.*)>/i
212
+ # check to ensure the input is an array given that the attribute
213
+ # is documented as an array but the input is not
214
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
215
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
216
+ end
217
+ elsif !attributes[self.class.attribute_map[key]].nil?
218
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
219
+ end
220
+ end
221
+
222
+ self
223
+ end
224
+
225
+ # Deserializes the data based on type
226
+ # @param string type Data type
227
+ # @param string value Value to be deserialized
228
+ # @return [Object] Deserialized data
229
+ def _deserialize(type, value)
230
+ case type.to_sym
231
+ when :Time
232
+ Time.parse(value)
233
+ when :Date
234
+ Date.parse(value)
235
+ when :String
236
+ value.to_s
237
+ when :Integer
238
+ value.to_i
239
+ when :Float
240
+ value.to_f
241
+ when :Boolean
242
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
243
+ true
244
+ else
245
+ false
246
+ end
247
+ when :Object
248
+ # generic object (usually a Hash), return directly
249
+ value
250
+ when /\AArray<(?<inner_type>.+)>\z/
251
+ inner_type = Regexp.last_match[:inner_type]
252
+ value.map { |v| _deserialize(inner_type, v) }
253
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
254
+ k_type = Regexp.last_match[:k_type]
255
+ v_type = Regexp.last_match[:v_type]
256
+ {}.tap do |hash|
257
+ value.each do |k, v|
258
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
259
+ end
260
+ end
261
+ else # model
262
+ # models (e.g. Pet) or oneOf
263
+ klass = SnapTrade.const_get(type)
264
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
265
+ end
266
+ end
267
+
268
+ # Returns the string representation of the object
269
+ # @return [String] String presentation of the object
270
+ def to_s
271
+ to_hash.to_s
272
+ end
273
+
274
+ # to_body is an alias to to_hash (backward compatibility)
275
+ # @return [Hash] Returns the object in the form of hash
276
+ def to_body
277
+ to_hash
278
+ end
279
+
280
+ # Returns the object in the form of hash
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_hash
283
+ hash = {}
284
+ self.class.attribute_map.each_pair do |attr, param|
285
+ value = self.send(attr)
286
+ if value.nil?
287
+ is_nullable = self.class.openapi_nullable.include?(attr)
288
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
289
+ end
290
+
291
+ hash[param] = _to_hash(value)
292
+ end
293
+ hash
294
+ end
295
+
296
+ # Outputs non-array value in the form of hash
297
+ # For object, use to_hash. Otherwise, just return the value
298
+ # @param [Object] value Any valid value
299
+ # @return [Hash] Returns the value in the form of hash
300
+ def _to_hash(value)
301
+ if value.is_a?(Array)
302
+ value.compact.map { |v| _to_hash(v) }
303
+ elsif value.is_a?(Hash)
304
+ {}.tap do |hash|
305
+ value.each { |k, v| hash[k] = _to_hash(v) }
306
+ end
307
+ elsif value.respond_to? :to_hash
308
+ value.to_hash
309
+ else
310
+ value
311
+ end
312
+ end
313
+
314
+ end
315
+
316
+ end
@@ -0,0 +1,290 @@
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
+
9
+ =end
10
+
11
+ require 'date'
12
+ require 'time'
13
+
14
+ module SnapTrade
15
+ class BrokerageSymbolSymbol
16
+ attr_accessor :id
17
+
18
+ attr_accessor :symbol
19
+
20
+ attr_accessor :raw_symbol
21
+
22
+ attr_accessor :description
23
+
24
+ attr_accessor :currency
25
+
26
+ attr_accessor :exchange
27
+
28
+ attr_accessor :type
29
+
30
+ attr_accessor :currencies
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'id' => :'id',
36
+ :'symbol' => :'symbol',
37
+ :'raw_symbol' => :'raw_symbol',
38
+ :'description' => :'description',
39
+ :'currency' => :'currency',
40
+ :'exchange' => :'exchange',
41
+ :'type' => :'type',
42
+ :'currencies' => :'currencies'
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
+ :'symbol' => :'String',
56
+ :'raw_symbol' => :'String',
57
+ :'description' => :'String',
58
+ :'currency' => :'Currency',
59
+ :'exchange' => :'Exchange',
60
+ :'type' => :'SecurityType',
61
+ :'currencies' => :'Array<Currency>'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ :'description',
69
+ ])
70
+ end
71
+
72
+ # List of class defined in allOf (OpenAPI v3)
73
+ def self.openapi_all_of
74
+ [
75
+ :'UniversalSymbol'
76
+ ]
77
+ end
78
+
79
+ # Initializes the object
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::BrokerageSymbolSymbol` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ attributes = attributes.each_with_object({}) { |(k, v), h|
88
+ if (!self.class.attribute_map.key?(k.to_sym))
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::BrokerageSymbolSymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ end
91
+ h[k.to_sym] = v
92
+ }
93
+
94
+ if attributes.key?(:'id')
95
+ self.id = attributes[:'id']
96
+ end
97
+
98
+ if attributes.key?(:'symbol')
99
+ self.symbol = attributes[:'symbol']
100
+ end
101
+
102
+ if attributes.key?(:'raw_symbol')
103
+ self.raw_symbol = attributes[:'raw_symbol']
104
+ end
105
+
106
+ if attributes.key?(:'description')
107
+ self.description = attributes[:'description']
108
+ end
109
+
110
+ if attributes.key?(:'currency')
111
+ self.currency = attributes[:'currency']
112
+ end
113
+
114
+ if attributes.key?(:'exchange')
115
+ self.exchange = attributes[:'exchange']
116
+ end
117
+
118
+ if attributes.key?(:'type')
119
+ self.type = attributes[:'type']
120
+ end
121
+
122
+ if attributes.key?(:'currencies')
123
+ if (value = attributes[:'currencies']).is_a?(Array)
124
+ self.currencies = value
125
+ end
126
+ end
127
+ end
128
+
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properties with the reasons
131
+ def list_invalid_properties
132
+ invalid_properties = Array.new
133
+ invalid_properties
134
+ end
135
+
136
+ # Check to see if the all the properties in the model are valid
137
+ # @return true if the model is valid
138
+ def valid?
139
+ true
140
+ end
141
+
142
+ # Checks equality by comparing each attribute.
143
+ # @param [Object] Object to be compared
144
+ def ==(o)
145
+ return true if self.equal?(o)
146
+ self.class == o.class &&
147
+ id == o.id &&
148
+ symbol == o.symbol &&
149
+ raw_symbol == o.raw_symbol &&
150
+ description == o.description &&
151
+ currency == o.currency &&
152
+ exchange == o.exchange &&
153
+ type == o.type &&
154
+ currencies == o.currencies
155
+ end
156
+
157
+ # @see the `==` method
158
+ # @param [Object] Object to be compared
159
+ def eql?(o)
160
+ self == o
161
+ end
162
+
163
+ # Calculates hash code according to all attributes.
164
+ # @return [Integer] Hash code
165
+ def hash
166
+ [id, symbol, raw_symbol, description, currency, exchange, type, currencies].hash
167
+ end
168
+
169
+ # Builds the object from hash
170
+ # @param [Hash] attributes Model attributes in the form of hash
171
+ # @return [Object] Returns the model itself
172
+ def self.build_from_hash(attributes)
173
+ new.build_from_hash(attributes)
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 build_from_hash(attributes)
180
+ return nil unless attributes.is_a?(Hash)
181
+ attributes = attributes.transform_keys(&:to_sym)
182
+ self.class.openapi_types.each_pair do |key, type|
183
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
184
+ self.send("#{key}=", nil)
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
189
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
190
+ end
191
+ elsif !attributes[self.class.attribute_map[key]].nil?
192
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
193
+ end
194
+ end
195
+
196
+ self
197
+ end
198
+
199
+ # Deserializes the data based on type
200
+ # @param string type Data type
201
+ # @param string value Value to be deserialized
202
+ # @return [Object] Deserialized data
203
+ def _deserialize(type, value)
204
+ case type.to_sym
205
+ when :Time
206
+ Time.parse(value)
207
+ when :Date
208
+ Date.parse(value)
209
+ when :String
210
+ value.to_s
211
+ when :Integer
212
+ value.to_i
213
+ when :Float
214
+ value.to_f
215
+ when :Boolean
216
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
217
+ true
218
+ else
219
+ false
220
+ end
221
+ when :Object
222
+ # generic object (usually a Hash), return directly
223
+ value
224
+ when /\AArray<(?<inner_type>.+)>\z/
225
+ inner_type = Regexp.last_match[:inner_type]
226
+ value.map { |v| _deserialize(inner_type, v) }
227
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
228
+ k_type = Regexp.last_match[:k_type]
229
+ v_type = Regexp.last_match[:v_type]
230
+ {}.tap do |hash|
231
+ value.each do |k, v|
232
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
233
+ end
234
+ end
235
+ else # model
236
+ # models (e.g. Pet) or oneOf
237
+ klass = SnapTrade.const_get(type)
238
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
239
+ end
240
+ end
241
+
242
+ # Returns the string representation of the object
243
+ # @return [String] String presentation of the object
244
+ def to_s
245
+ to_hash.to_s
246
+ end
247
+
248
+ # to_body is an alias to to_hash (backward compatibility)
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_body
251
+ to_hash
252
+ end
253
+
254
+ # Returns the object in the form of hash
255
+ # @return [Hash] Returns the object in the form of hash
256
+ def to_hash
257
+ hash = {}
258
+ self.class.attribute_map.each_pair do |attr, param|
259
+ value = self.send(attr)
260
+ if value.nil?
261
+ is_nullable = self.class.openapi_nullable.include?(attr)
262
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
263
+ end
264
+
265
+ hash[param] = _to_hash(value)
266
+ end
267
+ hash
268
+ end
269
+
270
+ # Outputs non-array value in the form of hash
271
+ # For object, use to_hash. Otherwise, just return the value
272
+ # @param [Object] value Any valid value
273
+ # @return [Hash] Returns the value in the form of hash
274
+ def _to_hash(value)
275
+ if value.is_a?(Array)
276
+ value.compact.map { |v| _to_hash(v) }
277
+ elsif value.is_a?(Hash)
278
+ {}.tap do |hash|
279
+ value.each { |k, v| hash[k] = _to_hash(v) }
280
+ end
281
+ elsif value.respond_to? :to_hash
282
+ value.to_hash
283
+ else
284
+ value
285
+ end
286
+ end
287
+
288
+ end
289
+
290
+ end
@@ -1,10 +1,10 @@
1
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
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
8
 
9
9
  =end
10
10
 
@@ -1,10 +1,10 @@
1
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
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
8
 
9
9
  =end
10
10
 
@@ -1,10 +1,10 @@
1
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
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
8
 
9
9
  =end
10
10
 
@@ -1,10 +1,10 @@
1
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
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
8
 
9
9
  =end
10
10
 
@@ -1,10 +1,10 @@
1
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
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
8
 
9
9
  =end
10
10