refworks 0.0.2 → 0.0.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDY3YTk4NGZkNjk5Y2UwZmVlNmM1Y2NkMWJiYTg4MWQ2ODI5ODM3OQ==
4
+ MWIwYjRiNzYzNDMyMjhmMTM4NzVkNTUwNWQwZjJjNzNjODI0OGRjZA==
5
5
  data.tar.gz: !binary |-
6
- OGFjOTc1ODY1ODhkOWUyZDY4OTE0YzIzZjBjMWRkMDhhN2FlNWNiZg==
6
+ ZDdmNWIzNjgzM2Y2MTY5ZWQ0MDg5NWYwYTM5MDk0YTY4ZDI3OGU4YQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzY5MDA5YjQxYjY2ODcwODQ0MTI2Y2VlNTIxZGNmMTc0NTU0NGNlZDljOWNk
10
- NzhlZTM1N2M1YzczOTc3ZmJkMDUxZmM1NTZkZWFlZDgyODBjNTQwYzRkZTVk
11
- YmQ4ZDFjMTNmNWQzZTkzYjVhYTg4ZDgyOTQwOThlMDM4MDk0YTI=
9
+ ZWNjMzZjZmNlMTc0MGYwODkwOGZhZjUzMTljOTg3Y2I5ZTFlZWRmNTJjNDIz
10
+ ZWE2ZDNmYjkxZWZiNDQwOTE4YWNjZThkNTY5MTcxYmM0MWM3YjMyMjNjNzVm
11
+ OTk5ZmIzY2QxMzAwYTZiMThmYzFjYWI4YWNkYmY5M2Y2NDIyMmI=
12
12
  data.tar.gz: !binary |-
13
- YTY3ZmZhZTdlMzIxOWIxZWRhYzgwNGRhYmMyNmU5NWJiMjc1YjFkZTlhNTEy
14
- NDIxMWQxYjBlZGRjNzIyN2JiZDFkNmJkODgyNjNmODZiMjY0Mjk5NGU2Zjdl
15
- ZWE2YTBlM2Y4NjFkODcwYTMzOWViYzQ5ZTU4YTYyNDUxNTg5OTk=
13
+ NTNhYmQ2ZjhjYTA3OWI1YTc3MjEzYjYyZGE3NDVmZjA5MTUzY2FhZTFhOGU0
14
+ MjY2MzE5MTA2YmEzNTJhYjEwODJkNTNmZTg2OTVmMWU3NmQ0ZjM5NGMxYzNl
15
+ NzNmNTU5ZDVjMGFjMzk5M2YyMTcyMmE3ZjU4M2JiZjMyMDY0N2U=
data/README.md CHANGED
@@ -29,7 +29,7 @@ Authentication
29
29
  - newrefsharesess not implemented.
30
30
 
31
31
  Authors,Descriptors,Periodicals,Folders
32
- - all and search are implemented.
32
+ - all, search are implemented.
33
33
  - addref (GET), addref (POST), clear, create, delete, edit, removeref (GET), removeref (POST) are not implemented.
34
34
  - note that in the code, these are broken out into four different classes.
35
35
 
@@ -60,12 +60,12 @@ PubMed
60
60
  - Nothing implemented.
61
61
 
62
62
  Reference
63
- - get implemented.
64
- - add, addcomment, delete (GET), delete (POST), deletecomment, edit, editcomment, globaledit, import,
63
+ - get, add, addcomment, delete (GET), edit implemented.
64
+ - delete (POST), deletecomment, editcomment, globaledit, import,
65
65
  importendnote, importpreview, openurl not implemented.
66
66
 
67
67
  Retrieve
68
- - advancesearch, all, author, byid, count, descriptor, dup, folder, modsince, nofolder, periodical, quick,
68
+ - advancesearch, all, author, byid (GET), count, descriptor, dup, folder, modsince, nofolder, periodical, quick,
69
69
  saved, specialfolder implemented.
70
70
  - byid (POST), openurl not implemented.
71
71
 
@@ -3,7 +3,7 @@ require "mash"
3
3
 
4
4
  #noinspection RubyTooManyInstanceVariablesInspection,RubyTooManyMethodsInspection
5
5
  class Reference
