refworks 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/README.md +120 -0
- data/lib/refworks.rb +183 -0
- data/lib/refworks/authentication/authentication_request.rb +17 -0
- data/lib/refworks/authentication/authentication_response.rb +3 -0
- data/lib/refworks/authentication/delsess/authentication_delsess_request.rb +20 -0
- data/lib/refworks/authentication/delsess/authentication_delsess_response.rb +3 -0
- data/lib/refworks/authentication/newsess/authentication_newsess_request.rb +37 -0
- data/lib/refworks/authentication/newsess/authentication_newsess_response.rb +10 -0
- data/lib/refworks/authentication/newtempusersess/authentication_newtempusersess_request.rb +21 -0
- data/lib/refworks/authentication/newtempusersess/authentication_newtempusersess_response.rb +9 -0
- data/lib/refworks/authentication/ping/authentication_ping_request.rb +21 -0
- data/lib/refworks/authentication/ping/authentication_ping_response.rb +3 -0
- data/lib/refworks/authentication/userexists/authentication_userexists_request.rb +37 -0
- data/lib/refworks/authentication/userexists/authentication_userexists_response.rb +3 -0
- data/lib/refworks/authors/all/authors_all_request.rb +29 -0
- data/lib/refworks/authors/all/authors_all_response.rb +3 -0
- data/lib/refworks/authors/author.rb +10 -0
- data/lib/refworks/authors/authors_request.rb +23 -0
- data/lib/refworks/authors/authors_response.rb +32 -0
- data/lib/refworks/authors/search/authors_search_request.rb +23 -0
- data/lib/refworks/authors/search/authors_search_response.rb +3 -0
- data/lib/refworks/descriptors/all/descriptors_all_request.rb +21 -0
- data/lib/refworks/descriptors/all/descriptors_all_response.rb +3 -0
- data/lib/refworks/descriptors/descriptor.rb +8 -0
- data/lib/refworks/descriptors/descriptors_request.rb +17 -0
- data/lib/refworks/descriptors/descriptors_response.rb +31 -0
- data/lib/refworks/descriptors/search/descriptors_search_request.rb +24 -0
- data/lib/refworks/descriptors/search/descriptors_search_response.rb +3 -0
- data/lib/refworks/folders/all/folders_all_request.rb +20 -0
- data/lib/refworks/folders/all/folders_all_response.rb +3 -0
- data/lib/refworks/folders/folder.rb +10 -0
- data/lib/refworks/folders/folders_request.rb +17 -0
- data/lib/refworks/folders/folders_response.rb +32 -0
- data/lib/refworks/folders/search/folders_search_request.rb +21 -0
- data/lib/refworks/folders/search/folders_search_response.rb +3 -0
- data/lib/refworks/importfilter/allavailable/importfilter_allavailable_request.rb +20 -0
- data/lib/refworks/importfilter/allavailable/importfilter_allavailable_response.rb +3 -0
- data/lib/refworks/importfilter/allglobal/importfilter_allglobal_request.rb +20 -0
- data/lib/refworks/importfilter/allglobal/importfilter_allglobal_response.rb +3 -0
- data/lib/refworks/importfilter/favorites/importfilter_favorites_request.rb +20 -0
- data/lib/refworks/importfilter/favorites/importfilter_favorites_response.rb +3 -0
- data/lib/refworks/importfilter/importfilter.rb +18 -0
- data/lib/refworks/importfilter/importfilter_request.rb +16 -0
- data/lib/refworks/importfilter/importfilter_response.rb +35 -0
- data/lib/refworks/importfilter/search/importfilter_search_request.rb +22 -0
- data/lib/refworks/importfilter/search/importfilter_search_response.rb +3 -0
- data/lib/refworks/manuscript/all/manuscript_all_request.rb +22 -0
- data/lib/refworks/manuscript/all/manuscript_all_response.rb +13 -0
- data/lib/refworks/manuscript/baseurl/manuscript_baseurl_request.rb +22 -0
- data/lib/refworks/manuscript/baseurl/manuscript_baseurl_response.rb +13 -0
- data/lib/refworks/manuscript/byid/manuscript_byid_request.rb +32 -0
- data/lib/refworks/manuscript/byid/manuscript_byid_response.rb +3 -0
- data/lib/refworks/manuscript/file/manuscript_file_request.rb +22 -0
- data/lib/refworks/manuscript/file/manuscript_file_response.rb +18 -0
- data/lib/refworks/manuscript/folder/manuscript_folder_request.rb +22 -0
- data/lib/refworks/manuscript/folder/manuscript_folder_response.rb +14 -0
- data/lib/refworks/manuscript/manuscript_request.rb +20 -0
- data/lib/refworks/manuscript/manuscript_response.rb +3 -0
- data/lib/refworks/manuscript/mylist/manuscript_mylist_request.rb +21 -0
- data/lib/refworks/manuscript/mylist/manuscript_mylist_response.rb +14 -0
- data/lib/refworks/periodicals/all/periodicals_all_request.rb +21 -0
- data/lib/refworks/periodicals/all/periodicals_all_response.rb +3 -0
- data/lib/refworks/periodicals/periodical.rb +9 -0
- data/lib/refworks/periodicals/periodicals_request.rb +17 -0
- data/lib/refworks/periodicals/periodicals_response.rb +31 -0
- data/lib/refworks/periodicals/search/periodicals_search_request.rb +22 -0
- data/lib/refworks/periodicals/search/periodicals_search_response.rb +3 -0
- data/lib/refworks/properties/encoding/encoding.rb +3 -0
- data/lib/refworks/properties/encoding/properties_encoding_request.rb +20 -0
- data/lib/refworks/properties/encoding/properties_encoding_response.rb +3 -0
- data/lib/refworks/properties/fieldlabels/fieldlabel.rb +13 -0
- data/lib/refworks/properties/fieldlabels/properties_fieldlabels_request.rb +22 -0
- data/lib/refworks/properties/fieldlabels/properties_fieldlabels_response.rb +20 -0
- data/lib/refworks/properties/fieldlabels/reftypeFieldlabels.rb +11 -0
- data/lib/refworks/properties/languages/language.rb +8 -0
- data/lib/refworks/properties/languages/properties_languages_request.rb +22 -0
- data/lib/refworks/properties/languages/properties_languages_response.rb +20 -0
- data/lib/refworks/properties/outputlanguage/outputlanguage.rb +8 -0
- data/lib/refworks/properties/outputlanguage/properties_outputlanguage_request.rb +22 -0
- data/lib/refworks/properties/outputlanguage/properties_outputlanguage_response.rb +20 -0
- data/lib/refworks/properties/properties_request.rb +15 -0
- data/lib/refworks/properties/properties_response.rb +3 -0
- data/lib/refworks/properties/sortlocales/properties_sortlocales_request.rb +20 -0
- data/lib/refworks/properties/sortlocales/properties_sortlocales_response.rb +20 -0
- data/lib/refworks/properties/sortlocales/sortlocale.rb +8 -0
- data/lib/refworks/properties/sourcetypes/properties_sourcetypes_request.rb +21 -0
- data/lib/refworks/properties/sourcetypes/properties_sourcetypes_response.rb +20 -0
- data/lib/refworks/properties/sourcetypes/sourcetype.rb +8 -0
- data/lib/refworks/properties/typelabels/properties_typelabels_request.rb +21 -0
- data/lib/refworks/properties/typelabels/properties_typelabels_response.rb +20 -0
- data/lib/refworks/properties/typelabels/typelabel.rb +8 -0
- data/lib/refworks/reference.rb +526 -0
- data/lib/refworks/reference/get/reference_get_request.rb +21 -0
- data/lib/refworks/reference/get/reference_get_response.rb +7 -0
- data/lib/refworks/reference/reference_request.rb +15 -0
- data/lib/refworks/reference/reference_response.rb +3 -0
- data/lib/refworks/request.rb +50 -0
- data/lib/refworks/response.rb +12 -0
- data/lib/refworks/retrieve/advancesearch/retrieve_advancesearch_request.rb +41 -0
- data/lib/refworks/retrieve/advancesearch/retrieve_advancesearch_response.rb +3 -0
- data/lib/refworks/retrieve/all/retrieve_all_request.rb +21 -0
- data/lib/refworks/retrieve/all/retrieve_all_response.rb +3 -0
- data/lib/refworks/retrieve/author/retrieve_author_request.rb +23 -0
- data/lib/refworks/retrieve/author/retrieve_author_response.rb +3 -0
- data/lib/refworks/retrieve/byid/retrieve_byid_request.rb +22 -0
- data/lib/refworks/retrieve/byid/retrieve_byid_response.rb +3 -0
- data/lib/refworks/retrieve/count/retrieve_count_request.rb +21 -0
- data/lib/refworks/retrieve/count/retrieve_count_response.rb +16 -0
- data/lib/refworks/retrieve/descriptor/retrieve_descriptor_request.rb +22 -0
- data/lib/refworks/retrieve/descriptor/retrieve_descriptor_response.rb +3 -0
- data/lib/refworks/retrieve/dup/retrieve_dup_request.rb +21 -0
- data/lib/refworks/retrieve/dup/retrieve_dup_response.rb +3 -0
- data/lib/refworks/retrieve/folder/retrieve_folder_request.rb +21 -0
- data/lib/refworks/retrieve/folder/retrieve_folder_response.rb +3 -0
- data/lib/refworks/retrieve/modsince/retrieve_modsince_request.rb +23 -0
- data/lib/refworks/retrieve/modsince/retrieve_modsince_response.rb +3 -0
- data/lib/refworks/retrieve/nofolder/retrieve_nofolder_request.rb +20 -0
- data/lib/refworks/retrieve/nofolder/retrieve_nofolder_response.rb +3 -0
- data/lib/refworks/retrieve/periodical/retrieve_periodical_request.rb +22 -0
- data/lib/refworks/retrieve/periodical/retrieve_periodical_response.rb +3 -0
- data/lib/refworks/retrieve/quick/retrieve_quick_request.rb +23 -0
- data/lib/refworks/retrieve/quick/retrieve_quick_response.rb +3 -0
- data/lib/refworks/retrieve/retrieve_request.rb +22 -0
- data/lib/refworks/retrieve/retrieve_response.rb +34 -0
- data/lib/refworks/retrieve/saved/retrieve_saved_request.rb +22 -0
- data/lib/refworks/retrieve/saved/retrieve_saved_response.rb +3 -0
- data/lib/refworks/retrieve/specialfolder/retrieve_specialfolder_request.rb +21 -0
- data/lib/refworks/retrieve/specialfolder/retrieve_specialfolder_response.rb +3 -0
- data/lib/refworks/savedsearch/all/savedsearch_all_request.rb +21 -0
- data/lib/refworks/savedsearch/all/savedsearch_all_response.rb +3 -0
- data/lib/refworks/savedsearch/get/savedsearch_get_request.rb +22 -0
- data/lib/refworks/savedsearch/get/savedsearch_get_response.rb +3 -0
- data/lib/refworks/savedsearch/savedsearch.rb +21 -0
- data/lib/refworks/savedsearch/savedsearch_parameter.rb +18 -0
- data/lib/refworks/savedsearch/savedsearch_parameter_component.rb +10 -0
- data/lib/refworks/savedsearch/savedsearch_request.rb +15 -0
- data/lib/refworks/savedsearch/savedsearch_response.rb +24 -0
- data/lib/refworks/version.rb +3 -0
- 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,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,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,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,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,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,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,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,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,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,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
|