enju_ndl 0.1.0.pre15 → 0.1.0.pre16

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7724f941008ac6c3603488b766b17fb127ea9f36
4
- data.tar.gz: 9e7be3c0896a08cb15e563c6705779608fb7392d
3
+ metadata.gz: d30bcd302d1a7555044730c4eaf2847a1ffc8aaf
4
+ data.tar.gz: 5996038247ff243245f2b2fb5d6d649b36aa985f
5
5
  SHA512:
6
- metadata.gz: caaeb116d97aa59863e5e855045e706d45dc50e06d854ce1a06414f72b726eb7c4d50bf94cb5233cfd04a8cf72688dd947bdaf080bc3fdaffd567abf61a7fff1
7
- data.tar.gz: 90133bc77a550346c3aeb574f60b91ab3612aa4fee8d016c8b2de62b1b9b89c9b4b21d076d4669f2c8bf119f464e8bcadc6206cc83b3cf4c633280e6c9e91e5d
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
- @manifestation = NdlBook.import_from_sru_response(params[:book][:nbn])
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'))
@@ -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
- if series_statement.save
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
@@ -1,3 +1,3 @@
1
1
  module EnjuNdl
2
- VERSION = "0.1.0.pre15"
2
+ VERSION = "0.1.0.pre16"
3
3
  end
@@ -0,0 +1,5 @@
1
+ class AddPeriodicalToManifestation < ActiveRecord::Migration
2
+ def change
3
+ add_column :manifestations, :periodical, :boolean
4
+ end
5
+ end
@@ -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
@@ -0,0 +1,5 @@
1
+ class AddSeriesMasterToSeriesStatement < ActiveRecord::Migration
2
+ def change
3
+ add_column :series_statements, :series_master, :boolean
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddManifestationIdToSubject < ActiveRecord::Migration
2
+ def change
3
+ add_column :subjects, :manifestation_id, :integer
4
+ add_index :subjects, :manifestation_id
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddManifestationIdToClassification < ActiveRecord::Migration
2
+ def change
3
+ add_column :classifications, :manifestation_id, :integer
4
+ add_index :classifications, :manifestation_id
5
+ end
6
+ end
@@ -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 => 20121116033446) do
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", :null => false
584
- t.datetime "updated_at", :null => false
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 "root_manifestation_id"
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", ["root_manifestation_id"], :name => "index_series_statements_on_manifestation_id"
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"
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.ndc.should eq "007.64"
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.series_statement.original_title.should eq "ポプラ社文庫. ズッコケ文庫"
63
- manifestation.series_statement.periodical.should be_false
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.series_statement.original_title.should eq "週刊新潮"
70
- manifestation.series_statement.periodical.should be_true
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.pre15
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-17 00:00:00.000000000 Z
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.pre31
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.pre31
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.pre12
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.pre12
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.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