6
- attr_reader :rt, :rt_num, :rt_string, :sr, :id, :a1, :t1, :jf, :jo, :yr, :fd,
6
+ attr_accessor :rt, :rt_num, :rt_string, :sr, :id, :a1, :t1, :jf, :jo, :yr, :fd,
7
7
  :vo, :is, :sp, :op, :k1, :ab, :no, :a2, :t2, :ed, :pb, :pp, :a3,
8
8
  :a4, :a5, :t3, :sn, :av, :ad, :an, :la, :cl, :sf, :ot, :lk, :do,
9
9
  :cn, :db, :ds, :ip, :rd, :st, :u1, :u2, :u3, :u4, :u5, :u6, :u7,
@@ -144,6 +144,86 @@ class Reference
144
144
  @md = ref[:md]
145
145
  end
146
146
 
147
+ # method to produce RefWorks XML format
148
+ def to_refworks_xml
149
+ @xml = "<reference>"
150
+
151
+ @xml << "<rt>#{rt_string}</rt>" if @rt
152
+ @xml << "<sr>#{sr}</sr>" if @sr
153
+ @xml << "<id>#{id}</id>" if @id
154
+ a1.each {|a| @xml << "<a1>#{a}</a1>"} if @a1
155
+ @xml << "<t1>#{t1}</t1>" if @t1
156
+ @xml << "<jf>#{jf}</jf>" if @jf
157
+ @xml << "<jo>#{jo}</jo>" if @jo
158
+ @xml << "<yr>#{yr}</yr>" if @yr
159
+ @xml << "<fd>#{fd}</fd>" if @fd
160
+ @xml << "<vo>#{vo}</vo>" if @vo
161
+ @xml << "<is>#{is}</is>" if @is
162
+ @xml << "<sp>#{sp}</sp>" if @sp
163
+ @xml << "<op>#{op}</op>" if @op
164
+ k1.each {|k| @xml << "<k1>#{k1}</k1>"} if @k1
165
+ @xml << "<ab>#{ab}</ab>" if @ab
166
+ @xml << "<no>#{no}</no>" if @no
167
+ a2.each {|a| @xml << "<a2>#{a}</a2>"} if @a2
168
+ @xml << "<t2>#{t2}</t2>" if @t2
169
+ @xml << "<ed>#{ed}</ed>" if @ed
170
+ @xml << "<pb>#{pb}</pb>" if @pb
171
+ @xml << "<pp>#{pp}</pp>" if @pp
172
+ a3.each {|a| @xml << "<a3>#{a}</a3>"} if @a3
173
+ a4.each {|a| @xml << "<a4>#{a}</a4>"} if @a4
174
+ a5.each {|a| @xml << "<a5>#{a}</a5>"} if @a5
175
+ @xml << "<t3>#{t3}</t3>" if @t3
176
+ @xml << "<sn>#{sn}</sn>" if @sn
177
+ @xml << "<av>#{av}</av>" if @av
178
+ @xml << "<ad>#{ad}</ad>" if @ad
179
+ @xml << "<an>#{an}</an>" if @an
180
+ @xml << "<la>#{la}</la>" if @la
181
+ @xml << "<cl>#{cl}</cl>" if @cl
182
+ @xml << "<sf>#{sf}</sf>" if @sf
183
+ @xml << "<ot>#{ot}</ot>" if @ot
184
+ @xml << "<lk>#{lk}</lk>" if @lk
185
+ @xml << "<do>#{@do}</do>" if @do
186
+ @xml << "<cn>#{cn}</cn>" if @cn
187
+ @xml << "<db>#{db}</db>" if @db
188
+ @xml << "<ds>#{ds}</ds>" if @ds
189
+ @xml << "<ip>#{ip}</ip>" if @ip
190
+ @xml << "<rd>#{rd}</rd>" if @rd
191
+ @xml << "<st>#{st}</st>" if @st
192
+ @xml << "<u1>#{u1}</u1>" if @u1
193
+ @xml << "<u2>#{u2}</u2>" if @u2
194
+ @xml << "<u3>#{u3}</u3>" if @u3
195
+ @xml << "<u4>#{u4}</u4>" if @u4
196
+ @xml << "<u5>#{u5}</u5>" if @u5
197
+ @xml << "<u6>#{u6}</u6>" if @u6
198
+ @xml << "<u7>#{u7}</u7>" if @u7
199
+ @xml << "<u8>#{u8}</u8>" if @u8
200
+ @xml << "<u9>#{u9}</u9>" if @u9
201
+ @xml << "<u10>#{u10}</u10>" if @u10
202
+ @xml << "<u11>#{u11}</u11>" if @u11
203
+ @xml << "<u12>#{u12}</u12>" if @u12
204
+ @xml << "<u13>#{u13}</u13>" if @u13
205
+ @xml << "<u14>#{u14}</u14>" if @u14
206
+ @xml << "<u15>#{u15}</u15>" if @u15
207
+ @xml << "<ul>#{ul}</ul>" if @ul
208
+ @xml << "<sl>#{sl}</sl>" if @sl
209
+ @xml << "<ll>#{ll}</ll>" if @ll
210
+ @xml << "<cr>#{cr}</cr>" if @cr
211
+ @xml << "<wt>#{wt}</wt>" if @wt
212
+ a6.each {|a| @xml << "<a6>#{a}</a6>"} if @a6
213
+ @xml << "<wv>#{wv}</wv>" if @wv
214
+ @xml << "<wp>#{wp}</wp>" if @wp
215
+ @xml << "<ol>#{ol}</ol>" if @ol
216
+ @xml << "<pmid>#{pmid}</pmid>" if @pmid
217
+ @xml << "<pmcid>#{pmcid}</pmcid>" if @pmcid
218
+ # suppressing these - they are not part of the spec and RW trips if you try to add a ref with these
219
+ #@xml << "<fl>#{fl}</fl>" if @fl
220
+ #@xml << "<cd>#{cd}</cd>" if @cd
221
+ #@xml << "<md>#{md}</md>" if @md
222
+
223
+ @xml << "</reference>"
224
+ @xml
225
+ end
226
+
147
227
  # setup human-readable aliases as accessors
