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,20 @@
|
|
1
|
+
class ImportfilterAllavailableRequest < ImportfilterRequest
|
2
|
+
def self.call_method
|
3
|
+
'allavailable'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common ImportFilters parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the all 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,20 @@
|
|
1
|
+
class ImportfilterAllglobalRequest < ImportfilterRequest
|
2
|
+
def self.call_method
|
3
|
+
'allglobal'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common ImportFilter parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the allglobal 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,20 @@
|
|
1
|
+
class ImportfilterFavoritesRequest < ImportfilterRequest
|
2
|
+
def self.call_method
|
3
|
+
'favorites'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common ImportFilters parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the favorites 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,18 @@
|
|
1
|
+
class Importfilter
|
2
|
+
attr_reader :name, :id, :owner, :databases
|
3
|
+
|
4
|
+
def initialize(rawfilter)
|
5
|
+
@name = rawfilter["Name"]
|
6
|
+
@id = rawfilter["id"]
|
7
|
+
@owner = rawfilter["owner"]
|
8
|
+
@databases = Array.new
|
9
|
+
|
10
|
+
# Promote all returned database values to arrays in the object, even if one database returned, for consistency
|
11
|
+
if rawfilter["Database"].class == Array
|
12
|
+
@databases = rawfilter["Database"]
|
13
|
+
else
|
14
|
+
@databases << rawfilter["Database"]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class ImportfilterRequest < Request
|
2
|
+
def self.call_class
|
3
|
+
"importfilter"
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_class_params(params)
|
7
|
+
# handle params common to all ImportFilters calls
|
8
|
+
class_name = call_class()
|
9
|
+
|
10
|
+
# query parameters common to all ImportFilters calls
|
11
|
+
{
|
12
|
+
:class => class_name,
|
13
|
+
:includedb => params[:includedb] || 'false',
|
14
|
+
}
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class ImportfilterResponse < Response
|
2
|
+
attr_reader :totalFilters, :importfilters
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
super(raw_response)
|
6
|
+
if result_code != "200"
|
7
|
+
@totalFilters = "0"
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
@totalFilters = self.parsed_response["refworks"]["RWResult"]["ImportFilterResult"]["totalFilters"]
|
12
|
+
|
13
|
+
# e.g. case of no favorites
|
14
|
+
if @totalFilters == "0"
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
18
|
+
# If results returned, process the importfilters and metadata
|
19
|
+
filter_list = self.parsed_response["refworks"]["RWResult"]["ImportFilterResult"]["ImportFilter"]
|
20
|
+
|
21
|
+
# here we parse out authors into an array of actual Importfilter objects (even if only 1 ref returned)
|
22
|
+
@importfilters = Array.new
|
23
|
+
|
24
|
+
# The RefWorks API can return an array or a single element depending on how many importfilters were returned.
|
25
|
+
if filter_list.class == Array
|
26
|
+
filter_list.each do |rawfilter|
|
27
|
+
@importfilters << Importfilter.new(rawfilter)
|
28
|
+
end
|
29
|
+
else
|
30
|
+
# here, "filter_list" is just a hash representing a single author
|
31
|
+
# in other words, only one importfilter was returned
|
32
|
+
@importfilters << Importfilter.new(filter_list)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ImportfilterSearchRequest < ImportfilterRequest
|
2
|
+
def self.call_method
|
3
|
+
'search'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common ImportFilters 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
|
+
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ManuscriptAllRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'all'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common Manuscript parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the baseurl 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
|
+
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class ManuscriptAllResponse < ManuscriptResponse
|
2
|
+
attr_reader :filetoken
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
super(raw_response)
|
6
|
+
|
7
|
+
if result_code != "200"
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
@filetoken = self.parsed_response["refworks"]["RWResult"]["RWManuscript"]["FileToken"]
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ManuscriptBaseurlRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'baseurl'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common Manuscript parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the baseurl call
|
12
|
+
method_params = { :method => call_method,
|
13
|
+
:methodname => params[:methodname],
|
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
|
+
|
22
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class ManuscriptBaseurlResponse < ManuscriptResponse
|
2
|
+
attr_reader :baseurl
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
super(raw_response)
|
6
|
+
|
7
|
+
if result_code != "200"
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
@baseurl = self.parsed_response["refworks"]["RWResult"]["BaseURL"]
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class ManuscriptByidRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'byid'
|
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 Manuscript parameters
|
13
|
+
class_params = generate_class_params(params)
|
14
|
+
|
15
|
+
# query parameters for the byid call
|
16
|
+
method_params = { :method => call_method,
|
17
|
+
}
|
18
|
+
|
19
|
+
query_string_params = class_params.merge(method_params)
|
20
|
+
|
21
|
+
# Construct the XML payload for the byid call.
|
22
|
+
ids = params[:ids]
|
23
|
+
|
24
|
+
message_body = '<RWRequest class="manuscript" method="byid">'
|
25
|
+
message_body << ids.collect{ |x| "<id>#{x}</id>"}.join
|
26
|
+
message_body << '</RWRequest>'
|
27
|
+
|
28
|
+
# return the request info
|
29
|
+
{:params => query_string_params, :body => message_body, :headers => {'Content-type' => 'text/xml'}}
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ManuscriptFileRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'file'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common Manuscript parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the file call
|
12
|
+
method_params = { :method => call_method,
|
13
|
+
:filetoken => params[:filetoken],
|
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
|
+
|
22
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class ManuscriptFileResponse < ManuscriptResponse
|
2
|
+
attr_reader :body, :parsed_response, :result_code, :result_msg, :process_time
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
|
6
|
+
@result_code = raw_response.code
|
7
|
+
@body = raw_response.body
|
8
|
+
@parsed_response = nil
|
9
|
+
|
10
|
+
if @result_code != 200
|
11
|
+
@result_code = raw_response.code
|
12
|
+
@result_msg = raw_response.msg
|
13
|
+
else
|
14
|
+
@parsed_response = nil
|
15
|
+
@result_msg = "File retrieved and stored in body attribute. Parsed response not applicable for file retrievals."
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ManuscriptFolderRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'folder'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common Manuscript parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the folder call
|
12
|
+
method_params = { :method => call_method,
|
13
|
+
:folder => params[:folder],
|
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
|
+
|
22
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class ManuscriptFolderResponse < ManuscriptResponse
|
2
|
+
attr_reader :filetoken
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
super(raw_response)
|
6
|
+
|
7
|
+
if result_code != "200"
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
@filetoken = self.parsed_response["refworks"]["RWResult"]["RWManuscript"]["FileToken"]
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class ManuscriptRequest < Request
|
2
|
+
def self.call_class
|
3
|
+
"manuscript"
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_class_params(params)
|
7
|
+
# handle params common to all Manuscript calls
|
8
|
+
class_name = call_class()
|
9
|
+
|
10
|
+
# query parameters common to all Manuscript calls
|
11
|
+
{
|
12
|
+
:class => class_name,
|
13
|
+
:id => params[:id],
|
14
|
+
:fileformat => params[:fileformat],
|
15
|
+
:maxrefs => params[:maxrefs] || 999999,
|
16
|
+
:language => params[:language] || 'en',
|
17
|
+
:base_url => params[:base_url] || nil,
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class ManuscriptMylistRequest < ManuscriptRequest
|
2
|
+
def self.call_method
|
3
|
+
'mylist'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.generate_request_info(params)
|
7
|
+
|
8
|
+
# get common Manuscript parameters
|
9
|
+
class_params = generate_class_params(params)
|
10
|
+
|
11
|
+
# query parameters for the mylist 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
|
+
|
21
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class ManuscriptMylistResponse < ManuscriptResponse
|
2
|
+
attr_reader :filetoken
|
3
|
+
|
4
|
+
def initialize(raw_response)
|
5
|
+
super(raw_response)
|
6
|
+
|
7
|
+
if result_code != "200"
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
@filetoken = self.parsed_response["refworks"]["RWResult"]["RWManuscript"]["FileToken"]
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|