refworks 0.0.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.
Files changed (140) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +120 -0
  3. data/lib/refworks.rb +183 -0
  4. data/lib/refworks/authentication/authentication_request.rb +17 -0
  5. data/lib/refworks/authentication/authentication_response.rb +3 -0
  6. data/lib/refworks/authentication/delsess/authentication_delsess_request.rb +20 -0
  7. data/lib/refworks/authentication/delsess/authentication_delsess_response.rb +3 -0
  8. data/lib/refworks/authentication/newsess/authentication_newsess_request.rb +37 -0
  9. data/lib/refworks/authentication/newsess/authentication_newsess_response.rb +10 -0
  10. data/lib/refworks/authentication/newtempusersess/authentication_newtempusersess_request.rb +21 -0
  11. data/lib/refworks/authentication/newtempusersess/authentication_newtempusersess_response.rb +9 -0
  12. data/lib/refworks/authentication/ping/authentication_ping_request.rb +21 -0
  13. data/lib/refworks/authentication/ping/authentication_ping_response.rb +3 -0
  14. data/lib/refworks/authentication/userexists/authentication_userexists_request.rb +37 -0
  15. data/lib/refworks/authentication/userexists/authentication_userexists_response.rb +3 -0
  16. data/lib/refworks/authors/all/authors_all_request.rb +29 -0
  17. data/lib/refworks/authors/all/authors_all_response.rb +3 -0
  18. data/lib/refworks/authors/author.rb +10 -0
  19. data/lib/refworks/authors/authors_request.rb +23 -0
  20. data/lib/refworks/authors/authors_response.rb +32 -0
  21. data/lib/refworks/authors/search/authors_search_request.rb +23 -0
  22. data/lib/refworks/authors/search/authors_search_response.rb +3 -0
  23. data/lib/refworks/descriptors/all/descriptors_all_request.rb +21 -0
  24. data/lib/refworks/descriptors/all/descriptors_all_response.rb +3 -0
  25. data/lib/refworks/descriptors/descriptor.rb +8 -0
  26. data/lib/refworks/descriptors/descriptors_request.rb +17 -0
  27. data/lib/refworks/descriptors/descriptors_response.rb +31 -0
  28. data/lib/refworks/descriptors/search/descriptors_search_request.rb +24 -0
  29. data/lib/refworks/descriptors/search/descriptors_search_response.rb +3 -0
  30. data/lib/refworks/folders/all/folders_all_request.rb +20 -0
  31. data/lib/refworks/folders/all/folders_all_response.rb +3 -0
  32. data/lib/refworks/folders/folder.rb +10 -0
  33. data/lib/refworks/folders/folders_request.rb +17 -0
  34. data/lib/refworks/folders/folders_response.rb +32 -0
  35. data/lib/refworks/folders/search/folders_search_request.rb +21 -0
  36. data/lib/refworks/folders/search/folders_search_response.rb +3 -0
  37. data/lib/refworks/importfilter/allavailable/importfilter_allavailable_request.rb +20 -0
  38. data/lib/refworks/importfilter/allavailable/importfilter_allavailable_response.rb +3 -0
  39. data/lib/refworks/importfilter/allglobal/importfilter_allglobal_request.rb +20 -0
  40. data/lib/refworks/importfilter/allglobal/importfilter_allglobal_response.rb +3 -0
  41. data/lib/refworks/importfilter/favorites/importfilter_favorites_request.rb +20 -0
  42. data/lib/refworks/importfilter/favorites/importfilter_favorites_response.rb +3 -0
  43. data/lib/refworks/importfilter/importfilter.rb +18 -0
  44. data/lib/refworks/importfilter/importfilter_request.rb +16 -0
  45. data/lib/refworks/importfilter/importfilter_response.rb +35 -0
  46. data/lib/refworks/importfilter/search/importfilter_search_request.rb +22 -0
  47. data/lib/refworks/importfilter/search/importfilter_search_response.rb +3 -0
  48. data/lib/refworks/manuscript/all/manuscript_all_request.rb +22 -0
  49. data/lib/refworks/manuscript/all/manuscript_all_response.rb +13 -0
  50. data/lib/refworks/manuscript/baseurl/manuscript_baseurl_request.rb +22 -0
  51. data/lib/refworks/manuscript/baseurl/manuscript_baseurl_response.rb +13 -0
  52. data/lib/refworks/manuscript/byid/manuscript_byid_request.rb +32 -0
  53. data/lib/refworks/manuscript/byid/manuscript_byid_response.rb +3 -0
  54. data/lib/refworks/manuscript/file/manuscript_file_request.rb +22 -0
  55. data/lib/refworks/manuscript/file/manuscript_file_response.rb +18 -0
  56. data/lib/refworks/manuscript/folder/manuscript_folder_request.rb +22 -0
  57. data/lib/refworks/manuscript/folder/manuscript_folder_response.rb +14 -0
  58. data/lib/refworks/manuscript/manuscript_request.rb +20 -0
  59. data/lib/refworks/manuscript/manuscript_response.rb +3 -0
  60. data/lib/refworks/manuscript/mylist/manuscript_mylist_request.rb +21 -0
  61. data/lib/refworks/manuscript/mylist/manuscript_mylist_response.rb +14 -0
  62. data/lib/refworks/periodicals/all/periodicals_all_request.rb +21 -0
  63. data/lib/refworks/periodicals/all/periodicals_all_response.rb +3 -0
  64. data/lib/refworks/periodicals/periodical.rb +9 -0
  65. data/lib/refworks/periodicals/periodicals_request.rb +17 -0
  66. data/lib/refworks/periodicals/periodicals_response.rb +31 -0
  67. data/lib/refworks/periodicals/search/periodicals_search_request.rb +22 -0
  68. data/lib/refworks/periodicals/search/periodicals_search_response.rb +3 -0
  69. data/lib/refworks/properties/encoding/encoding.rb +3 -0
  70. data/lib/refworks/properties/encoding/properties_encoding_request.rb +20 -0
  71. data/lib/refworks/properties/encoding/properties_encoding_response.rb +3 -0
  72. data/lib/refworks/properties/fieldlabels/fieldlabel.rb +13 -0
  73. data/lib/refworks/properties/fieldlabels/properties_fieldlabels_request.rb +22 -0
  74. data/lib/refworks/properties/fieldlabels/properties_fieldlabels_response.rb +20 -0
  75. data/lib/refworks/properties/fieldlabels/reftypeFieldlabels.rb +11 -0
  76. data/lib/refworks/properties/languages/language.rb +8 -0
  77. data/lib/refworks/properties/languages/properties_languages_request.rb +22 -0
  78. data/lib/refworks/properties/languages/properties_languages_response.rb +20 -0
  79. data/lib/refworks/properties/outputlanguage/outputlanguage.rb +8 -0
  80. data/lib/refworks/properties/outputlanguage/properties_outputlanguage_request.rb +22 -0
  81. data/lib/refworks/properties/outputlanguage/properties_outputlanguage_response.rb +20 -0
  82. data/lib/refworks/properties/properties_request.rb +15 -0
  83. data/lib/refworks/properties/properties_response.rb +3 -0
  84. data/lib/refworks/properties/sortlocales/properties_sortlocales_request.rb +20 -0
  85. data/lib/refworks/properties/sortlocales/properties_sortlocales_response.rb +20 -0
  86. data/lib/refworks/properties/sortlocales/sortlocale.rb +8 -0
  87. data/lib/refworks/properties/sourcetypes/properties_sourcetypes_request.rb +21 -0
  88. data/lib/refworks/properties/sourcetypes/properties_sourcetypes_response.rb +20 -0
  89. data/lib/refworks/properties/sourcetypes/sourcetype.rb +8 -0
  90. data/lib/refworks/properties/typelabels/properties_typelabels_request.rb +21 -0
  91. data/lib/refworks/properties/typelabels/properties_typelabels_response.rb +20 -0
  92. data/lib/refworks/properties/typelabels/typelabel.rb +8 -0
  93. data/lib/refworks/reference.rb +526 -0
  94. data/lib/refworks/reference/get/reference_get_request.rb +21 -0
  95. data/lib/refworks/reference/get/reference_get_response.rb +7 -0
  96. data/lib/refworks/reference/reference_request.rb +15 -0
  97. data/lib/refworks/reference/reference_response.rb +3 -0
  98. data/lib/refworks/request.rb +50 -0
  99. data/lib/refworks/response.rb +12 -0
  100. data/lib/refworks/retrieve/advancesearch/retrieve_advancesearch_request.rb +41 -0
  101. data/lib/refworks/retrieve/advancesearch/retrieve_advancesearch_response.rb +3 -0
  102. data/lib/refworks/retrieve/all/retrieve_all_request.rb +21 -0
  103. data/lib/refworks/retrieve/all/retrieve_all_response.rb +3 -0
  104. data/lib/refworks/retrieve/author/retrieve_author_request.rb +23 -0
  105. data/lib/refworks/retrieve/author/retrieve_author_response.rb +3 -0
  106. data/lib/refworks/retrieve/byid/retrieve_byid_request.rb +22 -0
  107. data/lib/refworks/retrieve/byid/retrieve_byid_response.rb +3 -0
  108. data/lib/refworks/retrieve/count/retrieve_count_request.rb +21 -0
  109. data/lib/refworks/retrieve/count/retrieve_count_response.rb +16 -0
  110. data/lib/refworks/retrieve/descriptor/retrieve_descriptor_request.rb +22 -0
  111. data/lib/refworks/retrieve/descriptor/retrieve_descriptor_response.rb +3 -0
  112. data/lib/refworks/retrieve/dup/retrieve_dup_request.rb +21 -0
  113. data/lib/refworks/retrieve/dup/retrieve_dup_response.rb +3 -0
  114. data/lib/refworks/retrieve/folder/retrieve_folder_request.rb +21 -0
  115. data/lib/refworks/retrieve/folder/retrieve_folder_response.rb +3 -0
  116. data/lib/refworks/retrieve/modsince/retrieve_modsince_request.rb +23 -0
  117. data/lib/refworks/retrieve/modsince/retrieve_modsince_response.rb +3 -0
  118. data/lib/refworks/retrieve/nofolder/retrieve_nofolder_request.rb +20 -0
  119. data/lib/refworks/retrieve/nofolder/retrieve_nofolder_response.rb +3 -0
  120. data/lib/refworks/retrieve/periodical/retrieve_periodical_request.rb +22 -0
  121. data/lib/refworks/retrieve/periodical/retrieve_periodical_response.rb +3 -0
  122. data/lib/refworks/retrieve/quick/retrieve_quick_request.rb +23 -0
  123. data/lib/refworks/retrieve/quick/retrieve_quick_response.rb +3 -0
  124. data/lib/refworks/retrieve/retrieve_request.rb +22 -0
  125. data/lib/refworks/retrieve/retrieve_response.rb +34 -0
  126. data/lib/refworks/retrieve/saved/retrieve_saved_request.rb +22 -0
  127. data/lib/refworks/retrieve/saved/retrieve_saved_response.rb +3 -0
  128. data/lib/refworks/retrieve/specialfolder/retrieve_specialfolder_request.rb +21 -0
  129. data/lib/refworks/retrieve/specialfolder/retrieve_specialfolder_response.rb +3 -0
  130. data/lib/refworks/savedsearch/all/savedsearch_all_request.rb +21 -0
  131. data/lib/refworks/savedsearch/all/savedsearch_all_response.rb +3 -0
  132. data/lib/refworks/savedsearch/get/savedsearch_get_request.rb +22 -0
  133. data/lib/refworks/savedsearch/get/savedsearch_get_response.rb +3 -0
  134. data/lib/refworks/savedsearch/savedsearch.rb +21 -0
  135. data/lib/refworks/savedsearch/savedsearch_parameter.rb +18 -0
  136. data/lib/refworks/savedsearch/savedsearch_parameter_component.rb +10 -0
  137. data/lib/refworks/savedsearch/savedsearch_request.rb +15 -0
  138. data/lib/refworks/savedsearch/savedsearch_response.rb +24 -0
  139. data/lib/refworks/version.rb +3 -0
  140. metadata +224 -0