148
228
  # I've been consistent with the RefWorks tagged format legend (see end of this file)
149
229
  # plus I added some additional ones (like "authors" as a synonym for "primary_authors")
@@ -153,6 +233,10 @@ class Reference
153
233
  rt
154
234
  end
155
235
 
236
+ def reference_type=(val)
237
+ rt = val
238
+ end
239
+
156
240
  # extension
157
241
  def reference_type_num
158
242
  rt_num
@@ -167,275 +251,547 @@ class Reference
167
251
  sr
168
252
  end
169
253
 
254
+ def source_type=(val)
255
+ sr = val
256
+ end
257
+
170
258
  def primary_authors
171
259
  a1
172
260
  end
173
261
 
262
+ def primary_authors=(val)
263
+ a1 = val
264
+ end
265
+
174
266
  # alias
175
267
  def authors
176
268
  a1
177
269
  end
178
270
 
271
+ # alias
272
+ def authors=(val)
273
+ a1 = val
274
+ end
275
+
179
276
  def primary_title
180
277
  t1
181
278
  end
182
279
 
280
+ def primary_title=(val)
281
+ t1 = val
282
+ end
283
+
183
284
  # alias
184
285
  def title
185
286
  t1
186
287
  end
187
288
 
289
+ def title=(val)
290
+ t1=val
291
+ end
292
+
188
293
  def periodical_full
189
294
  jf
190
295
  end
191
296
 
297
+ def periodical_full=(val)
298
+ jf=val
299
+ end
300
+
192
301
  def periodical_abbrev
193
302
  jo
194
303
  end
195
304
 
305
+ def periodical_abbrev=(val)
306
+ jo=val
307
+ end
308
+
196
309
  def publication_year
197
310
  yr
198
311
  end
199
312
 
313
+ def publication_year=(val)
314
+ yr=val
315
+ end
316
+
200
317
  def publication_data_free_form
201
318
  fd
202
319
  end
203
320
 
321
+ def publication_data_free_form=(val)
322
+ fd=val
323
+ end
324
+
204
325
  def volume
205
326
  vo
206
327
  end
207
328
 
329
+ def volume=(val)
330
+ vo=val
331
+ end
332
+
208
333
  def issue
209
334
  is
210
335
  end
211
336
 
337
+ def issue=(val)
338
+ is=val
339
+ end
340
+
212
341
  def start_page
213
342
  sp
214
343
  end
215
344
 
345
+ def start_page=(val)
346
+ sp=val
347
+ end
348
+
216
349
  def other_pages
217
350
  op
218
351
  end
219
352
 
353
+ def other_pages=(val)
354
+ op=val
355
+ end
356
+
220
357
  def keyword
221
358
  k1
