ledger_sync 1.4.1 → 1.4.2
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 +4 -4
- data/Gemfile.lock +71 -17
- data/docs/.gitignore +4 -0
- data/documentation/build.sh +3 -1
- data/documentation/site/_includes/ledgers/{Stripe_summary.md → stripe_summary.md} +0 -0
- data/ledger_sync.gemspec +4 -0
- data/lib/ledger_sync/serialization/type/deserializer_references_one_type.rb +1 -1
- data/lib/ledger_sync/version.rb +1 -1
- metadata +59 -136
- data/docs/CNAME +0 -1
- data/docs/assets/css/brands.min.css +0 -5
- data/docs/assets/css/fontawesome.min.css +0 -5
- data/docs/assets/css/main.css +0 -1924
- data/docs/assets/css/monokai.css +0 -441
- data/docs/assets/js/main.js +0 -214
- data/docs/assets/js/plugins.js +0 -22
- data/docs/assets/js/prism.js +0 -9
- data/docs/assets/webfonts/fa-brands-400.eot +0 -0
- data/docs/assets/webfonts/fa-brands-400.svg +0 -3452
- data/docs/assets/webfonts/fa-brands-400.ttf +0 -0
- data/docs/assets/webfonts/fa-brands-400.woff +0 -0
- data/docs/assets/webfonts/fa-brands-400.woff2 +0 -0
- data/docs/blog/index.html +0 -282
- data/docs/guides/architecture/clients/index.html +0 -458
- data/docs/guides/architecture/index.html +0 -435
- data/docs/guides/architecture/operations/index.html +0 -465
- data/docs/guides/architecture/resources/index.html +0 -461
- data/docs/guides/architecture/results/index.html +0 -426
- data/docs/guides/architecture/searchers/index.html +0 -446
- data/docs/guides/architecture/serialization/index.html +0 -476
- data/docs/guides/community/index.html +0 -412
- data/docs/guides/contribute/console/index.html +0 -424
- data/docs/guides/contribute/deployment/index.html +0 -434
- data/docs/guides/contribute/documentation/index.html +0 -450
- data/docs/guides/contribute/index.html +0 -434
- data/docs/guides/contribute/qa/index.html +0 -436
- data/docs/guides/contribute/testing/index.html +0 -424
- data/docs/guides/customization/custom_resources/index.html +0 -461
- data/docs/guides/customization/custom_serializers/index.html +0 -460
- data/docs/guides/customization/index.html +0 -431
- data/docs/guides/customization/resource_converters/index.html +0 -491
- data/docs/guides/getting-started/get-help/index.html +0 -427
- data/docs/guides/getting-started/index.html +0 -421
- data/docs/guides/getting-started/installation/index.html +0 -433
- data/docs/guides/getting-started/quick-start/index.html +0 -531
- data/docs/guides/index.html +0 -428
- data/docs/guides/ledgers/index.html +0 -429
- data/docs/guides/ledgers/netsuite/index.html +0 -424
- data/docs/guides/ledgers/netsuite_soap/index.html +0 -424
- data/docs/guides/ledgers/quickbooks_online/index.html +0 -424
- data/docs/guides/ledgers/stripe/index.html +0 -424
- data/docs/guides/modern-treasury/index.html +0 -411
- data/docs/guides/tips_and_more/index.html +0 -471
- data/docs/images/1.jpg +0 -0
- data/docs/images/10.jpg +0 -0
- data/docs/images/2.jpg +0 -0
- data/docs/images/3.jpg +0 -0
- data/docs/images/4.jpg +0 -0
- data/docs/images/5.jpg +0 -0
- data/docs/images/6.jpg +0 -0
- data/docs/images/7.jpg +0 -0
- data/docs/images/8.jpg +0 -0
- data/docs/images/9.jpg +0 -0
- data/docs/images/logo.svg +0 -8
- data/docs/index.html +0 -379
- data/docs/overview/index.html +0 -409
- data/docs/posts/introducing-docs/index.html +0 -270
- data/docs/posts/netsuite-authentication/index.html +0 -624
- data/docs/reference/architecture/clients/index.html +0 -332
- data/docs/reference/architecture/index.html +0 -311
- data/docs/reference/architecture/operations/index.html +0 -302
- data/docs/reference/architecture/resources/index.html +0 -335
- data/docs/reference/architecture/results/index.html +0 -302
- data/docs/reference/architecture/searchers/index.html +0 -302
- data/docs/reference/architecture/serialization/index.html +0 -302
- data/docs/reference/index.html +0 -281
- data/docs/reference/netsuite/authentication/index.html +0 -392
- data/docs/reference/netsuite/authentication/token_based_authentication/index.html +0 -486
- data/docs/reference/netsuite/index.html +0 -388
- data/docs/reference/netsuite/resources/account/index.html +0 -484
- data/docs/reference/netsuite/resources/check/index.html +0 -492
- data/docs/reference/netsuite/resources/check_line_item/index.html +0 -460
- data/docs/reference/netsuite/resources/currency/index.html +0 -476
- data/docs/reference/netsuite/resources/customer/index.html +0 -488
- data/docs/reference/netsuite/resources/customer_deposit/index.html +0 -480
- data/docs/reference/netsuite/resources/department/index.html +0 -484
- data/docs/reference/netsuite/resources/deposit/index.html +0 -468
- data/docs/reference/netsuite/resources/deposit_line_item/index.html +0 -460
- data/docs/reference/netsuite/resources/index.html +0 -436
- data/docs/reference/netsuite/resources/invoice/index.html +0 -468
- data/docs/reference/netsuite/resources/invoice_line_item/index.html +0 -456
- data/docs/reference/netsuite/resources/item/index.html +0 -444
- data/docs/reference/netsuite/resources/journal_entry/index.html +0 -488
- data/docs/reference/netsuite/resources/journal_entry_line_item/index.html +0 -464
- data/docs/reference/netsuite/resources/ledger_class/index.html +0 -484
- data/docs/reference/netsuite/resources/location/index.html +0 -468
- data/docs/reference/netsuite/resources/resource/index.html +0 -440
- data/docs/reference/netsuite/resources/subsidiary/index.html +0 -448
- data/docs/reference/netsuite/resources/vendor/index.html +0 -492
- data/docs/reference/netsuite_soap/index.html +0 -303
- data/docs/reference/netsuite_soap/resources/customer/index.html +0 -364
- data/docs/reference/netsuite_soap/resources/index.html +0 -316
- data/docs/reference/netsuite_soap/resources/resource/index.html +0 -336
- data/docs/reference/netsuite_soap/resources/subsidiary/index.html +0 -356
- data/docs/reference/quickbooks_online/authentication/index.html +0 -442
- data/docs/reference/quickbooks_online/errors/index.html +0 -395
- data/docs/reference/quickbooks_online/index.html +0 -393
- data/docs/reference/quickbooks_online/resources/account/index.html +0 -530
- data/docs/reference/quickbooks_online/resources/bill/index.html +0 -534
- data/docs/reference/quickbooks_online/resources/bill_line_item/index.html +0 -496
- data/docs/reference/quickbooks_online/resources/bill_payment/index.html +0 -550
- data/docs/reference/quickbooks_online/resources/bill_payment_line_item/index.html +0 -488
- data/docs/reference/quickbooks_online/resources/currency/index.html +0 -492
- data/docs/reference/quickbooks_online/resources/customer/index.html +0 -514
- data/docs/reference/quickbooks_online/resources/department/index.html +0 -518
- data/docs/reference/quickbooks_online/resources/deposit/index.html +0 -526
- data/docs/reference/quickbooks_online/resources/deposit_line_item/index.html +0 -500
- data/docs/reference/quickbooks_online/resources/expense/index.html +0 -538
- data/docs/reference/quickbooks_online/resources/expense_line_item/index.html +0 -496
- data/docs/reference/quickbooks_online/resources/index.html +0 -484
- data/docs/reference/quickbooks_online/resources/invoice/index.html +0 -526
- data/docs/reference/quickbooks_online/resources/invoice_sales_line_item/index.html +0 -496
- data/docs/reference/quickbooks_online/resources/item/index.html +0 -484
- data/docs/reference/quickbooks_online/resources/journal_entry/index.html +0 -518
- data/docs/reference/quickbooks_online/resources/journal_entry_line_item/index.html +0 -504
- data/docs/reference/quickbooks_online/resources/ledger_class/index.html +0 -518
- data/docs/reference/quickbooks_online/resources/payment/index.html +0 -538
- data/docs/reference/quickbooks_online/resources/payment_line_item/index.html +0 -488
- data/docs/reference/quickbooks_online/resources/preferences/index.html +0 -526
- data/docs/reference/quickbooks_online/resources/primary_email_addr/index.html +0 -484
- data/docs/reference/quickbooks_online/resources/primary_phone/index.html +0 -484
- data/docs/reference/quickbooks_online/resources/resource/index.html +0 -480
- data/docs/reference/quickbooks_online/resources/subsidiary/index.html +0 -488
- data/docs/reference/quickbooks_online/resources/transfer/index.html +0 -522
- data/docs/reference/quickbooks_online/resources/vendor/index.html +0 -526
- data/docs/reference/quickbooks_online/webhooks/index.html +0 -427
- data/docs/reference/stripe/index.html +0 -293
- data/docs/reference/stripe/resources/customer/index.html +0 -366
- data/docs/reference/stripe/resources/index.html +0 -309
- data/docs/reference/stripe/resources/resource/index.html +0 -330
- data/docs/style-guide/index.html +0 -375
- data/documentation/site/Gemfile +0 -11
- data/documentation/site/Gemfile.lock +0 -69
@@ -1,435 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
|
4
|
-
<head>
|
5
|
-
|
6
|
-
<title>LedgerSync - Architecture - LedgerSync</title>
|
7
|
-
<meta charset="utf-8">
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
9
|
-
<meta name="description" content="Understand the high-level architecture of LedgerSync." />
|
10
|
-
<link href="https://fonts.googleapis.com/css?family=Lato:400,400i,700,700i%26display=swap" rel="stylesheet">
|
11
|
-
<link rel="stylesheet" href="/assets/css/main.css">
|
12
|
-
|
13
|
-
<!-- Global site tag (gtag.js) - Google Analytics -->
|
14
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-152343827-1"></script>
|
15
|
-
<script>
|
16
|
-
window.dataLayer = window.dataLayer || [];
|
17
|
-
function gtag(){dataLayer.push(arguments);}
|
18
|
-
gtag('js', new Date());
|
19
|
-
|
20
|
-
gtag('config', 'UA-152343827-1');
|
21
|
-
</script>
|
22
|
-
|
23
|
-
</head>
|
24
|
-
|
25
|
-
<body>
|
26
|
-
|
27
|
-
<div id="page" class="site">
|
28
|
-
<header id="masthead" class="site-header outer">
|
29
|
-
<div class="inner">
|
30
|
-
<div class="site-header-inside">
|
31
|
-
<div class="site-branding">
|
32
|
-
|
33
|
-
|
34
|
-
<p class="site-logo"><a href="/"><img src="/images/logo.svg" alt="LedgerSync" /></a></p>
|
35
|
-
|
36
|
-
</div><!-- .site-branding -->
|
37
|
-
|
38
|
-
|
39
|
-
<nav id="main-navigation" class="site-navigation" aria-label="Main Navigation">
|
40
|
-
<div class="site-nav-inside">
|
41
|
-
<button id="menu-close" class="menu-toggle"><span class="screen-reader-text">Open Menu</span><span class="icon-close" aria-hidden="true"></span></button>
|
42
|
-
<ul class="menu">
|
43
|
-
|
44
|
-
<li class="menu-item">
|
45
|
-
|
46
|
-
|
47
|
-
<a class="" href="/" >
|
48
|
-
|
49
|
-
Home
|
50
|
-
|
51
|
-
</a>
|
52
|
-
|
53
|
-
</li>
|
54
|
-
|
55
|
-
<li class="menu-item">
|
56
|
-
|
57
|
-
|
58
|
-
<a class="" href="/guides/" >
|
59
|
-
|
60
|
-
Guides
|
61
|
-
|
62
|
-
</a>
|
63
|
-
|
64
|
-
</li>
|
65
|
-
|
66
|
-
<li class="menu-item has-children">
|
67
|
-
|
68
|
-
|
69
|
-
<a class="" href="/reference" >
|
70
|
-
|
71
|
-
Reference
|
72
|
-
|
73
|
-
</a>
|
74
|
-
|
75
|
-
|
76
|
-
<ul class="submenu">
|
77
|
-
|
78
|
-
<li class="menu-item">
|
79
|
-
|
80
|
-
|
81
|
-
<a class="" href="/reference/netsuite" >
|
82
|
-
|
83
|
-
NetSuite REST
|
84
|
-
|
85
|
-
</a>
|
86
|
-
</li>
|
87
|
-
|
88
|
-
<li class="menu-item">
|
89
|
-
|
90
|
-
|
91
|
-
<a class="" href="/reference/netsuite_soap" >
|
92
|
-
|
93
|
-
NetSuite SOAP
|
94
|
-
|
95
|
-
</a>
|
96
|
-
</li>
|
97
|
-
|
98
|
-
<li class="menu-item">
|
99
|
-
|
100
|
-
|
101
|
-
<a class="" href="/reference/quickbooks_online" >
|
102
|
-
|
103
|
-
QuickBooks Online
|
104
|
-
|
105
|
-
</a>
|
106
|
-
</li>
|
107
|
-
|
108
|
-
<li class="menu-item">
|
109
|
-
|
110
|
-
|
111
|
-
<a class="" href="/reference/stripe" >
|
112
|
-
|
113
|
-
Stripe
|
114
|
-
|
115
|
-
</a>
|
116
|
-
</li>
|
117
|
-
|
118
|
-
</ul>
|
119
|
-
|
120
|
-
|
121
|
-
</li>
|
122
|
-
|
123
|
-
<li class="menu-item">
|
124
|
-
|
125
|
-
|
126
|
-
<a class="" href="/blog" >
|
127
|
-
|
128
|
-
Blog
|
129
|
-
|
130
|
-
</a>
|
131
|
-
|
132
|
-
</li>
|
133
|
-
|
134
|
-
<li class="menu-item">
|
135
|
-
|
136
|
-
|
137
|
-
<a class="" href="/guides/contribute" >
|
138
|
-
|
139
|
-
Contribute
|
140
|
-
|
141
|
-
</a>
|
142
|
-
|
143
|
-
</li>
|
144
|
-
|
145
|
-
<li class="menu-item menu-button">
|
146
|
-
|
147
|
-
|
148
|
-
<a class="button" href="https://github.com/LedgerSync/ledger_sync" >
|
149
|
-
|
150
|
-
GitHub
|
151
|
-
|
152
|
-
</a>
|
153
|
-
|
154
|
-
</li>
|
155
|
-
|
156
|
-
</ul>
|
157
|
-
</div><!-- .site-nav-inside -->
|
158
|
-
</nav><!-- .site-navigation -->
|
159
|
-
<button id="menu-open" class="menu-toggle"><span class="screen-reader-text">Close Menu</span><span class="icon-menu" aria-hidden="true"></span></button>
|
160
|
-
|
161
|
-
</div><!-- .site-header-inside -->
|
162
|
-
</div><!-- .inner -->
|
163
|
-
</header><!-- .site-header -->
|
164
|
-
|
165
|
-
<main id="content" class="site-content">
|
166
|
-
<div class="inner outer">
|
167
|
-
<div class="guides-content">
|
168
|
-
|
169
|
-
<nav id="guides-nav" class="guides-nav">
|
170
|
-
<div id="guides-nav-inside" class="guides-nav-inside sticky">
|
171
|
-
<button id="guides-nav-toggle" class="guides-nav-toggle">Navigate<span class="icon-angle-right" aria-hidden="true"></span></button>
|
172
|
-
<div class="guides-toc-wrap">
|
173
|
-
<ul id="guides-toc" class="guides-toc">
|
174
|
-
|
175
|
-
<li class="toc-item">
|
176
|
-
<a href="/guides/">Welcome to LedgerSync</a>
|
177
|
-
</li>
|
178
|
-
|
179
|
-
|
180
|
-
<li class="toc-item has-children">
|
181
|
-
<a href="/guides/getting-started/">Getting Started</a>
|
182
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
183
|
-
|
184
|
-
<li class="toc-item">
|
185
|
-
<a href="/guides/getting-started/installation/">Installation</a>
|
186
|
-
</li>
|
187
|
-
|
188
|
-
<li class="toc-item">
|
189
|
-
<a href="/guides/getting-started/quick-start/">Quick Start</a>
|
190
|
-
</li>
|
191
|
-
|
192
|
-
<li class="toc-item">
|
193
|
-
<a href="/guides/getting-started/get-help/">Get Help</a>
|
194
|
-
</li>
|
195
|
-
|
196
|
-
</ul>
|
197
|
-
|
198
|
-
</li>
|
199
|
-
|
200
|
-
<li class="toc-item has-children current active">
|
201
|
-
<a href="/guides/architecture/">Architecture</a>
|
202
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
203
|
-
|
204
|
-
<li class="toc-item">
|
205
|
-
<a href="/guides/architecture/clients/">Clients</a>
|
206
|
-
</li>
|
207
|
-
|
208
|
-
<li class="toc-item">
|
209
|
-
<a href="/guides/architecture/resources/">Resources</a>
|
210
|
-
</li>
|
211
|
-
|
212
|
-
<li class="toc-item">
|
213
|
-
<a href="/guides/architecture/serialization/">Serialization</a>
|
214
|
-
</li>
|
215
|
-
|
216
|
-
<li class="toc-item">
|
217
|
-
<a href="/guides/architecture/operations/">Operations</a>
|
218
|
-
</li>
|
219
|
-
|
220
|
-
<li class="toc-item">
|
221
|
-
<a href="/guides/architecture/searchers/">Operations</a>
|
222
|
-
</li>
|
223
|
-
|
224
|
-
<li class="toc-item">
|
225
|
-
<a href="/guides/architecture/results/">Results</a>
|
226
|
-
</li>
|
227
|
-
|
228
|
-
</ul>
|
229
|
-
|
230
|
-
</li>
|
231
|
-
|
232
|
-
<li class="toc-item has-children">
|
233
|
-
<a href="/guides/ledgers/">Ledgers</a>
|
234
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
235
|
-
|
236
|
-
<li class="toc-item">
|
237
|
-
<a href="/guides/ledgers/netsuite/">NetSuite REST</a>
|
238
|
-
</li>
|
239
|
-
|
240
|
-
<li class="toc-item">
|
241
|
-
<a href="/guides/ledgers/netsuite_soap/">NetSuite SOAP</a>
|
242
|
-
</li>
|
243
|
-
|
244
|
-
<li class="toc-item">
|
245
|
-
<a href="/guides/ledgers/quickbooks_online/">QuickBooks Online</a>
|
246
|
-
</li>
|
247
|
-
|
248
|
-
<li class="toc-item">
|
249
|
-
<a href="/guides/ledgers/stripe/">Stripe</a>
|
250
|
-
</li>
|
251
|
-
|
252
|
-
</ul>
|
253
|
-
|
254
|
-
</li>
|
255
|
-
|
256
|
-
<li class="toc-item has-children">
|
257
|
-
<a href="/guides/customization/">Customization</a>
|
258
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
259
|
-
|
260
|
-
<li class="toc-item">
|
261
|
-
<a href="/guides/customization/resource_converters/">Resource Converters</a>
|
262
|
-
</li>
|
263
|
-
|
264
|
-
<li class="toc-item">
|
265
|
-
<a href="/guides/customization/custom_resources/">Custom Resources</a>
|
266
|
-
</li>
|
267
|
-
|
268
|
-
<li class="toc-item">
|
269
|
-
<a href="/guides/customization/custom_serializers/">Custom Serializers</a>
|
270
|
-
</li>
|
271
|
-
|
272
|
-
</ul>
|
273
|
-
|
274
|
-
</li>
|
275
|
-
|
276
|
-
<li class="toc-item">
|
277
|
-
<a href="/guides/tips_and_more/">Tips and More</a>
|
278
|
-
</li>
|
279
|
-
|
280
|
-
<li class="toc-item has-children">
|
281
|
-
<a href="/guides/contribute/">Contribute</a>
|
282
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
283
|
-
|
284
|
-
<li class="toc-item">
|
285
|
-
<a href="/guides/contribute/console/">Console</a>
|
286
|
-
</li>
|
287
|
-
|
288
|
-
<li class="toc-item">
|
289
|
-
<a href="/guides/contribute/deployment/">Deployment</a>
|
290
|
-
</li>
|
291
|
-
|
292
|
-
<li class="toc-item">
|
293
|
-
<a href="/guides/contribute/documentation/">Documentation</a>
|
294
|
-
</li>
|
295
|
-
|
296
|
-
<li class="toc-item">
|
297
|
-
<a href="/guides/contribute/qa/">QA</a>
|
298
|
-
</li>
|
299
|
-
|
300
|
-
<li class="toc-item">
|
301
|
-
<a href="/guides/contribute/testing/">Testing</a>
|
302
|
-
</li>
|
303
|
-
|
304
|
-
</ul>
|
305
|
-
|
306
|
-
</li>
|
307
|
-
|
308
|
-
<li class="toc-item">
|
309
|
-
<a href="/guides/community/">Where To Get Support</a>
|
310
|
-
</li>
|
311
|
-
|
312
|
-
<li class="toc-item">
|
313
|
-
<a href="/guides/modern-treasury/">Modern Treasury</a>
|
314
|
-
</li>
|
315
|
-
|
316
|
-
|
317
|
-
</ul>
|
318
|
-
<!-- .guides-toc -->
|
319
|
-
</div>
|
320
|
-
<!-- .guides-toc-wrap -->
|
321
|
-
</div>
|
322
|
-
<!-- .guides-nav-inside -->
|
323
|
-
</nav>
|
324
|
-
<!-- .guides-nav -->
|
325
|
-
<article class="post type-guides">
|
326
|
-
<div class="post-inside">
|
327
|
-
<header class="post-header">
|
328
|
-
<h1 class="post-title line-left">Architecture</h1>
|
329
|
-
</header>
|
330
|
-
<!-- .post-header -->
|
331
|
-
<div class="post-content">
|
332
|
-
<p>LedgerSync consists of the following high-level objects:</p>
|
333
|
-
|
334
|
-
<ul>
|
335
|
-
<li><a href="/guides/architecture/clients">Clients</a></li>
|
336
|
-
<li><a href="/guides/architecture/resources">Resources</a></li>
|
337
|
-
<li><a href="/guides/architecture/serialization">Serialization</a></li>
|
338
|
-
<li><a href="/guides/architecture/operations">Operations</a></li>
|
339
|
-
<li><a href="/guides/architecture/searchers">Searchers</a></li>
|
340
|
-
<li><a href="/guides/architecture/results">Results</a></li>
|
341
|
-
</ul>
|
342
|
-
|
343
|
-
<hr />
|
344
|
-
|
345
|
-
<div>Related articles:</div><br />
|
346
|
-
|
347
|
-
<ul class="guides-section-items">
|
348
|
-
|
349
|
-
<li class="guides-section-item"><a href="/guides/architecture/clients/" class="guides-item-link">Clients<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
350
|
-
|
351
|
-
<li class="guides-section-item"><a href="/guides/architecture/resources/" class="guides-item-link">Resources<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
352
|
-
|
353
|
-
<li class="guides-section-item"><a href="/guides/architecture/serialization/" class="guides-item-link">Serialization<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
354
|
-
|
355
|
-
<li class="guides-section-item"><a href="/guides/architecture/operations/" class="guides-item-link">Operations<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
356
|
-
|
357
|
-
<li class="guides-section-item"><a href="/guides/architecture/searchers/" class="guides-item-link">Operations<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
358
|
-
|
359
|
-
<li class="guides-section-item"><a href="/guides/architecture/results/" class="guides-item-link">Results<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
360
|
-
|
361
|
-
</ul>
|
362
|
-
<!-- .guides-section-pages -->
|
363
|
-
|
364
|
-
</div>
|
365
|
-
<!-- .post-content -->
|
366
|
-
</div>
|
367
|
-
<!-- .post-inside -->
|
368
|
-
</article>
|
369
|
-
<!-- .post -->
|
370
|
-
<nav id="page-nav" class="page-nav">
|
371
|
-
<div id="page-nav-inside" class="page-nav-inside sticky">
|
372
|
-
<h2 class="page-nav-title">Jump to Section</h2>
|
373
|
-
</div>
|
374
|
-
<!-- .page-nav-inside -->
|
375
|
-
</nav>
|
376
|
-
<!-- .page-nav -->
|
377
|
-
</div>
|
378
|
-
<!-- .guides-content -->
|
379
|
-
</div>
|
380
|
-
<!-- .inner-->
|
381
|
-
</main><!-- .site-content -->
|
382
|
-
<footer id="colophon" class="site-footer outer">
|
383
|
-
<div class="inner">
|
384
|
-
<div class="site-footer-inside">
|
385
|
-
<p class="site-info">
|
386
|
-
|
387
|
-
<span class="copyright">© Modern Treasury Inc. All rights reserved.</span>
|
388
|
-
<a class="" href="https://www.moderntreasury.com" target="_blank" rel="noopener" >
|
389
|
-
|
390
|
-
Maintained with ❤️ in San Francisco, CA by Modern Treasury
|
391
|
-
|
392
|
-
</a>
|
393
|
-
</p>
|
394
|
-
<!-- .site-info -->
|
395
|
-
|
396
|
-
<div class="social-links">
|
397
|
-
|
398
|
-
<a class="" href="https://www.netlify.com" target="_blank" rel="noopener" >
|
399
|
-
|
400
|
-
<img src="https://www.netlify.com/img/global/badges/netlify-dark.svg" alt="Deploys by Netlify" />
|
401
|
-
|
402
|
-
</a>
|
403
|
-
<a class="button button-icon" href="https://twitter.com/ModernTreasury" target="_blank" rel="noopener" >
|
404
|
-
|
405
|
-
<span class="icon fab fa-twitter" aria-hidden="true"></span><span class="screen-reader-text">Twitter</span>
|
406
|
-
|
407
|
-
</a>
|
408
|
-
<a class="button button-icon" href="https://www.linkedin.com/company/modern-treasury" target="_blank" rel="noopener" >
|
409
|
-
|
410
|
-
<span class="icon fab fa-linkedin" aria-hidden="true"></span><span class="screen-reader-text">LinkedIn</span>
|
411
|
-
|
412
|
-
</a>
|
413
|
-
<a class="button button-icon" href="https://github.com/LedgerSync/ledger_sync" target="_blank" rel="noopener" >
|
414
|
-
|
415
|
-
<span class="icon fab fa-github" aria-hidden="true"></span><span class="screen-reader-text">GitHub</span>
|
416
|
-
|
417
|
-
</a>
|
418
|
-
</div>
|
419
|
-
<!-- .social-links -->
|
420
|
-
|
421
|
-
</div>
|
422
|
-
<!-- .site-footer-inside -->
|
423
|
-
</div>
|
424
|
-
<!-- .inner -->
|
425
|
-
</footer>
|
426
|
-
<!-- .site-footer -->
|
427
|
-
</div><!-- .site -->
|
428
|
-
|
429
|
-
<!-- Scripts -->
|
430
|
-
<script src="/assets/js/plugins.js"></script>
|
431
|
-
<script src="/assets/js/prism.js" data-manual></script>
|
432
|
-
<script src="/assets/js/main.js"></script>
|
433
|
-
</body>
|
434
|
-
|
435
|
-
</html>
|
@@ -1,465 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
|
4
|
-
<head>
|
5
|
-
|
6
|
-
<title>LedgerSync - Operations - LedgerSync</title>
|
7
|
-
<meta charset="utf-8">
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
9
|
-
<meta name="description" content="An open-source library for easily syncing with accounting software, general ledgers, ERPs, and other ledgers." />
|
10
|
-
<link href="https://fonts.googleapis.com/css?family=Lato:400,400i,700,700i%26display=swap" rel="stylesheet">
|
11
|
-
<link rel="stylesheet" href="/assets/css/main.css">
|
12
|
-
|
13
|
-
<!-- Global site tag (gtag.js) - Google Analytics -->
|
14
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-152343827-1"></script>
|
15
|
-
<script>
|
16
|
-
window.dataLayer = window.dataLayer || [];
|
17
|
-
function gtag(){dataLayer.push(arguments);}
|
18
|
-
gtag('js', new Date());
|
19
|
-
|
20
|
-
gtag('config', 'UA-152343827-1');
|
21
|
-
</script>
|
22
|
-
|
23
|
-
</head>
|
24
|
-
|
25
|
-
<body>
|
26
|
-
|
27
|
-
<div id="page" class="site">
|
28
|
-
<header id="masthead" class="site-header outer">
|
29
|
-
<div class="inner">
|
30
|
-
<div class="site-header-inside">
|
31
|
-
<div class="site-branding">
|
32
|
-
|
33
|
-
|
34
|
-
<p class="site-logo"><a href="/"><img src="/images/logo.svg" alt="LedgerSync" /></a></p>
|
35
|
-
|
36
|
-
</div><!-- .site-branding -->
|
37
|
-
|
38
|
-
|
39
|
-
<nav id="main-navigation" class="site-navigation" aria-label="Main Navigation">
|
40
|
-
<div class="site-nav-inside">
|
41
|
-
<button id="menu-close" class="menu-toggle"><span class="screen-reader-text">Open Menu</span><span class="icon-close" aria-hidden="true"></span></button>
|
42
|
-
<ul class="menu">
|
43
|
-
|
44
|
-
<li class="menu-item">
|
45
|
-
|
46
|
-
|
47
|
-
<a class="" href="/" >
|
48
|
-
|
49
|
-
Home
|
50
|
-
|
51
|
-
</a>
|
52
|
-
|
53
|
-
</li>
|
54
|
-
|
55
|
-
<li class="menu-item">
|
56
|
-
|
57
|
-
|
58
|
-
<a class="" href="/guides/" >
|
59
|
-
|
60
|
-
Guides
|
61
|
-
|
62
|
-
</a>
|
63
|
-
|
64
|
-
</li>
|
65
|
-
|
66
|
-
<li class="menu-item has-children">
|
67
|
-
|
68
|
-
|
69
|
-
<a class="" href="/reference" >
|
70
|
-
|
71
|
-
Reference
|
72
|
-
|
73
|
-
</a>
|
74
|
-
|
75
|
-
|
76
|
-
<ul class="submenu">
|
77
|
-
|
78
|
-
<li class="menu-item">
|
79
|
-
|
80
|
-
|
81
|
-
<a class="" href="/reference/netsuite" >
|
82
|
-
|
83
|
-
NetSuite REST
|
84
|
-
|
85
|
-
</a>
|
86
|
-
</li>
|
87
|
-
|
88
|
-
<li class="menu-item">
|
89
|
-
|
90
|
-
|
91
|
-
<a class="" href="/reference/netsuite_soap" >
|
92
|
-
|
93
|
-
NetSuite SOAP
|
94
|
-
|
95
|
-
</a>
|
96
|
-
</li>
|
97
|
-
|
98
|
-
<li class="menu-item">
|
99
|
-
|
100
|
-
|
101
|
-
<a class="" href="/reference/quickbooks_online" >
|
102
|
-
|
103
|
-
QuickBooks Online
|
104
|
-
|
105
|
-
</a>
|
106
|
-
</li>
|
107
|
-
|
108
|
-
<li class="menu-item">
|
109
|
-
|
110
|
-
|
111
|
-
<a class="" href="/reference/stripe" >
|
112
|
-
|
113
|
-
Stripe
|
114
|
-
|
115
|
-
</a>
|
116
|
-
</li>
|
117
|
-
|
118
|
-
</ul>
|
119
|
-
|
120
|
-
|
121
|
-
</li>
|
122
|
-
|
123
|
-
<li class="menu-item">
|
124
|
-
|
125
|
-
|
126
|
-
<a class="" href="/blog" >
|
127
|
-
|
128
|
-
Blog
|
129
|
-
|
130
|
-
</a>
|
131
|
-
|
132
|
-
</li>
|
133
|
-
|
134
|
-
<li class="menu-item">
|
135
|
-
|
136
|
-
|
137
|
-
<a class="" href="/guides/contribute" >
|
138
|
-
|
139
|
-
Contribute
|
140
|
-
|
141
|
-
</a>
|
142
|
-
|
143
|
-
</li>
|
144
|
-
|
145
|
-
<li class="menu-item menu-button">
|
146
|
-
|
147
|
-
|
148
|
-
<a class="button" href="https://github.com/LedgerSync/ledger_sync" >
|
149
|
-
|
150
|
-
GitHub
|
151
|
-
|
152
|
-
</a>
|
153
|
-
|
154
|
-
</li>
|
155
|
-
|
156
|
-
</ul>
|
157
|
-
</div><!-- .site-nav-inside -->
|
158
|
-
</nav><!-- .site-navigation -->
|
159
|
-
<button id="menu-open" class="menu-toggle"><span class="screen-reader-text">Close Menu</span><span class="icon-menu" aria-hidden="true"></span></button>
|
160
|
-
|
161
|
-
</div><!-- .site-header-inside -->
|
162
|
-
</div><!-- .inner -->
|
163
|
-
</header><!-- .site-header -->
|
164
|
-
|
165
|
-
<main id="content" class="site-content">
|
166
|
-
<div class="inner outer">
|
167
|
-
<div class="guides-content">
|
168
|
-
|
169
|
-
<nav id="guides-nav" class="guides-nav">
|
170
|
-
<div id="guides-nav-inside" class="guides-nav-inside sticky">
|
171
|
-
<button id="guides-nav-toggle" class="guides-nav-toggle">Navigate<span class="icon-angle-right" aria-hidden="true"></span></button>
|
172
|
-
<div class="guides-toc-wrap">
|
173
|
-
<ul id="guides-toc" class="guides-toc">
|
174
|
-
|
175
|
-
<li class="toc-item">
|
176
|
-
<a href="/guides/">Welcome to LedgerSync</a>
|
177
|
-
</li>
|
178
|
-
|
179
|
-
|
180
|
-
<li class="toc-item has-children">
|
181
|
-
<a href="/guides/getting-started/">Getting Started</a>
|
182
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
183
|
-
|
184
|
-
<li class="toc-item">
|
185
|
-
<a href="/guides/getting-started/installation/">Installation</a>
|
186
|
-
</li>
|
187
|
-
|
188
|
-
<li class="toc-item">
|
189
|
-
<a href="/guides/getting-started/quick-start/">Quick Start</a>
|
190
|
-
</li>
|
191
|
-
|
192
|
-
<li class="toc-item">
|
193
|
-
<a href="/guides/getting-started/get-help/">Get Help</a>
|
194
|
-
</li>
|
195
|
-
|
196
|
-
</ul>
|
197
|
-
|
198
|
-
</li>
|
199
|
-
|
200
|
-
<li class="toc-item has-children active">
|
201
|
-
<a href="/guides/architecture/">Architecture</a>
|
202
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
203
|
-
|
204
|
-
<li class="toc-item">
|
205
|
-
<a href="/guides/architecture/clients/">Clients</a>
|
206
|
-
</li>
|
207
|
-
|
208
|
-
<li class="toc-item">
|
209
|
-
<a href="/guides/architecture/resources/">Resources</a>
|
210
|
-
</li>
|
211
|
-
|
212
|
-
<li class="toc-item">
|
213
|
-
<a href="/guides/architecture/serialization/">Serialization</a>
|
214
|
-
</li>
|
215
|
-
|
216
|
-
<li class="toc-item current">
|
217
|
-
<a href="/guides/architecture/operations/">Operations</a>
|
218
|
-
</li>
|
219
|
-
|
220
|
-
<li class="toc-item">
|
221
|
-
<a href="/guides/architecture/searchers/">Operations</a>
|
222
|
-
</li>
|
223
|
-
|
224
|
-
<li class="toc-item">
|
225
|
-
<a href="/guides/architecture/results/">Results</a>
|
226
|
-
</li>
|
227
|
-
|
228
|
-
</ul>
|
229
|
-
|
230
|
-
</li>
|
231
|
-
|
232
|
-
<li class="toc-item has-children">
|
233
|
-
<a href="/guides/ledgers/">Ledgers</a>
|
234
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
235
|
-
|
236
|
-
<li class="toc-item">
|
237
|
-
<a href="/guides/ledgers/netsuite/">NetSuite REST</a>
|
238
|
-
</li>
|
239
|
-
|
240
|
-
<li class="toc-item">
|
241
|
-
<a href="/guides/ledgers/netsuite_soap/">NetSuite SOAP</a>
|
242
|
-
</li>
|
243
|
-
|
244
|
-
<li class="toc-item">
|
245
|
-
<a href="/guides/ledgers/quickbooks_online/">QuickBooks Online</a>
|
246
|
-
</li>
|
247
|
-
|
248
|
-
<li class="toc-item">
|
249
|
-
<a href="/guides/ledgers/stripe/">Stripe</a>
|
250
|
-
</li>
|
251
|
-
|
252
|
-
</ul>
|
253
|
-
|
254
|
-
</li>
|
255
|
-
|
256
|
-
<li class="toc-item has-children">
|
257
|
-
<a href="/guides/customization/">Customization</a>
|
258
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
259
|
-
|
260
|
-
<li class="toc-item">
|
261
|
-
<a href="/guides/customization/resource_converters/">Resource Converters</a>
|
262
|
-
</li>
|
263
|
-
|
264
|
-
<li class="toc-item">
|
265
|
-
<a href="/guides/customization/custom_resources/">Custom Resources</a>
|
266
|
-
</li>
|
267
|
-
|
268
|
-
<li class="toc-item">
|
269
|
-
<a href="/guides/customization/custom_serializers/">Custom Serializers</a>
|
270
|
-
</li>
|
271
|
-
|
272
|
-
</ul>
|
273
|
-
|
274
|
-
</li>
|
275
|
-
|
276
|
-
<li class="toc-item">
|
277
|
-
<a href="/guides/tips_and_more/">Tips and More</a>
|
278
|
-
</li>
|
279
|
-
|
280
|
-
<li class="toc-item has-children">
|
281
|
-
<a href="/guides/contribute/">Contribute</a>
|
282
|
-
<button class="submenu-toggle"><span class="screen-reader-text">Submenu</span><span class="icon-angle-right" aria-hidden="true"></span></button> <ul class="toc-submenu">
|
283
|
-
|
284
|
-
<li class="toc-item">
|
285
|
-
<a href="/guides/contribute/console/">Console</a>
|
286
|
-
</li>
|
287
|
-
|
288
|
-
<li class="toc-item">
|
289
|
-
<a href="/guides/contribute/deployment/">Deployment</a>
|
290
|
-
</li>
|
291
|
-
|
292
|
-
<li class="toc-item">
|
293
|
-
<a href="/guides/contribute/documentation/">Documentation</a>
|
294
|
-
</li>
|
295
|
-
|
296
|
-
<li class="toc-item">
|
297
|
-
<a href="/guides/contribute/qa/">QA</a>
|
298
|
-
</li>
|
299
|
-
|
300
|
-
<li class="toc-item">
|
301
|
-
<a href="/guides/contribute/testing/">Testing</a>
|
302
|
-
</li>
|
303
|
-
|
304
|
-
</ul>
|
305
|
-
|
306
|
-
</li>
|
307
|
-
|
308
|
-
<li class="toc-item">
|
309
|
-
<a href="/guides/community/">Where To Get Support</a>
|
310
|
-
</li>
|
311
|
-
|
312
|
-
<li class="toc-item">
|
313
|
-
<a href="/guides/modern-treasury/">Modern Treasury</a>
|
314
|
-
</li>
|
315
|
-
|
316
|
-
|
317
|
-
</ul>
|
318
|
-
<!-- .guides-toc -->
|
319
|
-
</div>
|
320
|
-
<!-- .guides-toc-wrap -->
|
321
|
-
</div>
|
322
|
-
<!-- .guides-nav-inside -->
|
323
|
-
</nav>
|
324
|
-
<!-- .guides-nav -->
|
325
|
-
<article class="post type-guides">
|
326
|
-
<div class="post-inside">
|
327
|
-
<header class="post-header">
|
328
|
-
<h1 class="post-title line-left">Operations</h1>
|
329
|
-
</header>
|
330
|
-
<!-- .post-header -->
|
331
|
-
<div class="post-content">
|
332
|
-
<p>Each ledger defines operations that can be performed on specific resources (e.g. <code class="highlighter-rouge">Customer::Operations::Update</code>, <code class="highlighter-rouge">Payment::Operations::Create</code>). The operation defines two key things:</p>
|
333
|
-
|
334
|
-
<ul>
|
335
|
-
<li>a <code class="highlighter-rouge">Contract</code> class which is used to validate the resource using the <code class="highlighter-rouge">dry-validation</code> gem</li>
|
336
|
-
<li>a <code class="highlighter-rouge">perform</code> instance method, which handles the actual API requests and response/error handling.</li>
|
337
|
-
</ul>
|
338
|
-
|
339
|
-
<div class="note"><strong>Note:</strong>
|
340
|
-
Ledgers may support different operations for each resource type.
|
341
|
-
</div>
|
342
|
-
|
343
|
-
<h2 id="contracts">Contracts</h2>
|
344
|
-
|
345
|
-
<p>Contracts are dry-validation schemas, which determine if an operation can be performed. You can create custom schemas and pass them to operations. Assuming you have an <code class="highlighter-rouge">operation_class</code> variable and <code class="highlighter-rouge">foo</code> is an attribute of a <code class="highlighter-rouge">custom_resource</code> (see above) that is required to be a string, you can implement it with the following:</p>
|
346
|
-
|
347
|
-
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">class</span> <span class="nc">CustomContract</span> <span class="o"><</span> <span class="no">LedgerSync</span><span class="o">::</span><span class="no">Ledgers</span><span class="o">::</span><span class="no">Contract</span>
|
348
|
-
<span class="n">params</span> <span class="k">do</span>
|
349
|
-
<span class="n">required</span><span class="p">(</span><span class="ss">:foo</span><span class="p">).</span><span class="nf">filled</span><span class="p">(</span><span class="ss">:string</span><span class="p">)</span>
|
350
|
-
<span class="k">end</span>
|
351
|
-
<span class="k">end</span>
|
352
|
-
|
353
|
-
<span class="c1"># A valid case</span>
|
354
|
-
<span class="n">custom_resource</span> <span class="o">=</span> <span class="no">CustomResource</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="ss">foo: </span><span class="s1">'asdf'</span><span class="p">)</span>
|
355
|
-
<span class="n">op</span> <span class="o">=</span> <span class="n">operation_class</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span>
|
356
|
-
<span class="ss">client: </span><span class="n">client</span><span class="p">,</span>
|
357
|
-
<span class="ss">resource: </span><span class="n">resource</span><span class="p">,</span>
|
358
|
-
<span class="ss">validation_contract: </span><span class="no">CustomContract</span>
|
359
|
-
<span class="p">)</span>
|
360
|
-
<span class="n">op</span><span class="p">.</span><span class="nf">valid?</span> <span class="c1"># => true</span>
|
361
|
-
|
362
|
-
<span class="c1"># An invalid case</span>
|
363
|
-
<span class="n">custom_resource</span> <span class="o">=</span> <span class="no">CustomResource</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="ss">foo: </span><span class="kp">nil</span><span class="p">)</span>
|
364
|
-
<span class="n">operation_class</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span>
|
365
|
-
<span class="ss">client: </span><span class="n">client</span><span class="p">,</span>
|
366
|
-
<span class="ss">resource: </span><span class="n">resource</span><span class="p">,</span>
|
367
|
-
<span class="ss">validation_contract: </span><span class="no">CustomContract</span>
|
368
|
-
<span class="p">)</span>
|
369
|
-
<span class="n">op</span><span class="p">.</span><span class="nf">valid?</span> <span class="c1"># => false</span>
|
370
|
-
|
371
|
-
</code></pre></div></div>
|
372
|
-
|
373
|
-
<hr />
|
374
|
-
|
375
|
-
<div>Related articles:</div><br />
|
376
|
-
|
377
|
-
<ul class="guides-section-items">
|
378
|
-
|
379
|
-
<li class="guides-section-item"><a href="/guides/architecture/clients/" class="guides-item-link">Clients<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
380
|
-
|
381
|
-
<li class="guides-section-item"><a href="/guides/architecture/resources/" class="guides-item-link">Resources<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
382
|
-
|
383
|
-
<li class="guides-section-item"><a href="/guides/architecture/serialization/" class="guides-item-link">Serialization<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
384
|
-
|
385
|
-
<li class="guides-section-item"><a href="/guides/architecture/operations/" class="guides-item-link">Operations<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
386
|
-
|
387
|
-
<li class="guides-section-item"><a href="/guides/architecture/searchers/" class="guides-item-link">Operations<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
388
|
-
|
389
|
-
<li class="guides-section-item"><a href="/guides/architecture/results/" class="guides-item-link">Results<span class="icon-angle-right" aria-hidden="true"></span></a></li>
|
390
|
-
|
391
|
-
</ul>
|
392
|
-
<!-- .guides-section-pages -->
|
393
|
-
|
394
|
-
</div>
|
395
|
-
<!-- .post-content -->
|
396
|
-
</div>
|
397
|
-
<!-- .post-inside -->
|
398
|
-
</article>
|
399
|
-
<!-- .post -->
|
400
|
-
<nav id="page-nav" class="page-nav">
|
401
|
-
<div id="page-nav-inside" class="page-nav-inside sticky">
|
402
|
-
<h2 class="page-nav-title">Jump to Section</h2>
|
403
|
-
</div>
|
404
|
-
<!-- .page-nav-inside -->
|
405
|
-
</nav>
|
406
|
-
<!-- .page-nav -->
|
407
|
-
</div>
|
408
|
-
<!-- .guides-content -->
|
409
|
-
</div>
|
410
|
-
<!-- .inner-->
|
411
|
-
</main><!-- .site-content -->
|
412
|
-
<footer id="colophon" class="site-footer outer">
|
413
|
-
<div class="inner">
|
414
|
-
<div class="site-footer-inside">
|
415
|
-
<p class="site-info">
|
416
|
-
|
417
|
-
<span class="copyright">© Modern Treasury Inc. All rights reserved.</span>
|
418
|
-
<a class="" href="https://www.moderntreasury.com" target="_blank" rel="noopener" >
|
419
|
-
|
420
|
-
Maintained with ❤️ in San Francisco, CA by Modern Treasury
|
421
|
-
|
422
|
-
</a>
|
423
|
-
</p>
|
424
|
-
<!-- .site-info -->
|
425
|
-
|
426
|
-
<div class="social-links">
|
427
|
-
|
428
|
-
<a class="" href="https://www.netlify.com" target="_blank" rel="noopener" >
|
429
|
-
|
430
|
-
<img src="https://www.netlify.com/img/global/badges/netlify-dark.svg" alt="Deploys by Netlify" />
|
431
|
-
|
432
|
-
</a>
|
433
|
-
<a class="button button-icon" href="https://twitter.com/ModernTreasury" target="_blank" rel="noopener" >
|
434
|
-
|
435
|
-
<span class="icon fab fa-twitter" aria-hidden="true"></span><span class="screen-reader-text">Twitter</span>
|
436
|
-
|
437
|
-
</a>
|
438
|
-
<a class="button button-icon" href="https://www.linkedin.com/company/modern-treasury" target="_blank" rel="noopener" >
|
439
|
-
|
440
|
-
<span class="icon fab fa-linkedin" aria-hidden="true"></span><span class="screen-reader-text">LinkedIn</span>
|
441
|
-
|
442
|
-
</a>
|
443
|
-
<a class="button button-icon" href="https://github.com/LedgerSync/ledger_sync" target="_blank" rel="noopener" >
|
444
|
-
|
445
|
-
<span class="icon fab fa-github" aria-hidden="true"></span><span class="screen-reader-text">GitHub</span>
|
446
|
-
|
447
|
-
</a>
|
448
|
-
</div>
|
449
|
-
<!-- .social-links -->
|
450
|
-
|
451
|
-
</div>
|
452
|
-
<!-- .site-footer-inside -->
|
453
|
-
</div>
|
454
|
-
<!-- .inner -->
|
455
|
-
</footer>
|
456
|
-
<!-- .site-footer -->
|
457
|
-
</div><!-- .site -->
|
458
|
-
|
459
|
-
<!-- Scripts -->
|
460
|
-
<script src="/assets/js/plugins.js"></script>
|
461
|
-
<script src="/assets/js/prism.js" data-manual></script>
|
462
|
-
<script src="/assets/js/main.js"></script>
|
463
|
-
</body>
|
464
|
-
|
465
|
-
</html>
|