enju_nii 0.1.0.pre11 → 0.1.0.pre12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +36 -1
  3. data/app/controllers/cinii_books_controller.rb +3 -3
  4. data/app/controllers/nii_types_controller.rb +7 -2
  5. data/app/helpers/cinii_books_helper.rb +4 -1
  6. data/app/models/cinii_book.rb +4 -2
  7. data/app/models/enju_nii/ability.rb +5 -2
  8. data/app/models/nii_type.rb +13 -1
  9. data/db/migrate/20141115051741_remove_ncid_from_manifestations.rb +5 -0
  10. data/lib/enju_nii/cinii_book.rb +101 -26
  11. data/lib/enju_nii/version.rb +1 -1
  12. data/lib/enju_nii.rb +1 -0
  13. data/spec/cassette_library/CiniiBook/should_import_a_bibliographic_record.yml +302 -236
  14. data/spec/cassette_library/CiniiBook/should_import_a_bibliographic_record_with_dual_languages.yml +292 -0
  15. data/spec/cassette_library/CiniiBook/should_search_with_ncid.yml +75 -0
  16. data/spec/controllers/nii_types_controller_spec.rb +167 -0
  17. data/spec/dummy/app/models/ability.rb +4 -1
  18. data/spec/dummy/bin/bundle +3 -0
  19. data/spec/dummy/bin/rails +4 -0
  20. data/spec/dummy/bin/rake +4 -0
  21. data/spec/dummy/bin/setup +29 -0
  22. data/spec/dummy/config/application.rb +1 -1
  23. data/spec/dummy/config/boot.rb +4 -9
  24. data/spec/dummy/config/database.yml +23 -18
  25. data/spec/dummy/config/environment.rb +3 -3
  26. data/spec/dummy/config/environments/development.rb +25 -14
  27. data/spec/dummy/config/environments/production.rb +50 -31
  28. data/spec/dummy/config/environments/test.rb +20 -17
  29. data/spec/dummy/config/routes.rb +1 -1
  30. data/spec/dummy/db/migrate/005_create_manifestations.rb +0 -1
  31. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +5 -1
  32. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +5 -1
  33. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +5 -1
  34. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +5 -1
  35. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +5 -1
  36. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +5 -1
  37. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +14 -0
  38. data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +5 -0
  39. data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +5 -0
  40. data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +5 -0
  41. data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +9 -0
  42. data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +5 -0
  43. data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +5 -0
  44. data/spec/dummy/db/schema.rb +91 -78
  45. data/spec/fixtures/agent_types.yml +7 -7
  46. data/spec/fixtures/carrier_types.yml +19 -31
  47. data/spec/fixtures/content_types.yml +73 -7
  48. data/spec/fixtures/manifestations.yml +119 -119
  49. data/spec/fixtures/nii_types.yml +98 -0
  50. data/spec/fixtures/subject_types.yml +4 -4
  51. data/spec/fixtures/users.yml +1 -1
  52. data/spec/models/cinii_book_spec.rb +40 -1
  53. data/spec/spec_helper.rb +2 -0
  54. metadata +84 -19
  55. data/spec/dummy/db/development.sqlite3 +0 -0
  56. data/spec/dummy/db/test.sqlite3 +0 -0
  57. data/spec/dummy/script/rails +0 -6
  58. data/spec/factories/nii_type.rb +0 -5