222
359
  end
223
360
 
361
+ def keyword=(val)
362
+ k1=val
363
+ end
364
+
224
365
  def keywords
225
366
  k1
226
367
  end
227
368
 
369
+ def keywords=(val)
370
+ k1=val
371
+ end
372
+
228
373
  def abstract
229
374
  ab
230
375
  end
231
376
 
377
+ def abstract=(val)
378
+ ab=val
379
+ end
380
+
232
381
  def notes
233
382
  no
234
383
  end
235
384
 
385
+ def notes=(val)
386
+ no=val
387
+ end
388
+
236
389
  def secondary_authors
237
390
  a2
238
391
  end
239
392
 
393
+ def secondary_authors=(val)
394
+ a2=val
395
+ end
396
+
240
397
  def secondary_title
241
398
  t2
242
399
  end
243
400
 
401
+ def secondary_title=(val)
402
+ t2=val
403
+ end
404
+
244
405
  def edition
245
406
  ed
246
407
  end
247
408
 
409
+ def edition=(val)
410
+ ed=val
411
+ end
412
+
248
413
  def publisher
249
414
  pb
250
415
  end
251
416
 
417
+ def publisher=(val)
418
+ pb=val
419
+ end
420
+
252
421
  def place_of_publication
253
422
  pp
254
423
  end
255
424
 
425
+ def place_of_publication=(val)
426
+ pp=val
427
+ end
428
+
256
429
  def tertiary_authors
257
430
  a3
258
431
  end
259
432
 
433
+ def tertiary_authors=(val)
434
+ a3=val
435
+ end
436
+
260
437
  def quaternary_authors
261
438
  a4
262
439
  end
263
440
 
441
+ def quaternary_authors=(val)
442
+ a4=val
443
+ end
444
+
264
445
  def quinary_authors
265
446
  a5
266
447
  end
267
448
 
449
+ def quinary_authors=(val)
450
+ a5=val
451
+ end
452
+
268
453
  def tertiary_title
269
454
  t3
270
455
  end
271
456
 
457
+ def tertiary_title=(val)
458
+ t3=val
459
+ end
460
+
272
461
  def issn_isbn
273
462
  sn
274
463
  end
275
464
 
465
+ def issn_isbn=(val)
466
+ sn=val
467
+ end
468
+
276
469
  def availability
277
470
  av
278
471
  end
279
472
 
473
+ def availability=(val)
474
+ av=val
475
+ end
476
+
280
477
  def author_address
281
478
  ad
282
479
  end
283
480
 
481
+ def author_address=(val)
482
+ ad=val
483
+ end
484
+
284
485
  def accession_number
285
486
  an
286
487
  end
287
488
 
489
+ def accession_number=(val)
490
+ an=val
491
+ end
492
+
288
493
  def language
289
494
  la
290
495
  end
291
496
 
497
+ def language=(val)
498
+ la=val
499
+ end
500
+
292
501
  def classification
293
502
  cl
294
503
  end
295
504
 
505
+ def classification=(val)
506
+ cl=val
507
+ end
508
+
296
509
  def subfile_database
297
510
  sf
298
511
  end
299
512
 
513
+ def subfile_database=(val)
514
+ sf=val
515
+ end
516
+
300
517
  def original_foreign_title
301
518
  ot
302
519
  end
303
520
 
521
+ def original_foreign_title=(val)
522
+ ot=val
523
+ end
524
+
304
525
  def links
305
526
  lk
306
527
  end
307
528
 
529
+ def links=(val)
530
+ lk=val
531
+ end
532
+
308
533
  def digital_object_identifier
309
534
  # @ sign to avoid collision with Ruby keyword 'do'
310
535
  @do
311
536
  end
312
537
 
538
+ def digital_object_identifier=(val)
539
+ # @ sign to avoid collision with Ruby keyword 'do'
540
+ @do=val
541
+ end
542
+
313
543
  # alias
314
544
  def doi
315
545
  # @ sign to avoid collision with Ruby keyword 'do'
316
546
  @do
317
547
  end
318
548
 
549
+ # alias
550
+ def doi=(val)
551
+ # @ sign to avoid collision with Ruby keyword 'do'
552
+ @do=val
553
+ end
554
+
319
555
  def call_number
320
556
  cn
321
557
  end
322
558
 
559
+ def call_number=(val)
560
+ cn=val
561
+ end
562
+
323
563
  def database
