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.
- 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
|