@@ -0,0 +1,292 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ci.nii.ac.jp/ncid/BB13942810.rdf
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 16 Nov 2014 00:44:29 GMT
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Content-Type:
26
+ - application/rdf+xml;charset=UTF-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ body:
30
+ encoding: ASCII-8BIT
31
+ string: !binary |-
32
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmRmOlJE
33
+ RiB4bWxuczpvd2w9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsIyIg
34
+ eG1sbnM6Ymlibz0iaHR0cDovL3B1cmwub3JnL29udG9sb2d5L2JpYm8vIiB4
35
+ bWxuczpmb2FmPSJodHRwOi8veG1sbnMuY29tL2ZvYWYvMC4xLyIgeG1sbnM6
36
+ cmRmcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hIyIg
37
+ eG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1z
38
+ eW50YXgtbnMjIiB4bWxuczpwcmlzbT0iaHR0cDovL3ByaXNtc3RhbmRhcmQu
39
+ b3JnL25hbWVzcGFjZXMvYmFzaWMvMi4wLyIgeG1sbnM6Y2luaWk9Imh0dHA6
40
+ Ly9jaS5uaWkuYWMuanAvbnMvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJs
41
+ Lm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpkY3Rlcm1zPSJodHRwOi8v
42
+ cHVybC5vcmcvZGMvdGVybXMvIj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
43
+ dXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbmNpZC9CQjEzOTQyODEwI2VudGl0
44
+ eSI+Cjxmb2FmOmlzUHJpbWFyeVRvcGljT2YgcmRmOnJlc291cmNlPSJodHRw
45
+ Oi8vY2kubmlpLmFjLmpwL25jaWQvQkIxMzk0MjgxMC5yZGYiLz4KPGRjOnRp
46
+ dGxlPui1pOavm+OBruOCouODsyA9IEFubmUgb2YgR3JlZW4gR2FibGVzPC9k
47
+ Yzp0aXRsZT4KPGRjOnRpdGxlIHhtbDpsYW5nPSJqYS1ocmt0Ij7jgqLjgqvj
48
+ grIg44OOIOOCouODszwvZGM6dGl0bGU+CjxkY3Rlcm1zOmFsdGVybmF0aXZl
49
+ PuiLseiqnuOBp+iqreOCgOi1pOavm+OBruOCouODszwvZGN0ZXJtczphbHRl
50
+ cm5hdGl2ZT4KPGRjOmNyZWF0b3I+TOODu03jg7vjg6Ljg7PjgrTjg6Hjg6ro
51
+ kZcgOyDlh7rmsLTnlLDpmobmlofoi7Hoqp7op6PoqqwgOyBb5qOu5a6J55yf
52
+ 55+l5a2Q6KizXTwvZGM6Y3JlYXRvcj4KPGRjOnB1Ymxpc2hlcj5JQkPjg5Hj
53
+ g5bjg6rjg4Pjgrfjg7PjgrA8L2RjOnB1Ymxpc2hlcj4KPGRjOmxhbmd1YWdl
54
+ PmpwbmVuZzwvZGM6bGFuZ3VhZ2U+CjxkYzpkYXRlPjIwMTM8L2RjOmRhdGU+
55
+ Cjxmb2FmOnRvcGljIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NpLm5paS5hYy5q
56
+ cC9ib29rcy9zZWFyY2g/cT0lRTglOEIlQjElRTglQUElOUUrLS0rJUU4JUFB
57
+ JUFEJUU2JTlDJUFDIiBkYzp0aXRsZT0i6Iux6KqeIC0tIOiqreacrCIvPgo8
58
+ Y2luaWk6bmNpZD5CQjEzOTQyODEwPC9jaW5paTpuY2lkPgo8ZGN0ZXJtczpp
59
+ c1BhcnRPZiByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbmNp
60
+ ZC9CQjA2OTE2NDI0I2VudGl0eSIgZGM6dGl0bGU9IklCQ+Wvvuios+ODqeOC
61
+ pOODluODqeODquODvCwgIi8+CjxkY3Rlcm1zOmhhc1BhcnQgcmRmOnJlc291
62
+ cmNlPSJ1cm46aXNibjo5Nzg0Nzk0NjAyMjM3Ii8+CjxjaW5paTpvd25lckNv
63
+ dW50PjI0PC9jaW5paTpvd25lckNvdW50Pgo8L3JkZjpEZXNjcmlwdGlvbj4K
64
+ PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMu
65
+ anAvbmNpZC9CQjEzOTQyODEwI2VudGl0eSI+Cjxmb2FmOm1ha2VyPgo8Zm9h
66
+ ZjpQZXJzb24gcmRmOmFib3V0PSJodHRwOi8vY2kubmlpLmFjLmpwL2F1dGhv
67
+ ci9EQTAzMTg1ODUzI2VudGl0eSI+Cjxmb2FmOm5hbWU+TW9udGdvbWVyeSwg
68
+ TC4gTS4gKEx1Y3kgTWF1ZCk8L2ZvYWY6bmFtZT4KPC9mb2FmOlBlcnNvbj4K
69
+ PC9mb2FmOm1ha2VyPgo8Zm9hZjptYWtlcj4KPGZvYWY6UGVyc29uIHJkZjph
70
+ Ym91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9hdXRob3IvREExNzc3ODc2MiNl
71
+ bnRpdHkiPgo8Zm9hZjpuYW1lPuWHuuawtOeUsCwg6ZqG5paHPC9mb2FmOm5h
72
+ bWU+Cjxmb2FmOm5hbWUgeG1sOmxhbmc9ImphLWhya3QiPuOCpOOCuuODn+OD
73
+ gCwg44K/44Kr44OV44OfPC9mb2FmOm5hbWU+CjwvZm9hZjpQZXJzb24+Cjwv
74
+ Zm9hZjptYWtlcj4KPGZvYWY6bWFrZXI+Cjxmb2FmOlBlcnNvbiByZGY6YWJv
75
+ dXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvYXV0aG9yL0RBMTc3ODU0NjIjZW50
76
+ aXR5Ij4KPGZvYWY6bmFtZT7mo67lroksIOecn+efpeWtkDwvZm9hZjpuYW1l
77
+ Pgo8Zm9hZjpuYW1lIHhtbDpsYW5nPSJqYS1ocmt0Ij7jg6Ljg6rjg6Tjgrks
78
+ IOODnuODgeOCszwvZm9hZjpuYW1lPgo8L2ZvYWY6UGVyc29uPgo8L2ZvYWY6
79
+ bWFrZXI+CjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJk
80
+ ZjphYm91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9uY2lkL0JCMTM5NDI4MTAj
81
+ ZW50aXR5Ij4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6
82
+ YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAwODAwNiI+
83
+ Cjxmb2FmOm5hbWU+6Zai6KW/5aSW5Zu96Kqe5aSn5a2mIOWbs+abuOmkqDwv
84
+ Zm9hZjpuYW1lPgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDov
85
+ L29wYWMua2Fuc2FpZ2FpZGFpLmFjLmpwL3dlYm9wYWMvY3Rsc3JoLmRvP25j
86
+ aWQ9QkIxMzk0MjgxMCIvPgo8L2ZvYWY6T3JnYW5pemF0aW9uPgo8L2JpYm86
87
+ b3duZXI+CjxiaWJvOm93bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFi
88
+ b3V0PSJodHRwOi8vY2kubmlpLmFjLmpwL2xpYnJhcnkvRkEwMDgwMTciPgo8
89
+ Zm9hZjpuYW1lPumWouilv+WkluWbveiqnuWkp+WtpiDnqYLosLflm7Pmm7jp
90
+ pKg8L2ZvYWY6bmFtZT4KPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0
91
+ dHA6Ly9vcGFjLmthbnNhaWdhaWRhaS5hYy5qcC93ZWJvcGFjL2N0bHNyaC5k
92
+ bz9uY2lkPUJCMTM5NDI4MTAiLz4KPC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9i
93
+ aWJvOm93bmVyPgo8Ymlibzpvd25lcj4KPGZvYWY6T3JnYW5pemF0aW9uIHJk
94
+ ZjphYm91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9saWJyYXJ5L0ZBMDAyMjM2
95
+ Ij4KPGZvYWY6bmFtZT7npo/kupXlpKflraYg6ZmE5bGe5Zuz5pu46aSoPC9m
96
+ b2FmOm5hbWU+CjxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwOi8v
97
+ a2FyaW4wMC5mbGliLnUtZnVrdWkuYWMuanAvd2Vib3BhYy9jdGxzcmguZG8/
98
+ bmNpZD1CQjEzOTQyODEwIi8+CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmli
99
+ bzpvd25lcj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6
100
+ YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAxMjQwMCI+
101
+ Cjxmb2FmOm5hbWU+5YyX6Zm45aSn5a2mIOWbs+abuOmkqDwvZm9hZjpuYW1l
102
+ Pgo8L2ZvYWY6T3JnYW5pemF0aW9uPgo8L2JpYm86b3duZXI+CjxiaWJvOm93
103
+ bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFib3V0PSJodHRwOi8vY2ku
104
+ bmlpLmFjLmpwL2xpYnJhcnkvRkEwMDg0MDMiPgo8Zm9hZjpuYW1lPuatpuW6
105
+ q+W3neWls+WtkOWkp+WtpiDpmYTlsZ7lm7Pmm7jppKg8L2ZvYWY6bmFtZT4K
106
+ PHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly9saWIubXVrb2dh
107
+ d2EtdS5hYy5qcC9vcGFjL29wYWNfZGV0YWlscy5jZ2k/bGFuZz0wJmFtcDth
108
+ bW9kZT0xMSZhbXA7bmNpZD1CQjEzOTQyODEwIi8+CjwvZm9hZjpPcmdhbml6
109
+ YXRpb24+CjwvYmlibzpvd25lcj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2Fu
110
+ aXphdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFy
111
+ eS9GQTAwNzM3NSI+Cjxmb2FmOm5hbWU+5ZCN5Y+k5bGL5a2m6Zmi5aSn5a2m
112
+ IOWtpuihk+aDheWgseOCu+ODs+OCv+ODvCDngKzmiLjjgq3jg6Pjg7Pjg5Hj
113
+ grk8L2ZvYWY6bmFtZT4KPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0
114
+ dHA6Ly9qdXBpdGVyLm5ndS5hYy5qcC9teWxpbWVkaW8vc2VhcmNoL3NlYXJj
115
+ aC5kbz90YXJnZXQ9bG9jYWwmYW1wO21vZGU9Y29tcCZhbXA7Y2F0ZWdvcnkt
116
+ bWd6PTEmYW1wO2NhdGVnb3J5LWJvb2s9MSZhbXA7YW5uZXg9YWxsJmFtcDtu
117
+ Y2lkPUJCMTM5NDI4MTAiLz4KPC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJv
118
+ Om93bmVyPgo8Ymlibzpvd25lcj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjph
119
+ Ym91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9saWJyYXJ5L0ZBMDA3OTU0Ij4K
120
+ PGZvYWY6bmFtZT7ov73miYvploDlrabpmaLlpKflraYg6ZmE5bGe5Zuz5pu4
121
+ 6aSoPC9mb2FmOm5hbWU+CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpv
122
+ d25lcj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJv
123
+ dXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAwNjg0OSI+Cjxm
124
+ b2FmOm5hbWU+56We5aWI5bed5aSn5a2mIOWbs+abuOmkqDwvZm9hZjpuYW1l
125
+ Pgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2xpYm9wYWMu
126
+ a2FuYWdhd2EtdS5hYy5qcC93ZWJvcGFjL2N0bHNyaC5kbz9jb2RlX3R5cGU9
127
+ TkMmYW1wO2NvZGU9QkIxMzk0MjgxMCZhbXA7bGlzdGNudD01JmFtcDttYXhj
128
+ bnQ9MzAwMCIvPgo8L2ZvYWY6T3JnYW5pemF0aW9uPgo8L2JpYm86b3duZXI+
129
+ CjxiaWJvOm93bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFib3V0PSJo
130
+ dHRwOi8vY2kubmlpLmFjLmpwL2xpYnJhcnkvRkEwMDQyNDIiPgo8Zm9hZjpu
131
+ YW1lPuacreW5jOWtpumZouWkp+WtpiDlm7Pmm7jppKg8L2ZvYWY6bmFtZT4K
132
+ PC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8Ymlibzpvd25l
133
+ cj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjphYm91dD0iaHR0cDovL2NpLm5p
134
+ aS5hYy5qcC9saWJyYXJ5L0ZBMDAyMTQ1Ij4KPGZvYWY6bmFtZT7ph5HmsqLl
135
+ pKflraYg6ZmE5bGe5Zuz5pu46aSoPC9mb2FmOm5hbWU+CjxyZGZzOnNlZUFs
136
+ c28gcmRmOnJlc291cmNlPSJodHRwOi8vd3d3MS5saWIua2FuYXphd2EtdS5h
137
+ Yy5qcC9yZWNvcmRJRC9jYXRhbG9nLmJpYi9CQjEzOTQyODEwIi8+CjwvZm9h
138
+ ZjpPcmdhbml6YXRpb24+CjwvYmlibzpvd25lcj4KPGJpYm86b3duZXI+Cjxm
139
+ b2FmOk9yZ2FuaXphdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMu
140
+ anAvbGlicmFyeS9GQTAwNzI1MSI+Cjxmb2FmOm5hbWU+5oSb55+l5bel5qWt
141
+ 5aSn5a2mIOmZhOWxnuWbs+abuOmkqDwvZm9hZjpuYW1lPgo8cmRmczpzZWVB
142
+ bHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2FpdGVjaC5hYy5qcC9saWIvb3Bh
143
+ Yy8/QUNUSU9OX1RZUEU9Zm9yd2FyZF9zZWFyY2hfcmVzdWx0JmFtcDtTTFY9
144
+ MCZhbXA7RU5DT0RFX1RZUEU9VVRGLTgmYW1wO0xBTkdfQ09ERT1KUE4mYW1w
145
+ O1NUWVBFPTImYW1wO0xPQ0FMX1NFUkNIPW9uJmFtcDtOQUNTSVNfU0VSQ0g9
146
+ b2ZmJmFtcDtTX1RBUkdFVF9CT09LUz1CT09LJmFtcDtTX1RBUkdFVF9TRVJJ
147
+ QUw9U0VSSUFMJmFtcDtTS19JU0JOPUJCMTM5NDI4MTAiLz4KPC9mb2FmOk9y
148
+ Z2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8Ymlibzpvd25lcj4KPGZvYWY6
149
+ T3JnYW5pemF0aW9uIHJkZjphYm91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9s
150
+ aWJyYXJ5L0ZBMDAxMDE4Ij4KPGZvYWY6bmFtZT7ljJfmtbfpgZPlpKflraYg
151
+ 6ZmE5bGe5Zuz5pu46aSoIOWMl+Wbs+abuOmkqDwvZm9hZjpuYW1lPgo8cmRm
152
+ czpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL29wYWMubGliLmhva3Vk
153
+ YWkuYWMuanAvb3BhYy9vcGFjX29wZW51cmwuY2dpP25jaWQ9QkIxMzk0Mjgx
154
+ MCIvPgo8L2ZvYWY6T3JnYW5pemF0aW9uPgo8L2JpYm86b3duZXI+CjxiaWJv
155
+ Om93bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFib3V0PSJodHRwOi8v
156
+ Y2kubmlpLmFjLmpwL2xpYnJhcnkvRkEwMjIyMDAiPgo8Zm9hZjpuYW1lPuaW
157
+ h+S6rOWtpumZouWkp+WtpiDmnKzpg7flm7Pmm7jppKg8L2ZvYWY6bmFtZT4K
158
+ PC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8Ymlibzpvd25l
159
+ cj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjphYm91dD0iaHR0cDovL2NpLm5p
160
+ aS5hYy5qcC9saWJyYXJ5L0ZBMDAyMjkxIj4KPGZvYWY6bmFtZT7kv6Hlt57l
161
+ pKflraYg6ZmE5bGe5Zuz5pu46aSoIOaVmeiCsuWtpumDqOWbs+abuOmkqDwv
162
+ Zm9hZjpuYW1lPgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDov
163
+ L3d3dy1saWIuc2hpbnNodS11LmFjLmpwL2NnaS1iaW4vb3BjL29wYWNsaW5r
164
+ aS5jZ2k/bmNpZD1CQjEzOTQyODEwIi8+CjwvZm9hZjpPcmdhbml6YXRpb24+
165
+ CjwvYmlibzpvd25lcj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlv
166
+ biByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAx
167
+ NDUwOCI+Cjxmb2FmOm5hbWU+5bqD5bO25aSn5a2mIOWbs+abuOmkqCDopb/l
168
+ m7Pmm7jppKg8L2ZvYWY6bmFtZT4KPHJkZnM6c2VlQWxzbyByZGY6cmVzb3Vy
169
+ Y2U9Imh0dHA6Ly9vcGFjLmxpYi5oaXJvc2hpbWEtdS5hYy5qcC93ZWJvcGFj
170
+ L3VmaXJkaS5kbz91ZmlfdGFyZ2V0PWN0bHNyaCZhbXA7bmNpZD1CQjEzOTQy
171
+ ODEwIi8+CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpvd25lcj4KPGJp
172
+ Ym86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJvdXQ9Imh0dHA6
173
+ Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAxMzAzOSI+Cjxmb2FmOm5hbWU+
174
+ 6Z2Z5bKh55CG5bel56eR5aSn5a2mIOmZhOWxnuWbs+abuOmkqDwvZm9hZjpu
175
+ YW1lPgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL3Npc3Rs
176
+ Yi5zaXN0LmFjLmpwL215bGltZWRpby9zZWFyY2gvc2VhcmNoLmRvP3Rhcmdl
177
+ dD1sb2NhbCZhbXA7bW9kZT1jb21wJmFtcDtjYXRlZ29yeS1tZ3o9MSZhbXA7
178
+ Y2F0ZWdvcnktYm9vaz0xJmFtcDthbm5leD1hbGwmYW1wO25jaWQ9QkIxMzk0
179
+ MjgxMCIvPgo8L2ZvYWY6T3JnYW5pemF0aW9uPgo8L2JpYm86b3duZXI+Cjxi
180
+ aWJvOm93bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFib3V0PSJodHRw
181
+ Oi8vY2kubmlpLmFjLmpwL2xpYnJhcnkvRkEwMTQzMDQiPgo8Zm9hZjpuYW1l
182
+ PuWfjuilv+Wbvemam+Wkp+WtpiDmsLTnlLDoqJjlv7Xlm7Pmm7jppKg8L2Zv
183
+ YWY6bmFtZT4KPC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8
184
+ Ymlibzpvd25lcj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjphYm91dD0iaHR0
185
+ cDovL2NpLm5paS5hYy5qcC9saWJyYXJ5L0ZBMDE1NjU3Ij4KPGZvYWY6bmFt
186
+ ZT7pp5LmsqLlpbPlrZDlpKflraYg5Zuz5pu46aSoPC9mb2FmOm5hbWU+Cjwv
187
+ Zm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpvd25lcj4KPGJpYm86b3duZXI+
188
+ Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5uaWku
189
+ YWMuanAvbGlicmFyeS9GQTAwNDkzNCI+Cjxmb2FmOm5hbWU+6Z2S5bGx5a2m
190
+ 6Zmi5aSn5a2mIOS4h+S7o+iomOW/teWbs+abuOmkqCjnm7jmqKHljp/liIbp
191
+ pKgpPC9mb2FmOm5hbWU+CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpv
192
+ d25lcj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJv
193
+ dXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAxNDM1OSI+Cjxm
194
+ b2FmOm5hbWU+5p2x5rSL6Iux5ZKM5aWz5a2m6Zmi5aSn5a2mIOWbs+abuOmk
195
+ qDwvZm9hZjpuYW1lPgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0
196
+ cDovL2xpYndlYi50b3lvZWl3YS5hYy5qcC9teWxpbWVkaW8vc2VhcmNoL3Nl
197
+ YXJjaC5kbz90YXJnZXQ9bG9jYWwmYW1wO21vZGU9Y29tcCZhbXA7bmNpZD1C
198
+ QjEzOTQyODEwIi8+CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpvd25l
199
+ cj4KPGJpYm86b3duZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJvdXQ9
200
+ Imh0dHA6Ly9jaS5uaWkuYWMuanAvbGlicmFyeS9GQTAxNzM3OSI+Cjxmb2Fm
201
+ Om5hbWU+5Lit6YOo5a2m6Zmi5aSn5a2mIOmZhOWxnuWbs+abuOmkqDwvZm9h
202
+ ZjpuYW1lPgo8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2xp
203
+ Yi5jaHVidS1ndS5hYy5qcC9teWxpbWVkaW8vc2VhcmNoL3NlYXJjaC5kbz90
204
+ YXJnZXQ9bG9jYWwmYW1wO21vZGU9Y29tcCZhbXA7Y2F0ZWdvcnktbWd6PTEm
205
+ YW1wO2NhdGVnb3J5LWJvb2s9MSZhbXA7YW5uZXg9YWxsJmFtcDtuY2lkPUJC
206
+ MTM5NDI4MTAiLz4KPC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJvOm93bmVy
207
+ Pgo8Ymlibzpvd25lcj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjphYm91dD0i
208
+ aHR0cDovL2NpLm5paS5hYy5qcC9saWJyYXJ5L0ZBMDA2MTc5Ij4KPGZvYWY6
209
+ bmFtZT7mnbHmtIvlpKflraYg6ZmE5bGe5Zuz5pu46aSoPC9mb2FmOm5hbWU+
210
+ CjxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwOi8vdHJpdG9uLmxp
211
+ Yi50b3lvLmFjLmpwL29wYWMvP0FDVElPTl9UWVBFPWZvcndhcmRfc2VhcmNo
212
+ X3Jlc3VsdCZhbXA7U0xWPTAmYW1wO0VOQ09ERV9UWVBFPVVURi04JmFtcDtT
213
+ VFlQRT0yJmFtcDtTX1RBUkdFVF9CT09LUz1CT09LJmFtcDtTX1RBUkdFVF9T
214
+ RVJJQUxTPVNFUklBTCZhbXA7TE9DQUxfU0VBUkNIPW9uJmFtcDtOQUNTSVNf
215
+ U0VBUkNIPSZhbXA7TEFOR19DT0RFPUpQTiZhbXA7U0tfTUFSQ05PPUJCMTM5
216
+ NDI4MTAiLz4KPC9mb2FmOk9yZ2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8
217
+ Ymlibzpvd25lcj4KPGZvYWY6T3JnYW5pemF0aW9uIHJkZjphYm91dD0iaHR0
218
+ cDovL2NpLm5paS5hYy5qcC9saWJyYXJ5L0ZBMDA1MjY3Ij4KPGZvYWY6bmFt
219
+ ZT7lm73pmpvln7rnnaPmlZnlpKflraYg5Zuz5pu46aSoPC9mb2FmOm5hbWU+
220
+ CjwvZm9hZjpPcmdhbml6YXRpb24+CjwvYmlibzpvd25lcj4KPGJpYm86b3du
221
+ ZXI+Cjxmb2FmOk9yZ2FuaXphdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9jaS5u
222
+ aWkuYWMuanAvbGlicmFyeS9GQTAxOTExNSI+Cjxmb2FmOm5hbWU+6Z2Z5bKh
223
+ 6Iux5ZKM5a2m6Zmi5aSn5a2mIOWbs+abuOmkqDwvZm9hZjpuYW1lPgo8L2Zv
224
+ YWY6T3JnYW5pemF0aW9uPgo8L2JpYm86b3duZXI+CjwvcmRmOkRlc2NyaXB0
225
+ aW9uPgo8L3JkZjpSREY+Cg==
226
+ http_version:
227
+ recorded_at: Sun, 16 Nov 2014 00:44:29 GMT
228
+ - request:
229
+ method: get
230
+ uri: http://ci.nii.ac.jp/ncid/BB06916424.rdf
231
+ body:
232
+ encoding: US-ASCII
233
+ string: ''
234
+ headers:
235
+ User-Agent:
236
+ - Faraday v0.9.0
237
+ Accept-Encoding:
238
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
239
+ Accept:
240
+ - "*/*"
241
+ response:
242
+ status:
243
+ code: 200
244
+ message: OK
245
+ headers:
246
+ Date:
247
+ - Sun, 16 Nov 2014 00:44:29 GMT
248
+ Access-Control-Allow-Origin:
249
+ - "*"
250
+ Content-Type:
251
+ - application/rdf+xml;charset=UTF-8
252
+ Transfer-Encoding:
253
+ - chunked
254
+ body:
255
+ encoding: ASCII-8BIT
256
+ string: !binary |-
257
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmRmOlJE
258
+ RiB4bWxuczpvd2w9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsIyIg
259
+ eG1sbnM6Ymlibz0iaHR0cDovL3B1cmwub3JnL29udG9sb2d5L2JpYm8vIiB4
260
+ bWxuczpmb2FmPSJodHRwOi8veG1sbnMuY29tL2ZvYWYvMC4xLyIgeG1sbnM6
261
+ cmRmcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hIyIg
262
+ eG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1z
263
+ eW50YXgtbnMjIiB4bWxuczpwcmlzbT0iaHR0cDovL3ByaXNtc3RhbmRhcmQu
264
+ b3JnL25hbWVzcGFjZXMvYmFzaWMvMi4wLyIgeG1sbnM6Y2luaWk9Imh0dHA6
265
+ Ly9jaS5uaWkuYWMuanAvbnMvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJs
266
+ Lm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpkY3Rlcm1zPSJodHRwOi8v
267
+ cHVybC5vcmcvZGMvdGVybXMvIj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
268
+ dXQ9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbmNpZC9CQjA2OTE2NDI0I2VudGl0
269
+ eSI+Cjxmb2FmOmlzUHJpbWFyeVRvcGljT2YgcmRmOnJlc291cmNlPSJodHRw
270
+ Oi8vY2kubmlpLmFjLmpwL25jaWQvQkIwNjkxNjQyNC5yZGYiLz4KPGRjOnRp
271
+ dGxlPklCQ+Wvvuios+ODqeOCpOODluODqeODquODvDwvZGM6dGl0bGU+Cjxk
272
+ Yzp0aXRsZSB4bWw6bGFuZz0iamEtaHJrdCI+SUJDIOOCv+OCpOODpOOCryDj
273
+ g6njgqTjg5bjg6njg6rjg7w8L2RjOnRpdGxlPgo8ZGN0ZXJtczphbHRlcm5h
274
+ dGl2ZT5JQkPlr77oqLPjg6njgqTjg5bjg6njg6rjg7w8L2RjdGVybXM6YWx0
275
+ ZXJuYXRpdmU+CjxkYzpwdWJsaXNoZXI+SUJD44OR44OW44Oq44OD44K344Oz
276
+ 44KwPC9kYzpwdWJsaXNoZXI+CjxkYzpsYW5ndWFnZT51bmQ8L2RjOmxhbmd1
277
+ YWdlPgo8Y2luaWk6bmNpZD5CQjA2OTE2NDI0PC9jaW5paTpuY2lkPgo8Y2lu
278
+ aWk6b3duZXJDb3VudD4xPC9jaW5paTpvd25lckNvdW50Pgo8L3JkZjpEZXNj
279
+ cmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9Imh0dHA6Ly9j
280
+ aS5uaWkuYWMuanAvbmNpZC9CQjA2OTE2NDI0I2VudGl0eSI+CjxiaWJvOm93
281
+ bmVyPgo8Zm9hZjpPcmdhbml6YXRpb24gcmRmOmFib3V0PSJodHRwOi8vY2ku
282
+ bmlpLmFjLmpwL2xpYnJhcnkvRkEwMTcwMjkiPgo8Zm9hZjpuYW1lPueLrOer
283
+ i+ihjOaUv+azleS6uiDlm73pmpvkuqTmtYHln7rph5Eg6Zai6KW/5Zu96Zqb
284
+ 44K744Oz44K/44O8IOWbs+abuOmkqDwvZm9hZjpuYW1lPgo8cmRmczpzZWVB
285
+ bHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2psaWstb3BhYy5qcGYuZ28uanAv
286
+ bXlsaW1lZGlvL3NlYXJjaC9pbnB1dC1maW5kLmRvP3RhcmdldD1sb2NhbCZh
287
+ bXA7bW9kZT1jb21wJmFtcDtuY2lkPUJCMDY5MTY0MjQiLz4KPC9mb2FmOk9y
288
+ Z2FuaXphdGlvbj4KPC9iaWJvOm93bmVyPgo8L3JkZjpEZXNjcmlwdGlvbj4K
289
+ PC9yZGY6UkRGPgo=
290
+ http_version:
291
+ recorded_at: Sun, 16 Nov 2014 00:44:29 GMT
292
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ci.nii.ac.jp/books/opensearch/search?count=10&format=rss&p=1&q=BA85746967
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Sat, 18 Oct 2014 07:52:42 GMT
21
+ Access-Control-Allow-Origin:
22
+ - ! '*'
23
+ Content-Type:
24
+ - application/rss+xml;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ body:
28
+ encoding: ASCII-8BIT
29
+ string: !binary |-
30
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cmRmOlJE
31
+ RiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8i
32
+ IHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHht
33
+ bG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
34
+ dGF4LW5zIyIgeG1sbnM6b3BlbnNlYXJjaD0iaHR0cDovL2E5LmNvbS8tL3Nw
35
+ ZWMvb3BlbnNlYXJjaC8xLjEvIiB4bWxuczpyZGZzPSJodHRwOi8vd3d3Lncz
36
+ Lm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIiB4bWxuczpwcmlzbT0iaHR0cDov
37
+ L3ByaXNtc3RhbmRhcmQub3JnL25hbWVzcGFjZXMvYmFzaWMvMi4wLyIgeG1s
38
+ bnM6Y2luaWk9Imh0dHA6Ly9jaS5uaWkuYWMuanAvbnMvMS4wLyIgeG1sbnM9
39
+ Imh0dHA6Ly9wdXJsLm9yZy9yc3MvMS4wLyI+CjxjaGFubmVsIHJkZjphYm91
40
+ dD0iaHR0cDovL2NpLm5paS5hYy5qcC9ib29rcy9vcGVuc2VhcmNoL3NlYXJj
41
+ aD9jb3VudD0xMCZhbXA7cT1CQTg1NzQ2OTY3JmFtcDtwPTEmYW1wO2Zvcm1h
42
+ dD1yc3MiPgo8dGl0bGU+Q2lOaWkgQm9va3MgT3BlblNlYXJjaCAtIDEwIEJB
43
+ ODU3NDY5NjcgMTwvdGl0bGU+CjxkZXNjcmlwdGlvbj5DaU5paSBCb29rcyBP
44
+ cGVuU2VhcmNoIC0gMTAgQkE4NTc0Njk2NyAxPC9kZXNjcmlwdGlvbj4KPGxp
45
+ bms+aHR0cDovL2NpLm5paS5hYy5qcC9ib29rcy9vcGVuc2VhcmNoL3NlYXJj
46
+ aD9jb3VudD0xMCZhbXA7cT1CQTg1NzQ2OTY3JmFtcDtwPTEmYW1wO2Zvcm1h
47
+ dD1yc3M8L2xpbms+CjxkYzpkYXRlPjIwMTQtMTAtMThUMTY6NTI6NDIrMDkw
48
+ MDwvZGM6ZGF0ZT4KPG9wZW5zZWFyY2g6dG90YWxSZXN1bHRzPjE8L29wZW5z
49
+ ZWFyY2g6dG90YWxSZXN1bHRzPgo8b3BlbnNlYXJjaDpzdGFydEluZGV4PjA8
50
+ L29wZW5zZWFyY2g6c3RhcnRJbmRleD4KPG9wZW5zZWFyY2g6aXRlbXNQZXJQ
51
+ YWdlPjE8L29wZW5zZWFyY2g6aXRlbXNQZXJQYWdlPgo8aXRlbXM+CjxyZGY6
52
+ U2VxPgo8cmRmOmxpIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NpLm5paS5hYy5q
53
+ cC9uY2lkL0JBODU3NDY5NjciLz4KPC9yZGY6U2VxPgo8L2l0ZW1zPgo8L2No
54
+ YW5uZWw+CjxpdGVtIHJkZjphYm91dD0iaHR0cDovL2NpLm5paS5hYy5qcC9u
55
+ Y2lkL0JBODU3NDY5NjciPgo8dGl0bGU+5Zu65L2T6auY5YiG5a2Q5b2i54eD
56
+ 5paZ6Zu75rGg6KaB57Sg5p2Q5paZ44O75rC057Sg6LKv6JS15p2Q5paZ44Gu
57
+ 55+l55qE6Kit6KiIPC90aXRsZT4KPGxpbms+aHR0cDovL2NpLm5paS5hYy5q
58
+ cC9uY2lkL0JBODU3NDY5Njc8L2xpbms+CjxyZGZzOnNlZUFsc28gcmRmOnJl
59
+ c291cmNlPSJodHRwOi8vY2kubmlpLmFjLmpwL25jaWQvQkE4NTc0Njk2Ny5y
60
+ ZGYiLz4KPGRjOmNyZWF0b3I+56yg5LqV56eA5piOLCDmtKXnlLDlrpflubjo
61
+ kZcgPSBJbnRlbGxpZ2VudC9kaXJlY3RlZCBtYXRlcmlhbHMgZGVzaWduIGZv
62
+ ciBwb2x5bWVyIGVsZWN0cm9seXRlIGZ1ZWwgY2VsbHMgYW5kIGh5ZHJvZ2Vu
63
+ IHN0b3JhZ2UgYXBwbGljYXRpb25zIC8gSGlkZWFraSBLYXNhaSwgTXVuZXl1
64
+ a2kgVHN1ZGE8L2RjOmNyZWF0b3I+CjxkYzpwdWJsaXNoZXI+5aSn6Ziq5aSn
65
+ 5a2m5Ye654mI5LyaPC9kYzpwdWJsaXNoZXI+CjxwcmlzbTpwdWJsaWNhdGlv
66
+ bkRhdGU+MjAwODwvcHJpc206cHVibGljYXRpb25EYXRlPgo8ZGM6ZGF0ZT4y
67
+ MDA4PC9kYzpkYXRlPgo8ZGN0ZXJtczppc1BhcnRPZiByZGY6cmVzb3VyY2U9
68
+ Imh0dHA6Ly9jaS5uaWkuYWMuanAvbmNpZC9CQTYxNjM2MDY4IiBkYzp0aXRs
69
+ ZT0i5aSn6Ziq5aSn5a2m5paw5LiW57SA44Os44Kv44OB44Oj44O8Ii8+Cjxk
70
+ Y3Rlcm1zOmhhc1BhcnQgcmRmOnJlc291cmNlPSJ1cm46aXNibjo5Nzg0ODcy
71
+ NTkyNTQyIi8+CjxjaW5paTpvd25lckNvdW50PjQ5PC9jaW5paTpvd25lckNv
72
+ dW50Pgo8L2l0ZW0+CjwvcmRmOlJERj4K
73
+ http_version:
74
+ recorded_at: Sat, 18 Oct 2014 06:36:38 GMT
75
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,167 @@
1
+ require 'spec_helper'
2
+
3
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
4
+ # It demonstrates how one might use RSpec to specify the controller code that
5
+ # was generated by Rails when you ran the scaffold generator.
6
+ #
7
+ # It assumes that the implementation code is generated by the rails scaffold
8
+ # generator. If you are using any extension libraries to generate different
9
+ # controller code, this generated spec may or may not pass.
10
+ #
11
+ # It only uses APIs available in rails and/or rspec-rails. There are a number
12
+ # of tools you can use to make these specs even more expressive, but we're
13
+ # sticking to rails and rspec-rails APIs to keep things simple and stable.
14
+ #
15
+ # Compared to earlier versions of this generator, there is very limited use of
16
+ # stubs and message expectations in this spec. Stubs are only used when there
17
+ # is no simpler way to get a handle on the object needed for the example.
18
+ # Message expectations are only used when there is no simpler way to specify
19
+ # that an instance is receiving a specific message.
20
+
21
+ describe NiiTypesController do
22
+ fixtures :all
23
+ login_fixture_admin
24
+
25
+ # This should return the minimal set of attributes required to create a valid
26
+ # NiiType. As you add validations to NiiType, be sure to
27
+ # update the return value of this method accordingly.
28
+ def valid_attributes
29
+ {name: 'test'}
30
+ end
31
+
32
+ describe "GET index" do
33
+ it "assigns all nii_types as @nii_types" do
34
+ nii_type = NiiType.create! valid_attributes
35
+ get :index
36
+ expect(assigns(:nii_types)).to eq(NiiType.all)
37
+ end
38
+ end
39
+
40
+ describe "GET show" do
41
+ it "assigns the requested nii_type as @nii_type" do
42
+ nii_type = NiiType.create! valid_attributes
43
+ get :show, :id => nii_type.id
44
+ expect(assigns(:nii_type)).to eq(nii_type)
45
+ end
46
+ end
47
+
48
+ describe "GET new" do
49
+ it "assigns a new nii_type as @nii_type" do
50
+ get :new
51
+ expect(assigns(:nii_type)).to be_a_new(NiiType)
52
+ end
53
+ end
54
+
55
+ describe "GET edit" do
56
+ it "assigns the requested nii_type as @nii_type" do
57
+ nii_type = NiiType.create! valid_attributes
58
+ get :edit, :id => nii_type.id
59
+ expect(assigns(:nii_type)).to eq(nii_type)
60
+ end
61
+ end
62
+
63
+ describe "POST create" do
64
+ describe "with valid params" do
65
+ it "creates a new NiiType" do
66
+ expect {
67
+ post :create, :nii_type => valid_attributes
68
+ }.to change(NiiType, :count).by(1)
69
+ end
70
+
71
+ it "assigns a newly created nii_type as @nii_type" do
72
+ post :create, :nii_type => valid_attributes
73
+ expect(assigns(:nii_type)).to be_a(NiiType)
74
+ expect(assigns(:nii_type)).to be_persisted
75
+ end
76
+
77
+ it "redirects to the created nii_type" do
78
+ post :create, :nii_type => valid_attributes
79
+ expect(response).to redirect_to(NiiType.last)
80
+ end
81
+ end
82
+
83
+ describe "with invalid params" do
84
+ it "assigns a newly created but unsaved nii_type as @nii_type" do
85
+ # Trigger the behavior that occurs when invalid params are submitted
86
+ NiiType.any_instance.stub(:save).and_return(false)
87
+ post :create, :nii_type => {name: "test"}
88
+ expect(assigns(:nii_type)).to be_a_new(NiiType)
89
+ end
90
+
91
+ it "re-renders the 'new' template" do
92
+ # Trigger the behavior that occurs when invalid params are submitted
93
+ NiiType.any_instance.stub(:save).and_return(false)
94
+ post :create, :nii_type => {name: "test"}
95
+ expect(response).to render_template("new")
96
+ end
97
+ end
98
+ end
99
+
100
+ describe "PUT update" do
101
+ describe "with valid params" do
102
+ it "updates the requested nii_type" do
103
+ nii_type = NiiType.create! valid_attributes
104
+ # Assuming there are no other nii_types in the database, this
105
+ # specifies that the NiiType created on the previous line
106
+ # receives the :update_attributes message with whatever params are
107
+ # submitted in the request.
108
+ NiiType.any_instance.should_receive(:update_attributes).with({'name' => 'test'})
109
+ put :update, :id => nii_type.id, :nii_type => {'name' => 'test'}
110
+ end
111
+
112
+ it "assigns the requested nii_type as @nii_type" do
113
+ nii_type = NiiType.create! valid_attributes
114
+ put :update, :id => nii_type.id, :nii_type => valid_attributes
115
+ expect(assigns(:nii_type)).to eq(nii_type)
116
+ end
117
+
118
+ it "redirects to the nii_type" do
119
+ nii_type = NiiType.create! valid_attributes
120
+ put :update, :id => nii_type.id, :nii_type => valid_attributes
121
+ expect(response).to redirect_to(nii_type)
122
+ end
123
+
124
+ it "moves its position when specified" do
125
+ nii_type = NiiType.create! valid_attributes
126
+ position = nii_type.position
127
+ put :update, :id => nii_type.id, :move => 'higher'
128
+ expect(response).to redirect_to nii_types_url
129
+ assigns(:nii_type).position.should eq position - 1
130
+ end
131
+ end
132
+
133
+ describe "with invalid params" do
134
+ it "assigns the nii_type as @nii_type" do
135
+ nii_type = NiiType.create! valid_attributes
136
+ # Trigger the behavior that occurs when invalid params are submitted
137
+ NiiType.any_instance.stub(:save).and_return(false)
138
+ put :update, :id => nii_type.id, :nii_type => {name: "test"}
139
+ expect(assigns(:nii_type)).to eq(nii_type)
140
+ end
141
+
142
+ it "re-renders the 'edit' template" do
143
+ nii_type = NiiType.create! valid_attributes
144
+ # Trigger the behavior that occurs when invalid params are submitted
145
+ NiiType.any_instance.stub(:save).and_return(false)
146
+ put :update, :id => nii_type.id, :nii_type => {name: "test"}
147
+ expect(response).to render_template("edit")
148
+ end
149
+ end
150
+ end
151
+
152
+ describe "DELETE destroy" do
153
+ it "destroys the requested nii_type" do
154
+ nii_type = NiiType.create! valid_attributes
155
+ expect {
156
+ delete :destroy, :id => nii_type.id
157
+ }.to change(NiiType, :count).by(-1)
158
+ end
159
+
160
+ it "redirects to the nii_types list" do
161
+ nii_type = NiiType.create! valid_attributes
162
+ delete :destroy, :id => nii_type.id
163
+ expect(response).to redirect_to(nii_types_url)
164
+ end
165
+ end
166
+
167
+ end
@@ -2,10 +2,13 @@
2
2
  class Ability
