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