@@ -0,0 +1,21 @@
1
+ class ReferenceGetRequest < ReferenceRequest
2
+ def self.call_method
3
+ 'get'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Reference parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the get call
12
+ method_params = { :method => call_method,
13
+ :id => params[:id],
14
+ }
15
+
16
+ query_string_params = class_params.merge(method_params)
17
+
18
+ # return the request info
19
+ {:params => query_string_params}
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ class ReferenceGetResponse < RetrieveResponse
2
+ # Note the weirdness here, that ReferenceGetResponse is a child of RetrieveResponse (not ReferenceResponse).
3
+ # That's because the get method returns one or more references, which is exactly what Retrieve class is designed
4
+ # to do, whereas the rest of the Reference class has to do with -modifying- references.
5
+
6
+ # In other words, there probably shouldn't be a get method in the Reference class, but that's how the API is done.
7
+ end
@@ -0,0 +1,15 @@
1
+ class ReferenceRequest < Request
2
+ def self.call_class
3
+ "reference"
4
+ end
5
+
6
+ def self.generate_class_params(params)
7
+ # handle params common to all Reference calls
8
+ class_name = call_class()
9
+
10
+ # query parameters common to all Reference calls
11
+ {
12
+ :class => class_name,
13
+ }
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ class ReferenceResponse < Response
2
+
3
+ end
@@ -0,0 +1,50 @@
1
+
2
+ # The base abstract Request class. Universal request logic is captured here.
3
+ # @abstract
4
+ # @api private
5
+ class Request
6
+ require 'rubygems'
7
+ require 'base64'
8
+ require 'openssl'
9
+
10
+ # Returns the verb which should be used to request a particular API method. Since most of the API
11
+ # is based on GET requests, we define that as the default behavior here and override in
12
+ # subclasses where necessary.
13
+ # @return [String] The string 'GET'
14
+ def self.http_request_verb
15
+ 'GET'
16
+ end
17
+
18
+ # Generates a signature for the API call per the Refworks API signature specification.
19
+ # @param [String] call_class The name of the class being called.
20
+ # @param [String] access_key The user's access key.
21
+ # @param [String] secret_key The user's secret key.
22
+ # @return [String] A Refworks signature.
23
+ def self.generate_signature(call_class, access_key, secret_key)
24
+
25
+ # Construct the RW-required signature using the algorithm from their docs
26
+ # expires should be the current time represented in microseconds since the epoch
27
+ expires = Time.now.to_i * 1000
28
+
29
+ # RW formula for signature message
30
+ signature = call_class + access_key + expires.to_s.chomp
31
+
32
+ # Run it through HMAC SHA1 using secret key
33
+ hmacsig = OpenSSL::HMAC.digest('sha1', secret_key, signature)
34
+
35
+ # Base64 encode it
36
+ # Ruby 1.8 way
37
+ #encodedsig = Base64.encode64(hmacsig)
38
+ # Ruby 1.9.2 way
39
+ encodedsig = Base64.strict_encode64(hmacsig)
40
+
41
+ # Base64.encode64 adds a newline at end of string if not present. This strips it.
42
+ # Otherwise, you get an Invalid Signature error from RW
43
+ # Do this if you are using Ruby 1.8 and don't have access to strict_encode64 as used above
44
+ #encodedsig.gsub!(/%0A/,'')
45
+
46
+ # Return hash
47
+ {:signature => encodedsig, :accesskeyid => access_key, :expires => expires}
48
+ end
49
+
50
+ end
@@ -0,0 +1,12 @@
1
+
2
+ class Response
3
+ attr_reader :body, :parsed_response, :result_code, :result_msg, :process_time
4
+
5
+ def initialize(raw_response)
6
+ @body = raw_response.body
7
+ @parsed_response = raw_response.parsed_response
8
+ @result_code = parsed_response["refworks"]["RWResult"]["result"]
9
+ @process_time = parsed_response["refworks"]["RWResult"]["processTime"]
10
+ @result_msg = parsed_response["refworks"]["RWResult"]["resultMsg"]
11
+ end
12
+ end
@@ -0,0 +1,41 @@
1
+ class RetrieveAdvancesearchRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'advancesearch'
5
+ end
6
+
7
+ def self.http_request_verb
8
+ 'POST'
9
+ end
10
+
11
+ def self.generate_request_info(params)
12
+
13
+ # get common Retrieve parameters
14
+ class_params = generate_class_params(params)
15
+
16
+ # query parameters for the advancesearch call
17
+ method_params = { :method => call_method,
18
+ :classic => params[:classic] || 'true',
19
+ :search => params[:search],
20
+ }
21
+
22
+ query_string_params = class_params.merge(method_params)
23
+ # advancesearch also has a POST payload
24
+
25
+ # construct ParameterList
26
+ parameter_list = "<ParameterList>"
27
+ params[:parameter_list].each do |param|
28
+ connector = param[:connector] || "and"
29
+ field = param[:field] || "ALL"
30
+ searchempty = param[:searchempty] || "false"
31
+ parameter_list << "<Parameter connector=\"#{connector}\" field=\"#{field}\" searchempty=\"#{searchempty}\">#{param[:search]}</Parameter>"
32
+ end
33
+ parameter_list << "</ParameterList>"
34
+
35
+ message_body = parameter_list
36
+
37
+ # return the request info
38
+ {:params => query_string_params, :body => message_body, :headers => {'Content-type' => 'text/xml'}}
39
+ end
40
+
41
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveAdvancesearchResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,21 @@
1
+ class RetrieveAllRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'all'
5
+ end
6
+
7
+ def self.generate_request_info(params)
8
+
9
+ # get common Retrieve parameters
10
+ class_params = generate_class_params(params)
11
+
12
+ # query parameters for the all call
13
+ method_params = { :method => call_method,
14
+ }
15
+
16
+ query_string_params = class_params.merge(method_params)
17
+
18
+ # return the request info
19
+ {:params => query_string_params}
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveAllResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,23 @@
1
+ class RetrieveAuthorRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'author'
5
+ end
6
+
7
+ def self.generate_request_info(params)
8
+
9
+ # get common Retrieve parameters
10
+ class_params = generate_class_params(params)
11
+
12
+ # query parameters for the author call
13
+ method_params = { :method => call_method,
14
+ :search => params[:search],
15
+ :folder => params[:folder], # this is optional, if nil entire account is searched
16
+ }
17
+
18
+ query_string_params = class_params.merge(method_params)
19
+
20
+ # return the request info
21
+ {:params => query_string_params}
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveAuthorResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,22 @@
1
+ class RetrieveByidRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'byid'
5
+ end
6
+
7
+ def self.generate_request_info(params)
8
+
9
+ # get common Retrieve parameters
10
+ class_params = generate_class_params(params)
11
+
12
+ # query parameters for the byid call
13
+ method_params = { :method => call_method,
14
+ :id => params[:id],
15
+ }
16
+
17
+ query_string_params = class_params.merge(method_params)
18
+
19
+ # return the request info
20
+ {:params => query_string_params}
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveByidResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,21 @@
1
+ class RetrieveCountRequest < RetrieveRequest
2
+ def self.call_method
3
+ 'count'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Retrieve parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the count call
12
+ method_params = { :method => call_method,
13
+ :attachonly => params[:attachonly] || 'false',
14
+ }
15
+
16
+ query_string_params = class_params.merge(method_params)
17
+
18
+ # return the request info
19
+ {:params => query_string_params}
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ class RetrieveCountResponse < Response
2
+
3
+ attr_reader :count
4
+
5
+ def initialize(raw_response)
6
+ super(raw_response)
7
+ if result_code != "200"
8
+ return
9
+ end
10
+
11
+ # If results returned, process the references and metadata
12
+
13
+ @count = self.parsed_response["refworks"]["RWResult"]["RetrieveCount"]["count"]
14
+ end
15
+
16
+ end
@@ -0,0 +1,22 @@
1
+ class RetrieveDescriptorRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'descriptor'
5
+ end
6
+
7
+ def self.generate_request_info(params)
8
+
9
+ # get common Retrieve parameters
10
+ class_params = generate_class_params(params)
11
+
12
+ # query parameters for the descriptor call
13
+ method_params = { :method => call_method,
14
+ :search => params[:search],
15
+ }
16
+
17
+ query_string_params = class_params.merge(method_params)
18
+
19
+ # return the request info
20
+ {:params => query_string_params}
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveDescriptorResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,21 @@
1
+ class RetrieveDupRequest < RetrieveRequest
2
+ def self.call_method
3
+ 'dup'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Retrieve parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the dup call
12
+ method_params = { :method => call_method,
13
+ :search => params[:search],
14
+ }
15
+
16
+ query_string_params = class_params.merge(method_params)
17
+
18
+ # return the request info
19
+ {:params => query_string_params}
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveDupResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,21 @@
1
+ class RetrieveFolderRequest < RetrieveRequest
2
+ def self.call_method
3
+ 'folder'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Retrieve parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the search call
12
+ method_params = { :method => call_method,
13
+ :search => params[:search],
14
+ }
15
+
16
+ query_string_params = class_params.merge(method_params)
17
+
18
+ # return the request info
19
+ {:params => query_string_params}
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveFolderResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,23 @@
1
+ class RetrieveModsinceRequest < RetrieveRequest
2
+ def self.call_method
3
+ 'modsince'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Retrieve parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the byid call
12
+ method_params = { :method => call_method,
13
+ :search => params[:search],
14
+ :skipref => params[:skipref] || 0,
15
+ :attachonly => params[:attachonly] || "false",
16
+ }
17
+
18
+ query_string_params = class_params.merge(method_params)
19
+
20
+ # return the request info
21
+ {:params => query_string_params}
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveModsinceResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,20 @@
1
+ class RetrieveNofolderRequest < RetrieveRequest
2
+ def self.call_method
3
+ 'nofolder'
4
+ end
5
+
6
+ def self.generate_request_info(params)
7
+
8
+ # get common Retrieve parameters
9
+ class_params = generate_class_params(params)
10
+
11
+ # query parameters for the nofolder call
12
+ method_params = { :method => call_method,
13
+ }
14
+
15
+ query_string_params = class_params.merge(method_params)
16
+
17
+ # return the request info
18
+ {:params => query_string_params}
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ class RetrieveNofolderResponse < RetrieveResponse
2
+
3
+ end
@@ -0,0 +1,22 @@
1
+ class RetrievePeriodicalRequest < RetrieveRequest
2
+
3
+ def self.call_method
4
+ 'periodical'
5
+ end
6
+
7
+ def self.generate_request_info(params)
8
+
9
+ # get common Retrieve parameters
10
+ class_params = generate_class_params(params)
11
+
12
+ # query parameters for the periodical call
13
+ method_params = { :method => call_method,
14
+ :search => params[:search],
15
+ }
16
+
17
+ query_string_params = class_params.merge(method_params)
18
+
19
+ # return the request info
20
+ {:params => query_string_params}
21
+ end
22
+ end