3
3
  include CanCan::Ability
4
4
 
5
- def initialize(user, ip_address = nil)
5
+ def initialize(user, ip_address = '0.0.0.0')
6
6
  case user.try(:role).try(:name)
7
7
  when 'Administrator'
8
8
  can [:read, :update], NiiType
9
+ can [:destroy, :delete], NiiType do |nii_type|
10
+ true unless nii_type.manifestations.exists?
11
+ end if LibraryGroup.site_config.network_access_allowed?(ip_address)
9
12
  else
10
13
  can :read, NiiType
11
14
  end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+
4
+ # path to your application root.
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+
7
+ Dir.chdir APP_ROOT do
8
+ # This script is a starting point to setup your application.
9
+ # Add necessary setup steps to this file:
10
+
11
+ puts "== Installing dependencies =="
12
+ system "gem install bundler --conservative"
13
+ system "bundle check || bundle install"
14
+
15
+ # puts "\n== Copying sample files =="
16
+ # unless File.exist?("config/database.yml")
17
+ # system "cp config/database.yml.sample config/database.yml"
18
+ # end
19
+
20
+ puts "\n== Preparing database =="
21
+ system "bin/rake db:setup"
22
+
23
+ puts "\n== Removing old logs and tempfiles =="
24
+ system "rm -f log/*"
25
+ system "rm -rf tmp/cache"
26
+
27
+ puts "\n== Restarting application server =="
28
+ system "touch tmp/restart.txt"
29
+ end
@@ -2,7 +2,7 @@ require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  require 'rails/all'
4
4
 
