summon 1.1.14 → 1.2.0
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.
- data/.gitignore +7 -0
- data/{History.txt → Changelog.md} +53 -20
- data/Gemfile +3 -0
- data/Gemfile.lock +28 -0
- data/{README.rdoc → README.md} +21 -21
- data/Rakefile +5 -22
- data/lib/summon.rb +2 -8
- data/lib/summon/cli.rb +2 -0
- data/lib/summon/schema.rb +0 -9
- data/lib/summon/schema/document.rb +15 -15
- data/lib/summon/schema/facet.rb +0 -11
- data/lib/summon/schema/range.rb +1 -5
- data/lib/summon/service.rb +1 -2
- data/lib/summon/version.rb +4 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/summon/schema/document_spec.rb +1 -0
- data/spec/summon/schema/facet_spec.rb +1 -21
- data/spec/summon/schema/lib_guide_tab_spec.rb +142 -0
- data/spec/summon/schema_spec.rb +0 -40
- data/spec/summon/service_spec.rb +0 -13
- data/spec/summon_spec.rb +1 -4
- data/spike.rb +0 -0
- data/summon.gemspec +14 -28
- metadata +61 -58
- data/Manifest.txt +0 -70
- data/PostInstall.txt +0 -5
- data/lib/summon/locales/dadk.rb +0 -175
- data/lib/summon/locales/dede.rb +0 -178
- data/lib/summon/locales/en.rb +0 -180
- data/lib/summon/locales/eses.rb +0 -175
- data/lib/summon/locales/fifi.rb +0 -175
- data/lib/summon/locales/fr.rb +0 -9
- data/lib/summon/locales/frfr.rb +0 -175
- data/lib/summon/locales/isis.rb +0 -175
- data/lib/summon/locales/itit.rb +0 -175
- data/lib/summon/locales/jp.rb +0 -176
- data/lib/summon/locales/nlnl.rb +0 -175
- data/lib/summon/locales/nono.rb +0 -175
- data/lib/summon/locales/ptpt.rb +0 -175
- data/lib/summon/locales/svse.rb +0 -175
- data/lib/summon/locales/zacn.rb +0 -175
- data/lib/summon/locales/zhcn.rb +0 -175
data/.gitignore
ADDED
@@ -1,65 +1,98 @@
|
|
1
|
-
|
1
|
+
### 1.2.0 2011-04-09
|
2
|
+
|
3
|
+
* removed translations
|
4
|
+
* modernize the gemming process
|
5
|
+
* support for spotlighting
|
6
|
+
* Copyright field in document is now multi-value
|
7
|
+
|
8
|
+
### 1.1.17 2011-01-28
|
9
|
+
* 1 minor enhancement
|
10
|
+
* copyright field is multi-value (document schema)
|
11
|
+
|
12
|
+
### 1.1.16 2011-01-27
|
13
|
+
* 8 minor enhancements
|
14
|
+
* document schema changes
|
15
|
+
* renamed dissertation_advisor => dissertation_advisors
|
16
|
+
* renamed dissertation_category => dissertation_categories
|
17
|
+
* renamed dissertation_degree => dissertation_degrees
|
18
|
+
* renamed dissertation_degree_date => dissertation_degrees_dates
|
19
|
+
* renamed dissertation_school = dissertation_schools
|
20
|
+
* removed dissertation_degree_date_decade
|
21
|
+
* removed dissertation_degree_date_century
|
22
|
+
* removed dissertation_degree_date_year
|
23
|
+
|
24
|
+
### 1.1.15 2011-01-26
|
25
|
+
* 1 major enhancement
|
26
|
+
* added spotlight_children to document schema
|
27
|
+
* 6 minor enhancements
|
28
|
+
* added meeting_name to document schema
|
29
|
+
* added deweys to document schema
|
30
|
+
* added eisbns to document schema
|
31
|
+
* added eissns to document schema
|
32
|
+
* added copyright to document schema
|
33
|
+
|
34
|
+
### 1.1.14 2010-10-20
|
2
35
|
* 1 minor enhancement
|
3
36
|
* German translation updates
|
4
37
|
|
5
|
-
|
38
|
+
### 1.1.13 2010-10-20
|
6
39
|
* 1 minor enhancement
|
7
40
|
* fix service cloning
|
8
41
|
|
9
|
-
|
42
|
+
### 1.1.12 2010-10-19
|
10
43
|
* 1 minor enhancement
|
11
44
|
* added lib_guide_tabs to document schema
|
12
45
|
|
13
|
-
|
46
|
+
### 1.1.11 2010-09-03
|
14
47
|
* 1 minor enhancement
|
15
48
|
* added dbid field accessor to the document schema
|
16
49
|
|
17
|
-
|
50
|
+
### 1.1.10 2010-05-06
|
18
51
|
* 4 minor enhancements
|
19
52
|
* updated "en" and "xx" locales
|
20
53
|
* Added additional translation stubs
|
21
54
|
* Added full on translations
|
22
55
|
# Added Edition to document schema
|
23
56
|
|
24
|
-
|
57
|
+
### 1.1.9 2010-05-03
|
25
58
|
* 2 minor enhancement
|
26
|
-
* fix japanese translation for Publication Date
|
59
|
+
* fix japanese translation for Publication Date
|
27
60
|
* Added publication_place to document schema
|
28
61
|
|
29
|
-
|
62
|
+
### 1.1.8 2010-03-08
|
30
63
|
* 1 minor enhancements
|
31
64
|
* added from_library? to see if a document is from the library catalog
|
32
65
|
|
33
|
-
|
66
|
+
### 1.1.7 2010-02-18
|
34
67
|
* 1 minor enhancement
|
35
68
|
* allow locale to be specified as either a string or a symbol
|
36
|
-
|
37
|
-
|
69
|
+
|
70
|
+
### 1.1.6 2010-01-14
|
38
71
|
* 1 minor enhancement
|
39
72
|
* tweak database recommendation lists to make it support multiple recommendations
|
40
|
-
|
41
|
-
|
73
|
+
|
74
|
+
### 1.1.5 2010-01-13
|
42
75
|
* 1 major enhancement
|
43
76
|
* add support for database recomendation lists
|
44
|
-
|
45
|
-
|
77
|
+
|
78
|
+
### 1.1.4 2010-01-12
|
46
79
|
* 4 minor enhancements:
|
47
80
|
* add ISICitedReferencesCount for documents on which they're available
|
48
81
|
* add ISICitedReferencesURI for document on which available
|
49
82
|
* add command line option for setting s.role API parameter
|
50
83
|
* map Document::URI field
|
51
|
-
|
52
|
-
|
84
|
+
|
85
|
+
### 1.1.3 2010-01-11
|
53
86
|
* 2 major enhancements:
|
54
87
|
* support for passing locale to summon gem
|
55
88
|
* add japanese language translations
|
56
89
|
|
57
|
-
|
90
|
+
### 1.1.1 2009-12-11
|
58
91
|
* 2 minor enhancements:
|
59
92
|
* add support to handle government document classification number (GovDocClassNum)
|
60
93
|
* map error.code into error object to allow for finer grained error messages
|
61
94
|
|
62
|
-
|
95
|
+
### 1.1.0 2009-11-10
|
63
96
|
* 2 major enhancements:
|
64
97
|
* add support for Thumbnails in the thumbnail_small, thumbnail_medium, and thumbnail_large fields
|
65
98
|
* add availability service for querying physical catalogue records.
|
@@ -71,7 +104,7 @@
|
|
71
104
|
* empty parameter was causing a NameError on the return trip
|
72
105
|
* added range? predicate to range facets so that they can be identified as ranges
|
73
106
|
|
74
|
-
|
107
|
+
### 1.0.0 2009-09-28
|
75
108
|
|
76
109
|
* 1 major enhancement:
|
77
110
|
* Initial Release
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
summon (1.2.0)
|
5
|
+
json (>= 1.2.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
diff-lcs (1.1.2)
|
11
|
+
json (1.4.6)
|
12
|
+
rake (0.8.7)
|
13
|
+
rspec (2.4.0)
|
14
|
+
rspec-core (~> 2.4.0)
|
15
|
+
rspec-expectations (~> 2.4.0)
|
16
|
+
rspec-mocks (~> 2.4.0)
|
17
|
+
rspec-core (2.4.0)
|
18
|
+
rspec-expectations (2.4.0)
|
19
|
+
diff-lcs (~> 1.1.2)
|
20
|
+
rspec-mocks (2.4.0)
|
21
|
+
|
22
|
+
PLATFORMS
|
23
|
+
ruby
|
24
|
+
|
25
|
+
DEPENDENCIES
|
26
|
+
rake
|
27
|
+
rspec (>= 2.0.0)
|
28
|
+
summon!
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,34 +1,34 @@
|
|
1
|
-
|
1
|
+
# summon
|
2
2
|
|
3
3
|
* http://summon.rubyforge.org
|
4
4
|
* http://www.serialssolutions.com/summon
|
5
5
|
* http://api.summon.serialssolutions.com
|
6
6
|
|
7
|
-
|
7
|
+
## DESCRIPTION:
|
8
8
|
|
9
9
|
Ruby language bindings for Serials Solutions Summon Unified Discovery Service
|
10
10
|
|
11
|
-
|
11
|
+
## FEATURES/PROBLEMS:
|
12
12
|
|
13
13
|
* perform searches using the Summon public API from within ruby.
|
14
14
|
|
15
|
-
|
15
|
+
## SYNOPSIS:
|
16
16
|
|
17
|
-
|
17
|
+
### From the Command Line
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
#lots of results.
|
29
|
-
summon "Will Shakespeare" --s.cmd="addFacetValueFilters(ContentType, Book) setPageSize(100)"
|
19
|
+
#help
|
20
|
+
summon --help
|
21
|
+
|
22
|
+
#simple text query
|
23
|
+
summon "Will Shakespeare"
|
24
|
+
|
25
|
+
#books only please!
|
26
|
+
summon "Will Shakespeare" --s.cmd="addFacetValueFilters(ContentType, Book)"
|
30
27
|
|
31
|
-
|
28
|
+
#lots of results.
|
29
|
+
summon "Will Shakespeare" --s.cmd="addFacetValueFilters(ContentType, Book) setPageSize(100)"
|
30
|
+
|
31
|
+
### Inside Code
|
32
32
|
|
33
33
|
require 'summon'
|
34
34
|
@service = Summon::Service.new(:access_id => 'myaccessid', :secret_key => 'mysecretkey')
|
@@ -43,15 +43,15 @@ Ruby language bindings for Serials Solutions Summon Unified Discovery Service
|
|
43
43
|
#search using commands
|
44
44
|
search = @service.search("s.cmd" => "addTextQuery(Elephants) addFacetValueFilters(ContentType,Book)")
|
45
45
|
|
46
|
-
|
46
|
+
## REQUIREMENTS:
|
47
47
|
|
48
48
|
* ruby >= 1.8.6
|
49
49
|
|
50
|
-
|
50
|
+
## INSTALL:
|
51
51
|
|
52
|
-
|
52
|
+
sudo gem install summon
|
53
53
|
|
54
|
-
|
54
|
+
## LICENSE:
|
55
55
|
|
56
56
|
(The MIT License)
|
57
57
|
|
data/Rakefile
CHANGED
@@ -1,25 +1,8 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
require 'hoe'
|
4
|
-
require 'fileutils'
|
5
|
-
require './lib/summon'
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler::GemHelper.install_tasks
|
6
3
|
|
7
|
-
Hoe.plugin :newgem
|
8
4
|
|
9
|
-
|
10
|
-
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
11
|
-
$hoe = Hoe.spec 'summon' do
|
12
|
-
self.developer 'Charles Lowell', 'cowboyd@thefrontside.net'
|
13
|
-
self.post_install_message = File.read('PostInstall.txt')
|
14
|
-
self.rubyforge_name = self.name
|
15
|
-
self.extra_deps = [
|
16
|
-
['json','>= 1.2.0']
|
17
|
-
]
|
18
|
-
self.extra_dev_deps = [
|
19
|
-
['rspec', '>= 1.2.9']
|
20
|
-
]
|
21
|
-
self.version = Summon::VERSION
|
22
|
-
end
|
5
|
+
require 'rspec/core/rake_task'
|
23
6
|
|
24
|
-
|
25
|
-
|
7
|
+
RSpec::Core::RakeTask.new(:spec)
|
8
|
+
task :default => :spec
|
data/lib/summon.rb
CHANGED
@@ -6,14 +6,8 @@ require 'cgi'
|
|
6
6
|
require 'json'
|
7
7
|
|
8
8
|
module Summon
|
9
|
-
VERSION = "1.1.14"
|
10
|
-
DEFAULT_LOCALE = 'en'
|
11
|
-
|
12
|
-
locale_dir = File.dirname(__FILE__) + '/summon/locales'
|
13
|
-
Dir["#{locale_dir}/*.rb"].each { |file|
|
14
|
-
require file
|
15
|
-
}
|
16
9
|
|
10
|
+
require 'summon/version'
|
17
11
|
require 'summon/log'
|
18
12
|
require 'summon/service'
|
19
13
|
require 'summon/transport'
|
@@ -29,7 +23,7 @@ module Summon
|
|
29
23
|
require 'summon/schema/citation'
|
30
24
|
require 'summon/schema/error'
|
31
25
|
require 'summon/schema/recommendation_list'
|
32
|
-
|
26
|
+
|
33
27
|
def self.escape(value)
|
34
28
|
value.gsub(/(,|\(|\)|\{|\}|\$|\:)/, '\\\\\1').gsub("\\", '\\')
|
35
29
|
end
|
data/lib/summon/cli.rb
CHANGED
@@ -20,6 +20,7 @@ module Summon
|
|
20
20
|
"s.fvf" => [],
|
21
21
|
"s.fvgf" => [],
|
22
22
|
"s.rff" => [],
|
23
|
+
"s.sl" => [],
|
23
24
|
"s.hs" => "*",
|
24
25
|
"s.he" => "*",
|
25
26
|
"s.role" => "none"
|
@@ -47,6 +48,7 @@ module Summon
|
|
47
48
|
opts.on("--s.fvgf=FIELD,MODE,VALUES", "Facet Value Group Filter: advanced functionality. see official api docs. e.g. 'SubjectTerms,or,northern+america,u.s.,canada'")
|
48
49
|
opts.on("--s.rff=<facetField>, <minValue>:<maxValue>[:<inclusive>][, <minValue>:<maxValue>[:<inclusive>]]*", "Range Facet Field: e.g. PublicationDate,1971:1980,1981:1990,1991:2000,2001:2010") {|rff| params["s.rff"] << rff}
|
49
50
|
opts.on("--s.rf=<fieldName>, <minValue>:<maxValue>[:<inclusive>]", "Range Filter: filter the result list to values lying within the range. e.g. PublicationDate,1971:1980")
|
51
|
+
opts.on("--s.sl=<fieldName>,<value>,<min>,<max>") { |sl| params["s.sl"] << sl }
|
50
52
|
opts.on("--s.hl=BOOLEAN", "Highlight: turn highlighting on or off: e.g. --s.hl=false") {|hl| params["s.hl"] = hl}
|
51
53
|
opts.on("--s.hs=DELIMITER", String, "Highlight Start: demarcate the beginning of a term hit. default is *") {|d| params["s.hs"] = d}
|
52
54
|
opts.on("--s.he=DELIMITER", String, "Highlight End: demarcate the beginning of a term hit. default is *") {|d| params["s.he"] = d}
|
data/lib/summon/schema.rb
CHANGED
@@ -65,15 +65,6 @@ module Summon
|
|
65
65
|
end.to_json(*a)
|
66
66
|
end
|
67
67
|
|
68
|
-
def locale
|
69
|
-
@service.locale.gsub(/-/, "")
|
70
|
-
end
|
71
|
-
|
72
|
-
def translate(value)
|
73
|
-
default = Summon::Locale.const_get(Summon::DEFAULT_LOCALE.upcase)
|
74
|
-
translator = Summon::Locale.const_defined?(locale.upcase) ? Summon::Locale.const_get(locale.upcase) : default
|
75
|
-
translator::TRANSLATIONS[value] ? translator::TRANSLATIONS[value] : default::TRANSLATIONS[value] ? default::TRANSLATIONS[value] : value
|
76
|
-
end
|
77
68
|
end
|
78
69
|
|
79
70
|
class Attr
|
@@ -18,27 +18,29 @@ class Summon::Document < Summon::Schema
|
|
18
18
|
attr :page_count
|
19
19
|
attr :publication_date, :json_name => "PublicationDate_xml", :transform => :Date
|
20
20
|
attr :publication_place
|
21
|
-
|
21
|
+
attr :meeting_name, :single => false
|
22
|
+
|
22
23
|
attr :isi_cited_references_count, :json_name => "ISICitedReferencesCount"
|
23
24
|
attr :isi_cited_references_uri, :json_name => "ISICitedReferencesURI"
|
24
25
|
|
25
|
-
attr :
|
26
|
-
attr :
|
27
|
-
attr :
|
28
|
-
attr :
|
29
|
-
attr :
|
30
|
-
attr :dissertation_degree_date_century
|
31
|
-
attr :dissertation_degree_date_year
|
32
|
-
attr :dissertation_school
|
26
|
+
attr :dissertation_advisors, :json_name => "DissertationAdvisor"
|
27
|
+
attr :dissertation_categories, :json_name => "DissertationCategory"
|
28
|
+
attr :dissertation_degrees, :json_name => "DissertationDegree"
|
29
|
+
attr :dissertation_degrees_dates, :json_name => "DissertationDegreeDate"
|
30
|
+
attr :dissertation_schools, :json_name => "DissertationSchool"
|
33
31
|
|
34
32
|
attr :library
|
35
33
|
attr :call_numbers, :json_name => "LCCallNum"
|
34
|
+
attr :deweys, :json_name => "DEWEY"
|
36
35
|
attr :doi, :json_name => "DOI"
|
37
36
|
attr :isbns, :json_name => "ISBN"
|
38
37
|
attr :issns, :json_name => "ISSN"
|
38
|
+
attr :eisbns, :json_name => "EISBN"
|
39
|
+
attr :eissns, :json_name => "EISSN"
|
39
40
|
attr :patent_number
|
40
41
|
attr :gov_doc_class_nums, :json_name => "GovDocClassNum"
|
41
42
|
|
43
|
+
attr :copyright, :single => false
|
42
44
|
|
43
45
|
attr :subject_terms
|
44
46
|
attr :genres, :json_name => "Genre"
|
@@ -59,6 +61,8 @@ class Summon::Document < Summon::Schema
|
|
59
61
|
attr :dbid, :json_name => "DBID", :single => false
|
60
62
|
|
61
63
|
attr :lib_guide_tab, :json_name => "LibGuideTab_xml", :single => false
|
64
|
+
|
65
|
+
attr :spotlight_children, :single => false, :transform => :Document
|
62
66
|
|
63
67
|
def isbn
|
64
68
|
@isbns.first
|
@@ -96,10 +100,6 @@ class Summon::Document < Summon::Schema
|
|
96
100
|
"Title: #{title}"
|
97
101
|
end
|
98
102
|
|
99
|
-
def local_content_type
|
100
|
-
translate(@content_type)
|
101
|
-
end
|
102
|
-
|
103
103
|
def lib_guide_tabs
|
104
104
|
@lib_guide_tab.map {|n| Summon::LibGuideTab.new(n["name"], n["uri"])}
|
105
105
|
end
|
@@ -107,7 +107,7 @@ class Summon::Document < Summon::Schema
|
|
107
107
|
def from_library?
|
108
108
|
@availability_id != nil
|
109
109
|
end
|
110
|
-
|
110
|
+
|
111
111
|
end
|
112
112
|
|
113
113
|
class Summon::Author < Struct.new(:name)
|
@@ -124,4 +124,4 @@ class Summon::LibGuideTab < Struct.new(:name, :uri)
|
|
124
124
|
def uri(*args)
|
125
125
|
super()
|
126
126
|
end
|
127
|
-
end
|
127
|
+
end
|
data/lib/summon/schema/facet.rb
CHANGED
@@ -22,9 +22,6 @@ class Summon::Facet < Summon::Schema
|
|
22
22
|
@counts.empty?
|
23
23
|
end
|
24
24
|
|
25
|
-
def local_name
|
26
|
-
translate(@display_name)
|
27
|
-
end
|
28
25
|
end
|
29
26
|
|
30
27
|
class Summon::FacetCount < Summon::Schema
|
@@ -37,14 +34,6 @@ class Summon::FacetCount < Summon::Schema
|
|
37
34
|
attr :apply_negated_command
|
38
35
|
attr :remove_command
|
39
36
|
|
40
|
-
def local_value
|
41
|
-
translate(@value)
|
42
|
-
end
|
43
|
-
|
44
|
-
def escaped_local_value
|
45
|
-
Summon.escape(@local_value)
|
46
|
-
end
|
47
|
-
|
48
37
|
def escaped_value
|
49
38
|
Summon.escape(@value)
|
50
39
|
end
|
data/lib/summon/schema/range.rb
CHANGED
@@ -17,10 +17,6 @@ class Summon::RangeFacet < Summon::Schema
|
|
17
17
|
false
|
18
18
|
end
|
19
19
|
|
20
|
-
def local_name
|
21
|
-
translate(@display_name)
|
22
|
-
end
|
23
|
-
|
24
20
|
# #COMPATIBILITY
|
25
21
|
#
|
26
22
|
# alias_method :name, :display_name
|
@@ -57,4 +53,4 @@ class Summon::RangeCount < Summon::Schema
|
|
57
53
|
def excluded?
|
58
54
|
false
|
59
55
|
end
|
60
|
-
end
|
56
|
+
end
|