324
564
  db
325
565
  end
326
566
 
567
+ def database=(val)
568
+ db=val
569
+ end
570
+
327
571
  def data_source
328
572
  ds
329
573
  end
330
574
 
575
+ def data_source=(val)
576
+ ds=val
577
+ end
578
+
331
579
  def identifying_phrase
332
580
  ip
333
581
  end
334
582
 
583
+ def identifying_phrase=(val)
584
+ ip=val
585
+ end
586
+
335
587
  def retrieved_date
336
588
  rd
337
589
  end
338
590
 
591
+ def retrieved_date=(val)
592
+ rd=val
593
+ end
594
+
339
595
  def shortened_title
340
596
  st
341
597
  end
342
598
 
599
+ def shortened_title=(val)
600
+ st=val
601
+ end
602
+
343
603
  def user_1
344
604
  u1
345
605
  end
346
606
 
607
+ def user_1=(val)
608
+ u1=val
609
+ end
610
+
347
611
  def user_2
348
612
  u2
349
613
  end
350
614
 
615
+ def user_2=(val)
616
+ u2=val
617
+ end
618
+
351
619
  def user_3
352
620
  u3
353
621
  end
354
622
 
623
+ def user_3=(val)
624
+ u3=val
625
+ end
626
+
355
627
  def user_4
356
628
  u4
357
629
  end
358
630
 
631
+ def user_4=(val)
632
+ u4=val
633
+ end
634
+
359
635
  def user_5
360
636
  u5
361
637
  end
362
638
 
639
+ def user_5=(val)
640
+ u5=val
641
+ end
642
+
363
643
  def user_6
364
644
  u6
365
645
  end
366
646
 
647
+ def user_6=(val)
648
+ u6=val
649
+ end
650
+
367
651
  def user_7
368
652
  u7
369
653
  end
370
654
 
655
+ def user_7=(val)
656
+ u7=val
657
+ end
658
+
371
659
  def user_8
372
660
  u8
373
661
  end
374
662
 
663
+ def user_8=(val)
664
+ u8=val
665
+ end
666
+
375
667
  def user_9
376
668
  u9
377
669
  end
378
670
 
671
+ def user_9=(val)
672
+ u9=val
673
+ end
674
+
379
675
  def user_10
380
676
  u10
381
677
  end
382
678
 
679
+ def user_10=(val)
680
+ u10=val
681
+ end
682
+
383
683
  def user_11
384
684
  u11
385
685
  end
386
686
 
687
+ def user_11=(val)
688
+ u11=val
689
+ end
690
+
387
691
  def user_12
388
692
  u12
389
693
  end
390
694
 
695
+ def user_12=(val)
696
+ u12=val
697
+ end
698
+
391
699
  def user_13
392
700
  u13
393
701
  end
394
702
 
703
+ def user_13=(val)
704
+ u13=val
705
+ end
706
+
395
707
  def user_14
396
708
  u14
397
709
  end
398
710
 
711
+ def user_14=(val)
712
+ u14=val
713
+ end
714
+
399
715
  def user_15
400
716
  u15
401
717
  end
402
718
 
719
+ def user_15=(val)
720
+ u15=val
721
+ end
722
+
403
723
  def url
404
724
  ul
405
725
  end
406
726
 
727
+ def url=(val)
728
+ ul=val
729
+ end
730
+
407
731
  def sponsoring_library
408
732
  sl
409
733
  end
410
734
 
735
+ def sponsoring_library=(val)
736
+ sl=val
737
+ end
738
+
411
739
  def sponsoring_library_location
412
740
  ll
413
741
  end
414
742
 
743
+ def sponsoring_library_location=(val)
744
+ ll=val
745
+ end
746
+
415
747
  def cited_references
416
748
  cr
417
749
  end
418
750
 
751
+ def cited_references=(val)
752
+ cr=val
753
+ end
754
+
419
755
  def website_title
420
756
  wt
421
757
  end
422
758
 
759
+ def website_title=(val)
760
+ wt=val
761
+ end
762
+
423
763
  def website_editors
424
764
  a6
425
765
  end
426
766
 
767
+ def website_editors=(val)
768
+ a6=val
769
+ end
770
+
427
771
  def website_version
428
772
  wv
429
773
  end
430
774
 
775
+ def website_version=(val)
776
+ wv=val
777
+ end
778
+
431
779
  def date_of_electronic_publication
