snaptrade 2.0.54 → 2.0.56

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca862e7f31774878b25a1794d30404db042f086f861a8150d8f1f3c9d160055f
4
- data.tar.gz: 2c0e33da24270de6c632975021f4d3c004f0f52db694978bbf887ec5768f66ac
3
+ metadata.gz: 962d39a6576fd86c258ba583b874280494d03415ff23f14f0f91d211e5579584
4
+ data.tar.gz: 55dd7b9413baf952cbaa2276f016b6593d80a0233177c3c685ac601ad95b28da
5
5
  SHA512:
6
- metadata.gz: 31098c4ead975e948dc46890f0a4602bc0bfa5a9ec42f0ff3dfa4cde73d8d9a08ac19897eca32eb3c1e898e64d8c59dade073d476bab61c27e04f00c8988214b
7
- data.tar.gz: f432ae2bb182c1331d2e0ed36e4105050a3294e0d43f69b6f91e6f3bd34cc6f8c3c62857f449b5680bbbe0dc7931103a8bffaa7d19bd10e0313aecdae2edb99f
6
+ metadata.gz: 83ba257bbb94b35e2b3b98345febbeac17a00c162bbfe7fc7e036f5e655237277f61566ba37a54177c0791202b7a7cc58d502d564705589b92be9201bda1e2b0
7
+ data.tar.gz: c8bac13ccd529d7ea5a64057d05ded6978e36c9027380d4e0c625a6492b44e6f84f5b78f511414f2d301267bb0f3f4de2fb0bb464aa3d4fda8157758b3d271e8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- snaptrade (2.0.54)
4
+ snaptrade (2.0.56)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart (~> 1.0, >= 1.0.4)
7
7
 
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Connect brokerage accounts to your app for live positions and trading
8
8
 
