enju_ndl 0.1.0.pre15 → 0.1.0.pre16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/ndl_books_controller.rb +4 -1
- data/lib/enju_ndl/ndl_search.rb +11 -9
- data/lib/enju_ndl/version.rb +1 -1
- data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
- data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
- data/spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb +6 -0
- data/spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb +6 -0
- data/spec/dummy/db/schema.rb +14 -5
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/models/ndl_book_spec.rb +5 -5
- metadata +17 -11
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d30bcd302d1a7555044730c4eaf2847a1ffc8aaf
|
4
|
+
data.tar.gz: 5996038247ff243245f2b2fb5d6d649b36aa985f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc3164372c5764496eadefb815a60781a918ff7ae04e6c46de3456d7d8bf266bd556e43f8e42282fa575014fe320b5e310407add9210018ad4837a9a9baabf92
|
7
|
+
data.tar.gz: 9f57ba3ea0505c1b45da23a25940c7013fa7bd6e382907055d645b466734cf8ba4b497ce83618572c62f578e58e02f722ebb83b5e794880f2e46572946cf9be4
|
@@ -21,7 +21,10 @@ class NdlBooksController < ApplicationController
|
|
21
21
|
|
22
22
|
def create
|
23
23
|
if params[:book]
|
24
|
-
|
24
|
+
begin
|
25
|
+
@manifestation = NdlBook.import_from_sru_response(params[:book][:nbn])
|
26
|
+
rescue EnjuNdl::RecordNotFound
|
27
|
+
end
|
25
28
|
respond_to do |format|
|
26
29
|
if @manifestation.try(:save)
|
27
30
|
flash[:notice] = t('controller.successfully_created', :model => t('activerecord.models.manifestation'))
|
data/lib/enju_ndl/ndl_search.rb
CHANGED
@@ -59,6 +59,12 @@ module EnjuNdl
|
|
59
59
|
ndc9_url = classification_urls.map{|url| URI.parse(URI.escape(url))}.select{|u| u.path.split('/').reverse[1] == 'ndc9'}.first
|
60
60
|
if ndc9_url
|
61
61
|
ndc = ndc9_url.path.split('/').last
|
62
|
+
classification_type = ClassificationType.where(:name => 'ndc9').first
|
63
|
+
unless classification_type
|
64
|
+
classification_type = ClassificationType.create!(:name => 'ndc9', :display_name => 'NDC9')
|
65
|
+
end
|
66
|
+
classification = Classification.new(:category => ndc)
|
67
|
+
classification.classification_type = classification_type
|
62
68
|
end
|
63
69
|
end
|
64
70
|
|
@@ -104,8 +110,7 @@ module EnjuNdl
|
|
104
110
|
:nbn => nbn,
|
105
111
|
:start_page => extent[:start_page],
|
106
112
|
:end_page => extent[:end_page],
|
107
|
-
:height => extent[:height]
|
108
|
-
:ndc => ndc
|
113
|
+
:height => extent[:height]
|
109
114
|
)
|
110
115
|
manifestation.carrier_type = carrier_type if carrier_type
|
111
116
|
manifestation.manifestation_content_type = content_type if content_type
|
@@ -113,6 +118,7 @@ module EnjuNdl
|
|
113
118
|
manifestation.publishers << publisher_patrons
|
114
119
|
create_additional_attributes(doc, manifestation)
|
115
120
|
create_series_statement(doc, manifestation)
|
121
|
+
manifestation.classifications << classification if classification
|
116
122
|
end
|
117
123
|
end
|
118
124
|
|
@@ -288,8 +294,7 @@ module EnjuNdl
|
|
288
294
|
unless series_statement
|
289
295
|
series_statement = SeriesStatement.new(
|
290
296
|
:original_title => series_title[:title],
|
291
|
-
:title_transcription => series_title[:title_transcription]
|
292
|
-
:periodical => false
|
297
|
+
:title_transcription => series_title[:title_transcription]
|
293
298
|
)
|
294
299
|
end
|
295
300
|
elsif publication_periodicity
|
@@ -305,11 +310,8 @@ module EnjuNdl
|
|
305
310
|
end
|
306
311
|
end
|
307
312
|
|
308
|
-
if series_statement
|
309
|
-
|
310
|
-
series_statement.manifestations << manifestation
|
311
|
-
end
|
312
|
-
#manifestation.save
|
313
|
+
if series_statement.try(:save)
|
314
|
+
manifestation.series_statements << series_statement
|
313
315
|
end
|
314
316
|
manifestation
|
315
317
|
end
|
data/lib/enju_ndl/version.rb
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
class AddCreatorStringToSeriesStatement < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :series_statements, :creator_string, :text
|
4
|
+
add_column :series_statements, :volume_number_string, :text
|
5
|
+
add_column :series_statements, :volume_number_transcription_string, :text
|
6
|
+
end
|
7
|
+
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20130504143515) do
|
15
15
|
|
16
16
|
create_table "carrier_types", :force => true do |t|
|
17
17
|
t.string "name", :null => false
|
@@ -40,10 +40,12 @@ ActiveRecord::Schema.define(:version => 20121116033446) do
|
|
40
40
|
t.datetime "updated_at", :null => false
|
41
41
|
t.integer "lft"
|
42
42
|
t.integer "rgt"
|
43
|
+
t.integer "manifestation_id"
|
43
44
|
end
|
44
45
|
|
45
46
|
add_index "classifications", ["category"], :name => "index_classifications_on_category"
|
46
47
|
add_index "classifications", ["classification_type_id"], :name => "index_classifications_on_classification_type_id"
|
48
|
+
add_index "classifications", ["manifestation_id"], :name => "index_classifications_on_manifestation_id"
|
47
49
|
add_index "classifications", ["parent_id"], :name => "index_classifications_on_parent_id"
|
48
50
|
|
49
51
|
create_table "content_types", :force => true do |t|
|
@@ -287,6 +289,7 @@ ActiveRecord::Schema.define(:version => 20121116033446) do
|
|
287
289
|
t.text "attachment_meta"
|
288
290
|
t.integer "month_of_publication"
|
289
291
|
t.string "doi"
|
292
|
+
t.boolean "periodical"
|
290
293
|
end
|
291
294
|
|
292
295
|
add_index "manifestations", ["access_address"], :name => "index_manifestations_on_access_address"
|
@@ -580,19 +583,23 @@ ActiveRecord::Schema.define(:version => 20121116033446) do
|
|
580
583
|
t.text "title_subseries"
|
581
584
|
t.text "numbering_subseries"
|
582
585
|
t.integer "position"
|
583
|
-
t.datetime "created_at",
|
584
|
-
t.datetime "updated_at",
|
586
|
+
t.datetime "created_at", :null => false
|
587
|
+
t.datetime "updated_at", :null => false
|
585
588
|
t.text "title_transcription"
|
586
589
|
t.text "title_alternative"
|
587
590
|
t.string "series_statement_identifier"
|
588
591
|
t.string "issn"
|
589
592
|
t.boolean "periodical"
|
590
|
-
t.integer "
|
593
|
+
t.integer "manifestation_id"
|
591
594
|
t.text "note"
|
592
595
|
t.text "title_subseries_transcription"
|
596
|
+
t.text "creator_string"
|
597
|
+
t.text "volume_number_string"
|
598
|
+
t.text "volume_number_transcription_string"
|
599
|
+
t.boolean "series_master"
|
593
600
|
end
|
594
601
|
|
595
|
-
add_index "series_statements", ["
|
602
|
+
add_index "series_statements", ["manifestation_id"], :name => "index_series_statements_on_manifestation_id"
|
596
603
|
add_index "series_statements", ["series_statement_identifier"], :name => "index_series_statements_on_series_statement_identifier"
|
597
604
|
|
598
605
|
create_table "subject_has_classifications", :force => true do |t|
|
@@ -648,8 +655,10 @@ ActiveRecord::Schema.define(:version => 20121116033446) do
|
|
648
655
|
t.datetime "updated_at"
|
649
656
|
t.datetime "deleted_at"
|
650
657
|
t.string "url"
|
658
|
+
t.integer "manifestation_id"
|
651
659
|
end
|
652
660
|
|
661
|
+
add_index "subjects", ["manifestation_id"], :name => "index_subjects_on_manifestation_id"
|
653
662
|
add_index "subjects", ["parent_id"], :name => "index_subjects_on_parent_id"
|
654
663
|
add_index "subjects", ["required_role_id"], :name => "index_subjects_on_required_role_id"
|
655
664
|
add_index "subjects", ["subject_type_id"], :name => "index_subjects_on_subject_type_id"
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|
@@ -23,7 +23,7 @@ describe NdlBook do
|
|
23
23
|
manifestation = NdlBook.import_from_sru_response('21816393')
|
24
24
|
manifestation.manifestation_identifier.should eq 'http://iss.ndl.go.jp/books/R100000002-I000010980901-00'
|
25
25
|
manifestation.isbn.should eq '9784839931995'
|
26
|
-
manifestation.
|
26
|
+
manifestation.classifications.pluck(:category).should eq ["007.64"]
|
27
27
|
manifestation.nbn.should eq "21816393"
|
28
28
|
manifestation.language.name.should eq "Japanese"
|
29
29
|
manifestation.creators.first.full_name.should eq '秋葉, 拓哉'
|
@@ -59,15 +59,15 @@ describe NdlBook do
|
|
59
59
|
it "should import series_statement", :vcr => true do
|
60
60
|
manifestation = NdlBook.import_from_sru_response('20408556')
|
61
61
|
manifestation.original_title.should eq "ズッコケ三人組のダイエット講座"
|
62
|
-
manifestation.
|
63
|
-
manifestation.
|
62
|
+
manifestation.series_statements.first.original_title.should eq "ポプラ社文庫. ズッコケ文庫"
|
63
|
+
manifestation.periodical.should be_false
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should import series_statement if the resource is periodical", :vcr => true do
|
67
67
|
manifestation = NdlBook.import_from_sru_response('00010852')
|
68
68
|
manifestation.original_title.should eq "週刊新潮"
|
69
|
-
manifestation.
|
70
|
-
manifestation.
|
69
|
+
manifestation.series_statements.first.original_title.should eq "週刊新潮"
|
70
|
+
manifestation.periodical.should be_false
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should import pud_date is nil", :vcr => true do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enju_ndl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.pre16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kosuke Tanabe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04
|
11
|
+
date: 2013-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -128,28 +128,28 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.1.0.
|
131
|
+
version: 0.1.0.pre36
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - ~>
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.1.0.
|
138
|
+
version: 0.1.0.pre36
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: enju_subject
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ~>
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.1.0.
|
145
|
+
version: 0.1.0.pre13
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - ~>
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.1.0.
|
152
|
+
version: 0.1.0.pre13
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: enju_question
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -265,7 +265,6 @@ files:
|
|
265
265
|
- spec/dummy/config/locales/en.yml
|
266
266
|
- spec/dummy/config/routes.rb
|
267
267
|
- spec/dummy/config.ru
|
268
|
-
- spec/dummy/db/development.sqlite3
|
269
268
|
- spec/dummy/db/migrate/001_create_patrons.rb
|
270
269
|
- spec/dummy/db/migrate/005_create_manifestations.rb
|
271
270
|
- spec/dummy/db/migrate/006_create_items.rb
|
@@ -326,7 +325,6 @@ files:
|
|
326
325
|
- spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb
|
327
326
|
- spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb
|
328
327
|
- spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb
|
329
|
-
- spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb
|
330
328
|
- spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb
|
331
329
|
- spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb
|
332
330
|
- spec/dummy/db/migrate/20111124110059_create_create_types.rb
|
@@ -355,6 +353,11 @@ files:
|
|
355
353
|
- spec/dummy/db/migrate/20120511072422_add_patron_identifier_to_patron.rb
|
356
354
|
- spec/dummy/db/migrate/20120602141129_add_edit_mode_to_patron_import_file.rb
|
357
355
|
- spec/dummy/db/migrate/20121116033446_add_doi_to_manifestation.rb
|
356
|
+
- spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb
|
357
|
+
- spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb
|
358
|
+
- spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb
|
359
|
+
- spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb
|
360
|
+
- spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb
|
358
361
|
- spec/dummy/db/schema.rb
|
359
362
|
- spec/dummy/db/test.sqlite3
|
360
363
|
- spec/dummy/public/404.html
|
@@ -412,7 +415,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
412
415
|
version: 1.3.1
|
413
416
|
requirements: []
|
414
417
|
rubyforge_project:
|
415
|
-
rubygems_version: 2.0.
|
418
|
+
rubygems_version: 2.0.3
|
416
419
|
signing_key:
|
417
420
|
specification_version: 4
|
418
421
|
summary: enju_ndl plugin
|
@@ -466,7 +469,6 @@ test_files:
|
|
466
469
|
- spec/dummy/config/locales/en.yml
|
467
470
|
- spec/dummy/config/routes.rb
|
468
471
|
- spec/dummy/config.ru
|
469
|
-
- spec/dummy/db/development.sqlite3
|
470
472
|
- spec/dummy/db/migrate/001_create_patrons.rb
|
471
473
|
- spec/dummy/db/migrate/005_create_manifestations.rb
|
472
474
|
- spec/dummy/db/migrate/006_create_items.rb
|
@@ -527,7 +529,6 @@ test_files:
|
|
527
529
|
- spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb
|
528
530
|
- spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb
|
529
531
|
- spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb
|
530
|
-
- spec/dummy/db/migrate/20110918161853_rename_series_statement_manifestation_id_to_root_manifestation_id.rb
|
531
532
|
- spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb
|
532
533
|
- spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb
|
533
534
|
- spec/dummy/db/migrate/20111124110059_create_create_types.rb
|
@@ -556,6 +557,11 @@ test_files:
|
|
556
557
|
- spec/dummy/db/migrate/20120511072422_add_patron_identifier_to_patron.rb
|
557
558
|
- spec/dummy/db/migrate/20120602141129_add_edit_mode_to_patron_import_file.rb
|
558
559
|
- spec/dummy/db/migrate/20121116033446_add_doi_to_manifestation.rb
|
560
|
+
- spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb
|
561
|
+
- spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb
|
562
|
+
- spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb
|
563
|
+
- spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb
|
564
|
+
- spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb
|
559
565
|
- spec/dummy/db/schema.rb
|
560
566
|
- spec/dummy/db/test.sqlite3
|
561
567
|
- spec/dummy/public/404.html
|
Binary file
|
@@ -1,13 +0,0 @@
|
|
1
|
-
class RenameSeriesStatementManifestationIdToRootManifestationId < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
remove_index :series_statements, :series_statement_identifier
|
4
|
-
rename_column :series_statements, :manifestation_id, :root_manifestation_id
|
5
|
-
add_index :series_statements, :series_statement_identifier
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.down
|
9
|
-
remove_index :series_statements, :series_statement_identifier
|
10
|
-
rename_column :series_statements, :root_manifestation_id, :manifestation_id
|
11
|
-
add_index :series_statements, :series_statement_identifier
|
12
|
-
end
|
13
|
-
end
|