5
- Bundler.require
5
+ Bundler.require(*Rails.groups)
6
6
  require "enju_nii"
7
7
 
8
8
  module Dummy
@@ -1,10 +1,5 @@
1
- require 'rubygems'
2
- gemfile = ENV['BUNDLE_GEMFILE'] || File.expand_path('../../../../Gemfile', __FILE__)
1
+ # Set up gems listed in the Gemfile.
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
3
3
 
4
- if File.exist?(gemfile)
5
- ENV['BUNDLE_GEMFILE'] = gemfile
6
- require 'bundler'
7
- Bundler.setup
8
- end
9
-
10
- $:.unshift File.expand_path('../../../../lib', __FILE__)
4
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
+ $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -1,25 +1,30 @@
1
- # SQLite version 3.x
2
- # gem install sqlite3
3
- #
4
- # Ensure the SQLite 3 gem is defined in your Gemfile
5
- # gem 'sqlite3'
6
- development:
1
+ sqlite: &sqlite
7
2
  adapter: sqlite3
8
- database: db/development.sqlite3
3
+ database: db/<%= Rails.env %>.sqlite3
4
+
5
+ mysql: &mysql
6
+ adapter: mysql2
7
+ username: root
8
+ password:
9
+ database: enju_<%= Rails.env %>
10
+
11
+ postgresql: &postgresql
12
+ adapter: postgresql
13
+ username: postgres
14
+ password:
15
+ database: enju_<%= Rails.env %>
16
+
17
+ defaults: &defaults
9
18
  pool: 5
10
19
  timeout: 5000
20
+ host: localhost
21
+ <<: *<%= ENV['DB'] || "sqlite" %>
22
+
23
+ development:
24
+ <<: *defaults
11
25
 
12
- # Warning: The database defined as "test" will be erased and
13
- # re-generated from your development database when you run "rake".
14
- # Do not set this db to the same as development or production.
15
26
  test:
16
- adapter: sqlite3
17
- database: db/test.sqlite3
18
- pool: 5
19
- timeout: 5000
27
+ <<: *defaults
20
28
 
21
29
  production:
22
- adapter: sqlite3
23
- database: db/production.sqlite3
24
- pool: 5
25
- timeout: 5000
30
+ <<: *defaults