432
780
  wp
433
781
  end
434
782
 
783
+ def date_of_electronic_publication=(val)
784
+ wp=val
785
+ end
786
+
435
787
  def output_language
436
788
  ol
437
789
  end
438
790
 
791
+ def output_language=(val)
792
+ ol=val
793
+ end
794
+
439
795
  # extension
440
796
  def folder
441
797
  fl
@@ -0,0 +1,63 @@
1
+ class ReferenceAddRequest < ReferenceRequest
2
+ def self.call_method
3
+ 'add'
4
+ end
5
+
6
+ def self.http_request_verb
7
+ 'POST'
8
+ end
9
+
10
+ def self.generate_request_info(params)
11
+
12
+ # get common Reference parameters
13
+ class_params = generate_class_params(params)
14
+
15
+ # query parameters for the add call
16
+ method_params = { :method => call_method,
17
+ :folder => params[:folder], # this is optional
18
+ :returnrefs => params[:returnrefs] || "0", # this is technically optional but I'm explicitly passing default of 0
19
+ }
20
+
21
+ query_string_params = class_params.merge(method_params)
22
+ # add has a POST payload
23
+
24
+ # construct XML payload
25
+ xml_payload = '<RWRequest class="reference" method="add"><RWRefData><refworks xmlns:refworks="www.refworks.com/xml/">'
26
+ params[:references].each do |ref|
27
+ xml_payload << ref.to_refworks_xml
28
+ end
29
+ # xml_payload << '<reference>
30
+ #<rt>Book, Whole</rt>
31
+ #<sr>Print(0)</sr>
32
+ #<id>330</id>
33
+ #<t1>
34
+ #4898816 <B>Mediat</B>&lt;&gt;ors for bioelectrochemical <SUP>cells</SUP> h20 to test for microbiologlklklkicakkkl activity. <U>Anthony</U> P F Turner, Ann Swain, Graha <I>Ramsay</I>, Marc Cardosi, Bernard H Schneider, www.refworks.com?a=23&amp;b=34 Cranfield, United Kingdom assigned to Paul de la Pena Limitedl
35
+ #</t1>
36
+ #<jf>Biotechnology Advances</jf>
37
+ #<jo>Biotechnol.Adv.</jo>
38
+ #<yr>1990</yr>
39
+ #<vo>8</vo>
40
+ #<is>3</is>
41
+ #<sp>613</sp>
42
+ #<no>JID: 8403708; <I>ppublish</I></no>
43
+ #<a1>Aggarwal,A.</a1>
44
+ #<a1>Schneider,D. J.</a1>
45
+ #<a1>Sobel,B. E.</a1>
46
+ #<a1>Dauerman,H. L.</a1>
47
+ #<t3>this is a title</t3>
48
+ #<sn>0734-9750</sn>
49
+ #<an>14549739; 0</an>
50
+ #<la>ENG</la>
51
+ #<sf>JOURNAL ARTICLE</sf>
52
+ #<do>073497509090779B [pii]</do>
53
+ #<st>this is a <U>shortened</U> title</st>
54
+ #<ol>Unknown(0)</ol>
55
+ #</reference>'
56
+ xml_payload << '</refworks></RWRefData></RWRequest>'
57
+
58
+ message_body = xml_payload
59
+
60
+ # return the request info
61
+ {:params => query_string_params, :body => message_body, :headers => {'Content-type' => 'text/xml'}}
62
+ end
63
+ end
@@ -0,0 +1,3 @@
1
+ class ReferenceAddResponse < ReferenceResponse
2
+
3
+ end
@@ -0,0 +1,41 @@
1
+ class ReferenceAddcommentRequest < ReferenceRequest
2
+ def self.call_method
3
+ 'addcomment'
4
+ end
5
+
6
+ def self.http_request_verb
7
+ 'POST'
8
+ end
9
+
10
+ def self.generate_request_info(params)
11
+
12
+ # get common Reference parameters
13
+ class_params = generate_class_params(params)
14
+
15
+ # query parameters for the addcomment call
16
+ method_params = { :method => call_method,
17
+ :id => params[:id],
18
+ }
19
+
20
+ query_string_params = class_params.merge(method_params)
21
+ # addcomment has a POST payload
22
+
23
+ # construct XML payload
24
+ xml_payload = '<RWRequest class="reference" method="addcomment">'
25
+ params[:comments].each do |cmnt|
26
+ title = cmnt[:title]
27
+ name = cmnt[:name]
28
+ inetinfo = cmnt[:inetinfo]
29
+ comment = cmnt[:comment]
30
+ parentid = cmnt[:parentid] || "-1"
31
+ xml_payload << "<comment id=\"\" title=\"#{title}\" name=\"#{name}\" inetinfo=\"#{inetinfo}\" created=\"\" comment=\"#{comment}\" parentid=\"#{parentid}\"/>"
32
+ end
33
+
34
+ xml_payload << '</RWRequest>'
35
+
36
+ message_body = xml_payload
37
+
38
+ # return the request info
39
+ {:params => query_string_params, :body => message_body, :headers => {'Content-type' => 'text/xml'}}
40
+ end
41
+ end
@@ -0,0 +1,2 @@
1
+ class ReferenceAddcommentResponse < ReferenceResponse
2
+ end
@@ -0,0 +1,25 @@
1
+ class ReferenceDeleteRequest < ReferenceRequest
2
+ def self.call_method
3
+ 'delete'
4
+ end
5
+
6
+ def self.http_request_verb
7
+ 'GET'
8
+ end
9
+
10
+ def self.generate_request_info(params)
11
+
12
+ # get common Reference parameters
13
+ class_params = generate_class_params(params)
14
+
15
+ # query parameters for the delete call
16
+ method_params = { :method => call_method,
17
+ :id => params[:ids],
18
+ }
19
+
20
+ query_string_params = class_params.merge(method_params)
21
+
22
+ # return the request info
23
+ {:params => query_string_params}
24
+ end
25
+ end
@@ -0,0 +1,2 @@
1
+ class ReferenceDeleteResponse < ReferenceResponse
2
+ end
@@ -0,0 +1,35 @@
1
+ class ReferenceEditRequest < ReferenceRequest
2
+ def self.call_method
3
+ 'edit'
4
+ end
5
+
6
+ def self.http_request_verb
7
+ 'POST'
8
+ end
9
+
10
+ def self.generate_request_info(params)
11
+
12
+ # get common Reference parameters
13
+ class_params = generate_class_params(params)
14
+
15
+ # query parameters for the edit call
16
+ method_params = { :method => call_method,
17
+ }
18
+
19
+ query_string_params = class_params.merge(method_params)
20
+ # add has a POST payload
21
+
22
+ # construct XML payload
23
+ xml_payload = '<RWRequest class="reference" method="edit"><RWRefData><refworks xmlns:refworks="www.refworks.com/xml/">'
24
+ params[:references].each do |ref|
25
+ xml_payload << ref.to_refworks_xml
26
+ end
27
+
28
+ xml_payload << '</refworks></RWRefData></RWRequest>'
29
+
30
+ message_body = xml_payload
31
+
32
+ # return the request info
33
+ {:params => query_string_params, :body => message_body, :headers => {'Content-type' => 'text/xml'}}
34
+ end
35
+ end
@@ -0,0 +1,3 @@
1
+ class ReferenceEditResponse < ReferenceResponse
2
+
3
+ end
@@ -1,3 +1,3 @@
1
1
  class Refworks
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refworks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fran Fabrizio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-03 00:00:00.000000000 Z
11
+ date: 2014-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -152,6 +152,14 @@ files:
152
152
  - lib/refworks/properties/typelabels/properties_typelabels_response.rb
153
153
  - lib/refworks/properties/typelabels/typelabel.rb
154
154
  - lib/refworks/reference.rb
155
+ - lib/refworks/reference/add/reference_add_request.rb
156
+ - lib/refworks/reference/add/reference_add_response.rb
157
+ - lib/refworks/reference/addcomment/reference_addcomment_request.rb
158
+ - lib/refworks/reference/addcomment/reference_addcomment_response.rb
159
+ - lib/refworks/reference/delete/reference_delete_request.rb
160
+ - lib/refworks/reference/delete/reference_delete_response.rb
161
+ - lib/refworks/reference/edit/reference_edit_request.rb
162
+ - lib/refworks/reference/edit/reference_edit_response.rb
155
163
  - lib/refworks/reference/get/reference_get_request.rb
156
164
  - lib/refworks/reference/get/reference_get_response.rb
157
165
  - lib/refworks/reference/reference_request.rb