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,476 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
|
4
|
-
<head>
|
5
|
-
|
6
|
-
<title>LedgerSync - Serialization - 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 current">
|
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">Serialization</h1>
|
329
|
-
</header>
|
330
|
-
<!-- .post-header -->
|
331
|
-
<div class="post-content">
|
332
|
-
<h2 id="overview">Overview</h2>
|
333
|
-
|
334
|
-
<p>LedgerSync leverages serialization and deserialization to convert resources into the necessary hash formats the ledger expects. Generally, each resource will have 1 serializer and 1 deserializer.</p>
|
335
|
-
|
336
|
-
<h2 id="serializers">Serializers</h2>
|
337
|
-
|
338
|
-
<p>Serializers take a <code class="highlighter-rouge">Resource</code> and output a hash. For example:</p>
|
339
|
-
|
340
|
-
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">customer</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">NetSuite</span><span class="o">::</span><span class="no">Customer</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span>
|
341
|
-
<span class="ss">companyName: </span><span class="s1">'Test Company'</span><span class="p">,</span>
|
342
|
-
<span class="ss">external_id: </span><span class="s1">'ext_123'</span>
|
343
|
-
<span class="p">)</span>
|
344
|
-
<span class="n">serializer</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">NetSuite</span><span class="o">::</span><span class="no">Customer</span><span class="o">::</span><span class="no">Serializer</span><span class="p">.</span><span class="nf">new</span>
|
345
|
-
<span class="n">serializer</span><span class="p">.</span><span class="nf">serialize</span><span class="p">(</span><span class="ss">resource: </span><span class="n">customer</span><span class="p">)</span>
|
346
|
-
<span class="c1"># Sample output:</span>
|
347
|
-
<span class="c1"># {</span>
|
348
|
-
<span class="c1"># "companyName" => "Test Company",</span>
|
349
|
-
<span class="c1"># "externalId" => "ext_123",</span>
|
350
|
-
<span class="c1"># "email" => nil,</span>
|
351
|
-
<span class="c1"># "phone" => nil,</span>
|
352
|
-
<span class="c1"># "firstName" => nil,</span>
|
353
|
-
<span class="c1"># "lastName" => nil,</span>
|
354
|
-
<span class="c1"># "subsidiary" => nil</span>
|
355
|
-
<span class="c1"># }</span>
|
356
|
-
<span class="k">end</span>
|
357
|
-
</code></pre></div></div>
|
358
|
-
|
359
|
-
<h2 id="deserializers">Deserializers</h2>
|
360
|
-
|
361
|
-
<p>Deserializers take a hash and output a <code class="highlighter-rouge">Resource</code>. For example:</p>
|
362
|
-
|
363
|
-
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">h</span> <span class="o">=</span> <span class="p">{</span>
|
364
|
-
<span class="s2">"companyName"</span> <span class="o">=></span> <span class="s2">"Test Company"</span><span class="p">,</span>
|
365
|
-
<span class="s2">"externalId"</span> <span class="o">=></span> <span class="s2">"ext_123"</span><span class="p">,</span>
|
366
|
-
<span class="s2">"email"</span> <span class="o">=></span> <span class="kp">nil</span><span class="p">,</span>
|
367
|
-
<span class="s2">"id"</span> <span class="o">=></span> <span class="s2">"987654321"</span><span class="p">,</span>
|
368
|
-
<span class="s2">"phone"</span> <span class="o">=></span> <span class="kp">nil</span><span class="p">,</span>
|
369
|
-
<span class="s2">"firstName"</span> <span class="o">=></span> <span class="kp">nil</span><span class="p">,</span>
|
370
|
-
<span class="s2">"lastName"</span> <span class="o">=></span> <span class="kp">nil</span><span class="p">,</span>
|
371
|
-
<span class="s2">"subsidiary"</span> <span class="o">=></span> <span class="kp">nil</span>
|
372
|
-
<span class="p">}</span>
|
373
|
-
|
374
|
-
<span class="n">deserializer</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">NetSuite</span><span class="o">::</span><span class="no">Customer</span><span class="o">::</span><span class="no">Deserializer</span><span class="p">.</span><span class="nf">new</span>
|
375
|
-
<span class="n">customer</span> <span class="o">=</span> <span class="n">deserializer</span><span class="p">.</span><span class="nf">deserialize</span><span class="p">(</span><span class="ss">hash: </span><span class="n">h</span><span class="p">,</span> <span class="ss">resource: </span><span class="no">LedgerSync</span><span class="o">::</span><span class="no">Ledgers</span><span class="o">::</span><span class="no">NetSuite</span><span class="o">::</span><span class="no">Customer</span><span class="p">.</span><span class="nf">new</span><span class="p">)</span>
|
376
|
-
<span class="n">customer</span><span class="p">.</span><span class="nf">ledger_id</span> <span class="c1"># => "987654321"</span>
|
377
|
-
<span class="n">customer</span><span class="p">.</span><span class="nf">companyName</span> <span class="c1"># => "Test Company"</span>
|
378
|
-
</code></pre></div></div>
|
379
|
-
|
380
|
-
<h2 id="how-to-use">How to use</h2>
|
381
|
-
|
382
|
-
<p>Serializers and deserializers are automatically inferred by each operation based on the naming convention. It is possible to create your own serializers. Please see <a href="/guides/customization">Customization</a> for more.</p>
|
383
|
-
|
384
|
-
<hr />
|
385
|
-
|
386
|
-
<div>Related articles:</div><br />
|
387
|
-
|
388
|
-
<ul class="guides-section-items">
|
389
|
-
|
390
|
-
<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>
|
391
|
-
|
392
|
-
<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>
|
393
|
-
|
394
|
-
<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>
|
395
|
-
|
396
|
-
<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>
|
397
|
-
|
398
|
-
<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>
|
399
|
-
|
400
|
-
<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>
|
401
|
-
|
402
|
-
</ul>
|
403
|
-
<!-- .guides-section-pages -->
|
404
|
-
|
405
|
-
</div>
|
406
|
-
<!-- .post-content -->
|
407
|
-
</div>
|
408
|
-
<!-- .post-inside -->
|
409
|
-
</article>
|
410
|
-
<!-- .post -->
|
411
|
-
<nav id="page-nav" class="page-nav">
|
412
|
-
<div id="page-nav-inside" class="page-nav-inside sticky">
|
413
|
-
<h2 class="page-nav-title">Jump to Section</h2>
|
414
|
-
</div>
|
415
|
-
<!-- .page-nav-inside -->
|
416
|
-
</nav>
|
417
|
-
<!-- .page-nav -->
|
418
|
-
</div>
|
419
|
-
<!-- .guides-content -->
|
420
|
-
</div>
|
421
|
-
<!-- .inner-->
|
422
|
-
</main><!-- .site-content -->
|
423
|
-
<footer id="colophon" class="site-footer outer">
|
424
|
-
<div class="inner">
|
425
|
-
<div class="site-footer-inside">
|
426
|
-
<p class="site-info">
|
427
|
-
|
428
|
-
<span class="copyright">© Modern Treasury Inc. All rights reserved.</span>
|
429
|
-
<a class="" href="https://www.moderntreasury.com" target="_blank" rel="noopener" >
|
430
|
-
|
431
|
-
Maintained with ❤️ in San Francisco, CA by Modern Treasury
|
432
|
-
|
433
|
-
</a>
|
434
|
-
</p>
|
435
|
-
<!-- .site-info -->
|
436
|
-
|
437
|
-
<div class="social-links">
|
438
|
-
|
439
|
-
<a class="" href="https://www.netlify.com" target="_blank" rel="noopener" >
|
440
|
-
|
441
|
-
<img src="https://www.netlify.com/img/global/badges/netlify-dark.svg" alt="Deploys by Netlify" />
|
442
|
-
|
443
|
-
</a>
|
444
|
-
<a class="button button-icon" href="https://twitter.com/ModernTreasury" target="_blank" rel="noopener" >
|
445
|
-
|
446
|
-
<span class="icon fab fa-twitter" aria-hidden="true"></span><span class="screen-reader-text">Twitter</span>
|
447
|
-
|
448
|
-
</a>
|
449
|
-
<a class="button button-icon" href="https://www.linkedin.com/company/modern-treasury" target="_blank" rel="noopener" >
|
450
|
-
|
451
|
-
<span class="icon fab fa-linkedin" aria-hidden="true"></span><span class="screen-reader-text">LinkedIn</span>
|
452
|
-
|
453
|
-
</a>
|
454
|
-
<a class="button button-icon" href="https://github.com/LedgerSync/ledger_sync" target="_blank" rel="noopener" >
|
455
|
-
|
456
|
-
<span class="icon fab fa-github" aria-hidden="true"></span><span class="screen-reader-text">GitHub</span>
|
457
|
-
|
458
|
-
</a>
|
459
|
-
</div>
|
460
|
-
<!-- .social-links -->
|
461
|
-
|
462
|
-
</div>
|
463
|
-
<!-- .site-footer-inside -->
|
464
|
-
</div>
|
465
|
-
<!-- .inner -->
|
466
|
-
</footer>
|
467
|
-
<!-- .site-footer -->
|
468
|
-
</div><!-- .site -->
|
469
|
-
|
470
|
-
<!-- Scripts -->
|
471
|
-
<script src="/assets/js/plugins.js"></script>
|
472
|
-
<script src="/assets/js/prism.js" data-manual></script>
|
473
|
-
<script src="/assets/js/main.js"></script>
|
474
|
-
</body>
|
475
|
-
|
476
|
-
</html>
|