snaptrade 2.0.23 → 2.0.24

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: 78be9220e71d2500da395e0c580190dc48202e134fb2340ba1ff69f4b38fc774
4
- data.tar.gz: ccbbd494512272fecb0c894f72c4a0b4101a15172f4fb10919167c5ee169055d
3
+ metadata.gz: 1972714969f69805cc22e43f640774a439dfa47616884f4b499e954629a2e794
4
+ data.tar.gz: 2a1c839688235913f4a11ae234c4a0f1cb8f67dfebdc45871dc965fbb7644d58
5
5
  SHA512:
6
- metadata.gz: a797f328841f7fa481c1a05c562a63d27f443738aa74a685bb4a6c64f7c3a6fa495abadc2b501dae54cd3d98a21fa788d36cabaebdde8f8344779797d095fb63
7
- data.tar.gz: 06e0e87b861f77e1e2419258a9b22eb8c4847dd7d2a7e40033e4924eda42a8cd75abe09d6398fea05300f71233a578e73c9058d67874086393d1528948ded437
6
+ metadata.gz: 3ea0918d1207fd6addc2b0591cc3e969104b882ef029533ca540a8c955f6f60d382125d5e114c21583b079dfa0af8802878a5196b5c71110e820c5c55361d3c7
7
+ data.tar.gz: c160f91c727da185a9c78b6bb1eaf639c601184c0f72fa9d3ab68f7fb015d0a714be98a98f4d0a8e8da4f5f1804aaa7fbbb276461eb9ca9a64bfb16cf64497ea
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- snaptrade (2.0.22)
4
+ snaptrade (2.0.24)
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.23-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.23)
9
+ [![npm](https://img.shields.io/badge/gem-v2.0.24-blue)](https://rubygems.org/gems/snaptrade/versions/2.0.24)
10
10
  [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://snaptrade.com/)
11
11
 
12
12
  </div>
@@ -70,7 +70,7 @@ Connect brokerage accounts to your app for live positions and trading
70
70
  Add to Gemfile:
71
71
 
72
72
  ```ruby
73
- gem 'snaptrade', '~> 2.0.23'
73
+ gem 'snaptrade', '~> 2.0.24'
74
74
  ```
75
75
 
76
76
  ## Getting Started<a id="getting-started"></a>
@@ -11,7 +11,7 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # Total Value of the account
14
+ # Total value of the account, as reported by the brokerage
15
15
  class Amount
16
16
  attr_accessor :amount
17
17
 
@@ -0,0 +1,235 @@
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
+ # Option Brokerage symbol
15
+ class OptionBrokerageSymbol
16
+ attr_accessor :id
17
+
18
+ attr_accessor :description
19
+
20
+ attr_accessor :option_symbol
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'id' => :'id',
26
+ :'description' => :'description',
27
+ :'option_symbol' => :'option_symbol'
28
+ }
29
+ end
30
+
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'id' => :'String',
40
+ :'description' => :'String',
41
+ :'option_symbol' => :'OptionsSymbol'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::OptionBrokerageSymbol` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::OptionBrokerageSymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'id')
67
+ self.id = attributes[:'id']
68
+ end
69
+
70
+ if attributes.key?(:'description')
71
+ self.description = attributes[:'description']
72
+ end
73
+
74
+ if attributes.key?(:'option_symbol')
75
+ self.option_symbol = attributes[:'option_symbol']
76
+ end
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properties with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ true
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] Object to be compared
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ id == o.id &&
98
+ description == o.description &&
99
+ option_symbol == o.option_symbol
100
+ end
101
+
102
+ # @see the `==` method
103
+ # @param [Object] Object to be compared
104
+ def eql?(o)
105
+ self == o
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Integer] Hash code
110
+ def hash
111
+ [id, description, option_symbol].hash
112
+ end
113
+
114
+ # Builds the object from hash
115
+ # @param [Hash] attributes Model attributes in the form of hash
116
+ # @return [Object] Returns the model itself
117
+ def self.build_from_hash(attributes)
118
+ new.build_from_hash(attributes)
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ attributes = attributes.transform_keys(&:to_sym)
127
+ self.class.openapi_types.each_pair do |key, type|
128
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
129
+ self.send("#{key}=", nil)
130
+ elsif type =~ /\AArray<(.*)>/i
131
+ # check to ensure the input is an array given that the attribute
132
+ # is documented as an array but the input is not
133
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
134
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
135
+ end
136
+ elsif !attributes[self.class.attribute_map[key]].nil?
137
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
+ end
139
+ end
140
+
141
+ self
142
+ end
143
+
144
+ # Deserializes the data based on type
145
+ # @param string type Data type
146
+ # @param string value Value to be deserialized
147
+ # @return [Object] Deserialized data
148
+ def _deserialize(type, value)
149
+ case type.to_sym
150
+ when :Time
151
+ Time.parse(value)
152
+ when :Date
153
+ Date.parse(value)
154
+ when :String
155
+ value.to_s
156
+ when :Integer
157
+ value.to_i
158
+ when :Float
159
+ value.to_f
160
+ when :Boolean
161
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
162
+ true
163
+ else
164
+ false
165
+ end
166
+ when :Object
167
+ # generic object (usually a Hash), return directly
168
+ value
169
+ when /\AArray<(?<inner_type>.+)>\z/
170
+ inner_type = Regexp.last_match[:inner_type]
171
+ value.map { |v| _deserialize(inner_type, v) }
172
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
173
+ k_type = Regexp.last_match[:k_type]
174
+ v_type = Regexp.last_match[:v_type]
175
+ {}.tap do |hash|
176
+ value.each do |k, v|
177
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
178
+ end
179
+ end
180
+ else # model
181
+ # models (e.g. Pet) or oneOf
182
+ klass = SnapTrade.const_get(type)
183
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
184
+ end
185
+ end
186
+
187
+ # Returns the string representation of the object
188
+ # @return [String] String presentation of the object
189
+ def to_s
190
+ to_hash.to_s
191
+ end
192
+
193
+ # to_body is an alias to to_hash (backward compatibility)
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_body
196
+ to_hash
197
+ end
198
+
199
+ # Returns the object in the form of hash
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ if value.nil?
206
+ is_nullable = self.class.openapi_nullable.include?(attr)
207
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
208
+ end
209
+
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map { |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+
233
+ end
234
+
235
+ end
@@ -44,7 +44,7 @@ module SnapTrade
44
44
  # Attribute type mapping.
45
45
  def self.openapi_types
46
46
  {
47
- :'symbol' => :'BrokerageSymbol',
47
+ :'symbol' => :'OptionBrokerageSymbol',
48
48
  :'price' => :'Float',
49
49
  :'units' => :'Float',
50
50
  :'currency' => :'OptionsPositionCurrency',
@@ -11,7 +11,7 @@ require 'date'
11
11
  require 'time'
12
12
 
13
13
  module SnapTrade
14
- # Summed value of account positions and cash balances
14
+ # Calculated based on the sum of the values of account positions and cash balances
15
15
  class SnapTradeHoldingsTotalValue
16
16
  attr_accessor :value
17
17
 
@@ -8,5 +8,5 @@ Contact: api@snaptrade.com
8
8
  =end
9
9
 
10
10
  module SnapTrade
11
- VERSION = '2.0.23'
11
+ VERSION = '2.0.24'
12
12
  end
data/lib/snaptrade.rb CHANGED
@@ -83,6 +83,7 @@ require 'snaptrade/models/monthly_dividends'
83
83
  require 'snaptrade/models/net_contributions'
84
84
  require 'snaptrade/models/net_dividend'
85
85
  require 'snaptrade/models/notional_value'
86
+ require 'snaptrade/models/option_brokerage_symbol'
86
87
  require 'snaptrade/models/option_chain_inner'
87
88
  require 'snaptrade/models/option_chain_inner_chain_per_root_inner'
88
89
  require 'snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner'
@@ -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::OptionBrokerageSymbol
15
+ describe SnapTrade::OptionBrokerageSymbol do
16
+ let(:instance) { SnapTrade::OptionBrokerageSymbol.new }
17
+
18
+ describe 'test an instance of OptionBrokerageSymbol' do
19
+ it 'should create an instance of OptionBrokerageSymbol' do
20
+ expect(instance).to be_instance_of(SnapTrade::OptionBrokerageSymbol)
21
+ end
22
+ end
23
+ describe 'test attribute "id"' 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 "description"' 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 "option_symbol"' 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
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.23
4
+ version: 2.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - SnapTrade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-14 00:00:00.000000000 Z
11
+ date: 2024-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -162,6 +162,7 @@ files:
162
162
  - lib/snaptrade/models/net_contributions.rb
163
163
  - lib/snaptrade/models/net_dividend.rb
164
164
  - lib/snaptrade/models/notional_value.rb
165
+ - lib/snaptrade/models/option_brokerage_symbol.rb
165
166
  - lib/snaptrade/models/option_chain_inner.rb
166
167
  - lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb
167
168
  - lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb
@@ -312,6 +313,7 @@ files:
312
313
  - spec/models/net_contributions_spec.rb
313
314
  - spec/models/net_dividend_spec.rb
314
315
  - spec/models/notional_value_spec.rb
316
+ - spec/models/option_brokerage_symbol_spec.rb
315
317
  - spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb
316
318
  - spec/models/option_chain_inner_chain_per_root_inner_spec.rb
317
319
  - spec/models/option_chain_inner_spec.rb
@@ -470,6 +472,7 @@ test_files:
470
472
  - spec/models/connection_portal_version_spec.rb
471
473
  - spec/models/account_order_record_status_spec.rb
472
474
  - spec/models/snap_trade_api_disclaimer_accept_status_spec.rb
475
+ - spec/models/option_brokerage_symbol_spec.rb
473
476
  - spec/models/snap_trade_login_user_request_body_spec.rb
474
477
  - spec/models/brokerage_authorization_type_type_spec.rb
475
478
  - spec/models/portfolio_group_settings_spec.rb