9
- [![npm](https://img.shields.io/badge/gem-v2.0.54-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.54)
9
+ [![npm](https://img.shields.io/badge/gem-v2.0.56-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.56)
10
10
  [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://snaptrade.com/)
11
11
 
12
12
  </div>
@@ -25,6 +25,7 @@ Connect brokerage accounts to your app for live positions and trading
25
25
  * [`snaptrade.account_information.get_user_account_orders`](#snaptradeaccount_informationget_user_account_orders)
26
26
  * [`snaptrade.account_information.get_user_account_positions`](#snaptradeaccount_informationget_user_account_positions)
27
27
  * [`snaptrade.account_information.get_user_account_recent_orders`](#snaptradeaccount_informationget_user_account_recent_orders)
28
+ * [`snaptrade.account_information.get_user_account_return_rates`](#snaptradeaccount_informationget_user_account_return_rates)
28
29
  * [`snaptrade.account_information.get_user_holdings`](#snaptradeaccount_informationget_user_holdings)
29
30
  * [`snaptrade.account_information.list_user_accounts`](#snaptradeaccount_informationlist_user_accounts)
30
31
  * [`snaptrade.account_information.update_user_account`](#snaptradeaccount_informationupdate_user_account)
@@ -39,6 +40,7 @@ Connect brokerage accounts to your app for live positions and trading
39
40
  * [`snaptrade.connections.list_brokerage_authorizations`](#snaptradeconnectionslist_brokerage_authorizations)
40
41
  * [`snaptrade.connections.refresh_brokerage_authorization`](#snaptradeconnectionsrefresh_brokerage_authorization)
41
42
  * [`snaptrade.connections.remove_brokerage_authorization`](#snaptradeconnectionsremove_brokerage_authorization)
43
+ * [`snaptrade.connections.return_rates`](#snaptradeconnectionsreturn_rates)
42
44
  * [`snaptrade.connections.session_events`](#snaptradeconnectionssession_events)
43
45
  * [`snaptrade.options.get_option_strategy`](#snaptradeoptionsget_option_strategy)
44
46
  * [`snaptrade.options.get_options_chain`](#snaptradeoptionsget_options_chain)
@@ -71,7 +73,7 @@ Connect brokerage accounts to your app for live positions and trading
71
73
  Add to Gemfile:
72
74
 
73
75
  ```ruby
74
- gem 'snaptrade', '~> 2.0.54'
76
+ gem 'snaptrade', '~> 2.0.56'
75
77
  ```
76
78
 
77
79
  ## Getting Started<a id="getting-started"></a>
@@ -341,6 +343,40 @@ p result
341
343
  ---
342
344
 
343
345
 
346
+ ### `snaptrade.account_information.get_user_account_return_rates`<a id="snaptradeaccount_informationget_user_account_return_rates"></a>
347
+
348
+ Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
349
+
350
+
351
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
352
+
353
+ ```ruby
354
+ result = snaptrade.account_information.get_user_account_return_rates(
355
+ user_id: "snaptrade-user-123",
356
+ user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
357
+ account_id: "917c8734-8470-4a3e-a18f-57c3f2ee6631",
358
+ )
359
+ p result
360
+ ```
361
+
362
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
363
+
364
+ ##### user_id: `String`<a id="user_id-string"></a>
365
+ ##### user_secret: `String`<a id="user_secret-string"></a>
366
+ ##### account_id: `String`<a id="account_id-string"></a>
367
+ #### 🔄 Return<a id="🔄-return"></a>
368
+
369
+ [RateOfReturnResponse](./lib/snaptrade/models/rate_of_return_response.rb)
370
+
371
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
372
+
373
+ `/accounts/{accountId}/returnRates` `GET`
374
+
375
+ [🔙 **Back to Table of Contents**](#table-of-contents)
376
+
377
+ ---
378
+
379
+
344
380
  ### `snaptrade.account_information.get_user_holdings`<a id="snaptradeaccount_informationget_user_holdings"></a>
345
381
 
346
382
  Returns a list of balances, positions, and recent orders for the specified account. The data returned is similar to the data returned over the more fine-grained [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getUserAccountPositions) and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders) endpoints. __The finer-grained APIs are preferred. They are easier to work with, faster, and have better error handling than this coarse-grained API.__
@@ -837,6 +873,40 @@ snaptrade.connections.remove_brokerage_authorization(
837
873
  ---
838
874
 
839
875
 
876
+ ### `snaptrade.connections.return_rates`<a id="snaptradeconnectionsreturn_rates"></a>
877
+
878
+ Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
879
+
880
+
881
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
882
+
883
+ ```ruby
884
+ result = snaptrade.connections.return_rates(
885
+ user_id: "snaptrade-user-123",
886
+ user_secret: "adf2aa34-8219-40f7-a6b3-60156985cc61",
887
+ authorization_id: "87b24961-b51e-4db8-9226-f198f6518a89",
888
+ )
889
+ p result
890
+ ```
891
+
892
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
893
+
894
+ ##### user_id: `String`<a id="user_id-string"></a>
895
+ ##### user_secret: `String`<a id="user_secret-string"></a>
896
+ ##### authorization_id: `String`<a id="authorization_id-string"></a>
897
+ #### 🔄 Return<a id="🔄-return"></a>
898
+
899
+ [RateOfReturnResponse](./lib/snaptrade/models/rate_of_return_response.rb)
900
+
901
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
902
+
903
+ `/authorizations/{authorizationId}/returnRates` `GET`
904
+
905
+ [🔙 **Back to Table of Contents**](#table-of-contents)
906
+
907
+ ---
908
+
909
+
840
910
  ### `snaptrade.connections.session_events`<a id="snaptradeconnectionssession_events"></a>
841
911
 
842
912
  Returns a list of session events associated with a user.
@@ -684,6 +684,109 @@ module SnapTrade
684
684
  end
685
685
 
686
686
 
687
+ # List account rate of returns
688
+ #
689
+ # Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
690
+ #
691
+ # @param user_id [String]
692
+ # @param user_secret [String]
693
+ # @param account_id [String]
694
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
695
+ def get_user_account_return_rates(user_id:, user_secret:, account_id:, extra: {})
696
+ data, _status_code, _headers = get_user_account_return_rates_with_http_info_impl(user_id, user_secret, account_id, extra)
697
+ data
698
+ end
699
+
700
+ # List account rate of returns
701
+ #
702
+ # Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
703
+ #
704
+ # @param user_id [String]
705
+ # @param user_secret [String]
706
+ # @param account_id [String]
707
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
708
+ def get_user_account_return_rates_with_http_info(user_id:, user_secret:, account_id:, extra: {})
709
+ get_user_account_return_rates_with_http_info_impl(user_id, user_secret, account_id, extra)
710
+ end
711
+
712
+ # List account rate of returns
713
+ # Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example \"ALL\", \"1Y\", \"6M\", \"3M\", \"1M\"
714
+ # @param user_id [String]
715
+ # @param user_secret [String]
716
+ # @param account_id [String]
717
+ # @param [Hash] opts the optional parameters
718
+ # @return [RateOfReturnResponse]
719
+ private def get_user_account_return_rates_impl(user_id, user_secret, account_id, opts = {})
720
+ data, _status_code, _headers = get_user_account_return_rates_with_http_info(user_id, user_secret, account_id, opts)
721
+ data
722
+ end
723
+
724
+ # List account rate of returns
725
+ # Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example \&quot;ALL\&quot;, \&quot;1Y\&quot;, \&quot;6M\&quot;, \&quot;3M\&quot;, \&quot;1M\&quot;
726
+ # @param user_id [String]
727
+ # @param user_secret [String]
728
+ # @param account_id [String]
729
+ # @param [Hash] opts the optional parameters
730
+ # @return [Array<(RateOfReturnResponse, Integer, Hash)>] RateOfReturnResponse data, response status code and response headers
731
+ private def get_user_account_return_rates_with_http_info_impl(user_id, user_secret, account_id, opts = {})
732
+ if @api_client.config.debugging
733
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_return_rates ...'
734
+ end
735
+ # verify the required parameter 'user_id' is set
736
+ if @api_client.config.client_side_validation && user_id.nil?
737
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_return_rates"
738
+ end
739
+ # verify the required parameter 'user_secret' is set
740
+ if @api_client.config.client_side_validation && user_secret.nil?
741
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_return_rates"
742
+ end
743
+ # verify the required parameter 'account_id' is set
744
+ if @api_client.config.client_side_validation && account_id.nil?
745
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_return_rates"
746
+ end
747
+ # resource path
748
+ local_var_path = '/accounts/{accountId}/returnRates'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
749
+
750
+ # query parameters
751
+ query_params = opts[:query_params] || {}
752
+ query_params[:'userId'] = user_id
753
+ query_params[:'userSecret'] = user_secret
754
+
755
+ # header parameters
756
+ header_params = opts[:header_params] || {}
757
+ # HTTP header 'Accept' (if needed)
758
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
759
+
760
+ # form parameters
761
+ form_params = opts[:form_params] || {}
762
+
763
+ # http body (model)
764
+ post_body = opts[:debug_body]
765
+
766
+ # return_type
767
+ return_type = opts[:debug_return_type] || 'RateOfReturnResponse'
768
+
769
+ # auth_names
770
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
771
+
772
+ new_options = opts.merge(
773
+ :operation => :"AccountInformationApi.get_user_account_return_rates",
774
+ :header_params => header_params,
775
+ :query_params => query_params,
776
+ :form_params => form_params,
777
+ :body => post_body,
778
+ :auth_names => auth_names,
779
+ :return_type => return_type
780
+ )
781
+
782
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
783
+ if @api_client.config.debugging
784
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_return_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
785
+ end
786
+ return data, status_code, headers, response
787
+ end
788
+
789
+
687
790
  # List account holdings
688
791
  #
689
792
  # Returns a list of balances, positions, and recent orders for the specified account. The data returned is similar to the data returned over the more fine-grained [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getUserAccountPositions) and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders) endpoints. __The finer-grained APIs are preferred. They are easier to work with, faster, and have better error handling than this coarse-grained API.__
@@ -540,6 +540,109 @@ module SnapTrade
540
540
  end
541
541
 
542
542
 
543
+ # List connection rate of returns
544
+ #
545
+ # Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
546
+ #
547
+ # @param user_id [String]
548
+ # @param user_secret [String]
549
+ # @param authorization_id [String]
550
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
551
+ def return_rates(user_id:, user_secret:, authorization_id:, extra: {})
552
+ data, _status_code, _headers = return_rates_with_http_info_impl(user_id, user_secret, authorization_id, extra)
553
+ data
554
+ end
555
+
556
+ # List connection rate of returns
557
+ #
558
+ # Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
559
+ #
560
+ # @param user_id [String]
561
+ # @param user_secret [String]
562
+ # @param authorization_id [String]
563
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
564
+ def return_rates_with_http_info(user_id:, user_secret:, authorization_id:, extra: {})
565
+ return_rates_with_http_info_impl(user_id, user_secret, authorization_id, extra)
566
+ end
567
+
568
+ # List connection rate of returns
569
+ # Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example \"ALL\", \"1Y\", \"6M\", \"3M\", \"1M\"
570
+ # @param user_id [String]
571
+ # @param user_secret [String]
572
+ # @param authorization_id [String]
573
+ # @param [Hash] opts the optional parameters
574
+ # @return [RateOfReturnResponse]
575
+ private def return_rates_impl(user_id, user_secret, authorization_id, opts = {})
576
+ data, _status_code, _headers = return_rates_with_http_info(user_id, user_secret, authorization_id, opts)
577
+ data
578
+ end
579
+
580
+ # List connection rate of returns
581
+ # Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example \&quot;ALL\&quot;, \&quot;1Y\&quot;, \&quot;6M\&quot;, \&quot;3M\&quot;, \&quot;1M\&quot;
582
+ # @param user_id [String]
583
+ # @param user_secret [String]
584
+ # @param authorization_id [String]
585
+ # @param [Hash] opts the optional parameters
586
+ # @return [Array<(RateOfReturnResponse, Integer, Hash)>] RateOfReturnResponse data, response status code and response headers
587
+ private def return_rates_with_http_info_impl(user_id, user_secret, authorization_id, opts = {})
588
+ if @api_client.config.debugging
589
+ @api_client.config.logger.debug 'Calling API: ConnectionsApi.return_rates ...'
590
+ end
591
+ # verify the required parameter 'user_id' is set
592
+ if @api_client.config.client_side_validation && user_id.nil?
593
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling ConnectionsApi.return_rates"
594
+ end
595
+ # verify the required parameter 'user_secret' is set
596
+ if @api_client.config.client_side_validation && user_secret.nil?
597
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling ConnectionsApi.return_rates"
598
+ end
599
+ # verify the required parameter 'authorization_id' is set
600
+ if @api_client.config.client_side_validation && authorization_id.nil?
601
+ fail ArgumentError, "Missing the required parameter 'authorization_id' when calling ConnectionsApi.return_rates"
602
+ end
603
+ # resource path
604
+ local_var_path = '/authorizations/{authorizationId}/returnRates'.sub('{' + 'authorizationId' + '}', CGI.escape(authorization_id.to_s))
605
+
606
+ # query parameters
607
+ query_params = opts[:query_params] || {}
608
+ query_params[:'userId'] = user_id
609
+ query_params[:'userSecret'] = user_secret
610
+
611
+ # header parameters
612
+ header_params = opts[:header_params] || {}
613
+ # HTTP header 'Accept' (if needed)
614
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
615
+
616
+ # form parameters
617
+ form_params = opts[:form_params] || {}
618
+
619
+ # http body (model)
620
+ post_body = opts[:debug_body]
621
+
622
+ # return_type
623
+ return_type = opts[:debug_return_type] || 'RateOfReturnResponse'
624
+
625
+ # auth_names
626
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
627
+
628
+ new_options = opts.merge(
629
+ :operation => :"ConnectionsApi.return_rates",
630
+ :header_params => header_params,
631
+ :query_params => query_params,
632
+ :form_params => form_params,
633
+ :body => post_body,
634
+ :auth_names => auth_names,
635
+ :return_type => return_type
636
+ )
637
+
638
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
639
+ if @api_client.config.debugging
640
+ @api_client.config.logger.debug "API called: ConnectionsApi#return_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
641
+ end
642
+ return data, status_code, headers, response
643
+ end
644
+
645
+
543
646
  # Get all session events for a user
544
647
  #
545
648
  # Returns a list of session events associated with a user.
@@ -0,0 +1,238 @@
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
+ # Individual rate of return object with return percent and timeframe
15
+ class RateOfReturnObject
16
+ # The timeframe this return percent is reflecting
17
+ attr_accessor :timeframe
18
+
19
+ # The percent return of the portfolio, directly from the brokerage. 5.97 indicates a 5.97% return over the timeframe
20
+ attr_accessor :return_percent
21
+
22
+ # The date this was fetched
23
+ attr_accessor :created_date
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'timeframe' => :'timeframe',
29
+ :'return_percent' => :'return_percent',
30
+ :'created_date' => :'created_date'
31
+ }
32
+ end
33
+
34
+ # Returns all the JSON keys this model knows about
35
+ def self.acceptable_attributes
36
+ attribute_map.values
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.openapi_types
41
+ {
42
+ :'timeframe' => :'Timeframe',
43
+ :'return_percent' => :'Float',
44
+ :'created_date' => :'Time'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ ])
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::RateOfReturnObject` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::RateOfReturnObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'timeframe')
70
+ self.timeframe = attributes[:'timeframe']
71
+ end
72
+
73
+ if attributes.key?(:'return_percent')
74
+ self.return_percent = attributes[:'return_percent']
75
+ end
76
+
77
+ if attributes.key?(:'created_date')
78
+ self.created_date = attributes[:'created_date']
79
+ end
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properties with the reasons
84
+ def list_invalid_properties
85
+ invalid_properties = Array.new
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ true
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param [Object] Object to be compared
97
+ def ==(o)
98
+ return true if self.equal?(o)
99
+ self.class == o.class &&
100
+ timeframe == o.timeframe &&
101
+ return_percent == o.return_percent &&
102
+ created_date == o.created_date
103
+ end
104
+
105
+ # @see the `==` method
106
+ # @param [Object] Object to be compared
107
+ def eql?(o)
108
+ self == o
109
+ end
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Integer] Hash code
113
+ def hash
114
+ [timeframe, return_percent, created_date].hash
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def self.build_from_hash(attributes)
121
+ new.build_from_hash(attributes)
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ self.class.openapi_types.each_pair do |key, type|
131
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
132
+ self.send("#{key}=", nil)
133
+ elsif type =~ /\AArray<(.*)>/i
134
+ # check to ensure the input is an array given that the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ end
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ # Deserializes the data based on type
148
+ # @param string type Data type
149
+ # @param string value Value to be deserialized
150
+ # @return [Object] Deserialized data
151
+ def _deserialize(type, value)
152
+ case type.to_sym
153
+ when :Time
154
+ Time.parse(value)
155
+ when :Date
156
+ Date.parse(value)
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :Boolean
164
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else # model
184
+ # models (e.g. Pet) or oneOf
185
+ klass = SnapTrade.const_get(type)
186
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ if value.nil?
209
+ is_nullable = self.class.openapi_nullable.include?(attr)
210
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
211
+ end
212
+
213
+ hash[param] = _to_hash(value)
214
+ end
215
+ hash
216
+ end
217
+
218
+ # Outputs non-array value in the form of hash
219
+ # For object, use to_hash. Otherwise, just return the value
220
+ # @param [Object] value Any valid value
221
+ # @return [Hash] Returns the value in the form of hash
222
+ def _to_hash(value)
223
+ if value.is_a?(Array)
224
+ value.compact.map { |v| _to_hash(v) }
225
+ elsif value.is_a?(Hash)
226
+ {}.tap do |hash|
227
+ value.each { |k, v| hash[k] = _to_hash(v) }
228
+ end
229
+ elsif value.respond_to? :to_hash
230
+ value.to_hash
231
+ else
232
+ value
233
+ end
234
+ end
235
+
236
+ end
237
+
238
+ end
@@ -0,0 +1,220 @@
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
+ # List of return rates with their timeframe
15
+ class RateOfReturnResponse
16
+ # List of return percentages
17
+ attr_accessor :data
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'data' => :'data'
23
+ }
24
+ end
25
+
26
+ # Returns all the JSON keys this model knows about
27
+ def self.acceptable_attributes
28
+ attribute_map.values
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'data' => :'Array<RateOfReturnObject>'
35
+ }
36
+ end
37
+
38
+ # List of attributes with nullable: true
39
+ def self.openapi_nullable
40
+ Set.new([
41
+ ])
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::RateOfReturnResponse` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::RateOfReturnResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'data')
60
+ if (value = attributes[:'data']).is_a?(Array)
61
+ self.data = value
62
+ end
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ invalid_properties = Array.new
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ data == o.data
85
+ end
86
+
87
+ # @see the `==` method
88
+ # @param [Object] Object to be compared
89
+ def eql?(o)
90
+ self == o
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Integer] Hash code
95
+ def hash
96
+ [data].hash
97
+ end
98
+
99
+ # Builds the object from hash
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @return [Object] Returns the model itself
102
+ def self.build_from_hash(attributes)
103
+ new.build_from_hash(attributes)
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ attributes = attributes.transform_keys(&:to_sym)
112
+ self.class.openapi_types.each_pair do |key, type|
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
116
+ # check to ensure the input is an array given that the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ end
121
+ elsif !attributes[self.class.attribute_map[key]].nil?
122
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
+ end
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Deserializes the data based on type
130
+ # @param string type Data type
131
+ # @param string value Value to be deserialized
132
+ # @return [Object] Deserialized data
133
+ def _deserialize(type, value)
134
+ case type.to_sym
135
+ when :Time
136
+ Time.parse(value)
137
+ when :Date
138
+ Date.parse(value)
139
+ when :String
140
+ value.to_s
141
+ when :Integer
142
+ value.to_i
143
+ when :Float
144
+ value.to_f
145
+ when :Boolean
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ # models (e.g. Pet) or oneOf
167
+ klass = SnapTrade.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ if value.nil?
191
+ is_nullable = self.class.openapi_nullable.include?(attr)
192
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
+ end
194
+
195
+ hash[param] = _to_hash(value)
196
+ end
197
+ hash
198
+ end
199
+
200
+ # Outputs non-array value in the form of hash
201
+ # For object, use to_hash. Otherwise, just return the value
202
+ # @param [Object] value Any valid value
203
+ # @return [Hash] Returns the value in the form of hash
204
+ def _to_hash(value)
205
+ if value.is_a?(Array)
206
+ value.compact.map { |v| _to_hash(v) }
207
+ elsif value.is_a?(Hash)
208
+ {}.tap do |hash|
209
+ value.each { |k, v| hash[k] = _to_hash(v) }
210
+ end
211
+ elsif value.respond_to? :to_hash
212
+ value.to_hash
213
+ else
214
+ value
215
+ end
216
+ end
217
+
218
+ end
219
+
220
+ end
@@ -16,7 +16,7 @@ module SnapTrade
16
16
  # Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
17
17
  attr_accessor :id
18
18
 
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
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
20
  attr_accessor :code
21
21
 
22
22
  # A human-readable description of the security type. For example, \"Common Stock\" or \"ETF\".
@@ -0,0 +1,40 @@
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 Timeframe
15
+ ALL = "ALL".freeze
16
+ N1_Y = "1Y".freeze
17
+ N6_M = "6M".freeze
18
+ N3_M = "3M".freeze
19
+ N1_M = "1M".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [ALL, N1_Y, N6_M, N3_M, N1_M].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if Timeframe.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #Timeframe"
38
+ end
39
+ end
40
+ end
@@ -16,7 +16,7 @@ module SnapTrade
16
16
  # Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
17
17
  attr_accessor :id
18
18
 
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
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
20
  attr_accessor :code
21
21
 
22
22
  # A human-readable description of the security type. For example, \"Common Stock\" or \"ETF\".
@@ -8,5 +8,5 @@ Contact: api@snaptrade.com
8
8
  =end
9
9
 
10
10
  module SnapTrade
11
- VERSION = '2.0.54'
11
+ VERSION = '2.0.56'
12
12
  end
data/lib/snaptrade.rb CHANGED
@@ -94,6 +94,8 @@ require 'snaptrade/models/past_value'
94
94
  require 'snaptrade/models/performance_custom'
95
95
  require 'snaptrade/models/position'
96
96
  require 'snaptrade/models/position_symbol'
97
+ require 'snaptrade/models/rate_of_return_object'
98
+ require 'snaptrade/models/rate_of_return_response'
97
99
  require 'snaptrade/models/recent_orders_response'
98
100
  require 'snaptrade/models/security_type'
99
101
  require 'snaptrade/models/session_event'
@@ -116,6 +118,7 @@ require 'snaptrade/models/symbol_figi_instrument'
116
118
  require 'snaptrade/models/symbol_query'
117
119
  require 'snaptrade/models/symbols_quotes_inner'
118
120
  require 'snaptrade/models/time_in_force_strict'
121
+ require 'snaptrade/models/timeframe'
119
122
  require 'snaptrade/models/trading_cancel_user_account_order_request'
120
123
  require 'snaptrade/models/transactions_status'
121
124
  require 'snaptrade/models/type'
@@ -113,6 +113,20 @@ describe 'AccountInformationApi' do
113
113
  end
114
114
  end
115
115
 
116
+ # unit tests for get_user_account_return_rates
117
+ # List account rate of returns
118
+ # Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example \&quot;ALL\&quot;, \&quot;1Y\&quot;, \&quot;6M\&quot;, \&quot;3M\&quot;, \&quot;1M\&quot;
119
+ # @param user_id
120
+ # @param user_secret
121
+ # @param account_id
122
+ # @param [Hash] opts the optional parameters
123
+ # @return [RateOfReturnResponse]
124
+ describe 'get_user_account_return_rates test' do
125
+ it 'should work' do
126
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
127
+ end
128
+ end
129
+
116
130
  # unit tests for get_user_holdings
117
131
  # List account holdings
118
132
  # Returns a list of balances, positions, and recent orders for the specified account. The data returned is similar to the data returned over the more fine-grained [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getUserAccountPositions) and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders) endpoints. __The finer-grained APIs are preferred. They are easier to work with, faster, and have better error handling than this coarse-grained API.__ The data returned here is cached. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v&#x3D;d16c4c97b8d5438bbb2d8581ac53b11e) and look for \&quot;Cache Expiry Time\&quot; to see the exact value for a specific brokerage. **If you need real-time data, please use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint**.
@@ -96,6 +96,20 @@ describe 'ConnectionsApi' do
96
96
  end
97
97
  end
98
98
 
99
+ # unit tests for return_rates
100
+ # List connection rate of returns
101
+ # Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example \&quot;ALL\&quot;, \&quot;1Y\&quot;, \&quot;6M\&quot;, \&quot;3M\&quot;, \&quot;1M\&quot;
102
+ # @param user_id
103
+ # @param user_secret
104
+ # @param authorization_id
105
+ # @param [Hash] opts the optional parameters
106
+ # @return [RateOfReturnResponse]
107
+ describe 'return_rates test' do
108
+ it 'should work' do
109
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
110
+ end
111
+ end
112
+
99
113
  # unit tests for session_events
100
114
  # Get all session events for a user
101
115
  # Returns a list of session events associated with a user.
@@ -0,0 +1,41 @@
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 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::RateOfReturnObject
15
+ describe SnapTrade::RateOfReturnObject do
16
+ let(:instance) { SnapTrade::RateOfReturnObject.new }
17
+
18
+ describe 'test an instance of RateOfReturnObject' do
19
+ it 'should create an instance of RateOfReturnObject' do
20
+ expect(instance).to be_instance_of(SnapTrade::RateOfReturnObject)
21
+ end
22
+ end
23
+ describe 'test attribute "timeframe"' do
24
+ it 'should work' do
25
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
26
+ end
27
+ end
28
+
29
+ describe 'test attribute "return_percent"' do
30
+ it 'should work' do
31
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
32
+ end
33
+ end
34
+
35
+ describe 'test attribute "created_date"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ end
@@ -0,0 +1,29 @@
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 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::RateOfReturnResponse
15
+ describe SnapTrade::RateOfReturnResponse do
16
+ let(:instance) { SnapTrade::RateOfReturnResponse.new }
17
+
18
+ describe 'test an instance of RateOfReturnResponse' do
19
+ it 'should create an instance of RateOfReturnResponse' do
20
+ expect(instance).to be_instance_of(SnapTrade::RateOfReturnResponse)
21
+ end
22
+ end
23
+ describe 'test attribute "data"' do
24
+ it 'should work' do
25
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,23 @@
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 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::Timeframe
15
+ describe SnapTrade::Timeframe do
16
+ let(:instance) { SnapTrade::Timeframe.new }
17
+
18
+ describe 'test an instance of Timeframe' do
19
+ it 'should create an instance of Timeframe' do
20
+ expect(instance).to be_instance_of(SnapTrade::Timeframe)
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snaptrade
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.54
4
+ version: 2.0.56
5
5
  platform: ruby
6
6
  authors:
7
7
  - SnapTrade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-14 00:00:00.000000000 Z
11
+ date: 2024-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -173,6 +173,8 @@ files:
173
173
  - lib/snaptrade/models/performance_custom.rb
174
174
  - lib/snaptrade/models/position.rb
175
175
  - lib/snaptrade/models/position_symbol.rb
176
+ - lib/snaptrade/models/rate_of_return_object.rb
177
+ - lib/snaptrade/models/rate_of_return_response.rb
176
178
  - lib/snaptrade/models/recent_orders_response.rb
177
179
  - lib/snaptrade/models/security_type.rb
178
180
  - lib/snaptrade/models/session_event.rb
@@ -195,6 +197,7 @@ files:
195
197
  - lib/snaptrade/models/symbol_query.rb
196
198
  - lib/snaptrade/models/symbols_quotes_inner.rb
197
199
  - lib/snaptrade/models/time_in_force_strict.rb
200
+ - lib/snaptrade/models/timeframe.rb
198
201
  - lib/snaptrade/models/trading_cancel_user_account_order_request.rb
199
202
  - lib/snaptrade/models/transactions_status.rb
200
203
  - lib/snaptrade/models/type.rb
@@ -300,6 +303,8 @@ files:
300
303
  - spec/models/performance_custom_spec.rb
301
304
  - spec/models/position_spec.rb
302
305
  - spec/models/position_symbol_spec.rb
306
+ - spec/models/rate_of_return_object_spec.rb
307
+ - spec/models/rate_of_return_response_spec.rb
303
308
  - spec/models/recent_orders_response_spec.rb
304
309
  - spec/models/security_type_spec.rb
305
310
  - spec/models/session_event_spec.rb
@@ -322,6 +327,7 @@ files:
322
327
  - spec/models/symbol_spec.rb
323
328
  - spec/models/symbols_quotes_inner_spec.rb
324
329
  - spec/models/time_in_force_strict_spec.rb
330
+ - spec/models/timeframe_spec.rb
325
331
  - spec/models/trading_cancel_user_account_order_request_spec.rb
326
332
  - spec/models/transactions_status_spec.rb
327
333
  - spec/models/type_spec.rb
@@ -431,12 +437,14 @@ test_files:
431
437
  - spec/models/options_place_option_strategy_request_spec.rb
432
438
  - spec/models/notional_value_spec.rb
433
439
  - spec/models/account_order_record_universal_symbol_spec.rb
440
+ - spec/models/timeframe_spec.rb
434
441
  - spec/models/session_event_type_spec.rb
435
442
  - spec/models/underlying_symbol_spec.rb
436
443
  - spec/models/trading_cancel_user_account_order_request_spec.rb
437
444
  - spec/models/us_exchange_spec.rb
438
445
  - spec/models/strategy_order_record_status_spec.rb
439
446
  - spec/models/balance_spec.rb
447
+ - spec/models/rate_of_return_object_spec.rb
440
448
  - spec/models/universal_symbol_spec.rb
441
449
  - spec/models/strategy_quotes_greek_spec.rb
442
450
  - spec/models/options_position_spec.rb
@@ -470,6 +478,7 @@ test_files:
470
478
  - spec/models/options_position_currency_spec.rb
471
479
  - spec/models/authentication_login_snap_trade_user200_response_spec.rb
472
480
  - spec/models/account_holdings_spec.rb
481
+ - spec/models/rate_of_return_response_spec.rb
473
482
  - spec/models/encrypted_response_encrypted_message_data_spec.rb
474
483
  - spec/models/strategy_type_spec.rb
475
484
  - spec/models/manual_trade_and_impact_spec.rb