snaptrade 2.0.23 → 2.0.24

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.
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