enju_oai 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. data/app/views/manifestations/list_identifiers.oai.builder +1 -1
  2. data/app/views/manifestations/list_records.oai.builder +1 -1
  3. data/lib/enju_oai/oai_controller.rb +32 -0
  4. data/lib/enju_oai/version.rb +1 -1
  5. data/spec/controllers/manifestations_controller_spec.rb +45 -0
  6. data/spec/dummy/README.rdoc +261 -0
  7. data/spec/dummy/Rakefile +7 -0
  8. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  9. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  10. data/spec/dummy/app/controllers/application_controller.rb +76 -0
  11. data/spec/dummy/app/controllers/manifestations_controller.rb +519 -0
  12. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  13. data/spec/dummy/app/models/ability.rb +29 -0
  14. data/spec/dummy/app/models/carrier_type.rb +33 -0
  15. data/spec/dummy/app/models/create.rb +38 -0
  16. data/spec/dummy/app/models/exemplify.rb +45 -0
  17. data/spec/dummy/app/models/item.rb +276 -0
  18. data/spec/dummy/app/models/manifestation.rb +631 -0
  19. data/spec/dummy/app/models/patron.rb +290 -0
  20. data/spec/dummy/app/models/produce.rb +39 -0
  21. data/spec/dummy/app/models/realize.rb +38 -0
  22. data/spec/dummy/app/models/role.rb +46 -0
  23. data/spec/dummy/app/models/search_engine.rb +51 -0
  24. data/spec/dummy/app/models/user.rb +94 -0
  25. data/spec/dummy/app/models/user_has_role.rb +4 -0
  26. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  27. data/spec/dummy/config/application.rb +57 -0
  28. data/spec/dummy/config/boot.rb +10 -0
  29. data/spec/dummy/config/configatron/cucumber.rb +4 -0
  30. data/spec/dummy/config/configatron/defaults.rb +28 -0
  31. data/spec/dummy/config/configatron/development.rb +4 -0
  32. data/spec/dummy/config/configatron/production.rb.sample +12 -0
  33. data/spec/dummy/config/configatron/test.rb +7 -0
  34. data/spec/dummy/config/database.yml +25 -0
  35. data/spec/dummy/config/environment.rb +5 -0
  36. data/spec/dummy/config/environments/development.rb +37 -0
  37. data/spec/dummy/config/environments/production.rb +67 -0
  38. data/spec/dummy/config/environments/test.rb +37 -0
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/spec/dummy/config/initializers/configatron.rb +2 -0
  41. data/spec/dummy/config/initializers/devise.rb +209 -0
  42. data/spec/dummy/config/initializers/inflections.rb +15 -0
  43. data/spec/dummy/config/initializers/mime_types.rb +14 -0
  44. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  45. data/spec/dummy/config/initializers/session_store.rb +8 -0
  46. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/spec/dummy/config/locales/en.yml +5 -0
  48. data/spec/dummy/config/routes.rb +60 -0
  49. data/spec/dummy/config.ru +4 -0
  50. data/spec/dummy/db/migrate/001_create_patrons.rb +53 -0
  51. data/spec/dummy/db/migrate/002_devise_create_users.rb +71 -0
  52. data/spec/dummy/db/migrate/005_create_manifestations.rb +59 -0
  53. data/spec/dummy/db/migrate/006_create_items.rb +28 -0
  54. data/spec/dummy/db/migrate/012_create_owns.rb +14 -0
  55. data/spec/dummy/db/migrate/015_create_creates.rb +14 -0
  56. data/spec/dummy/db/migrate/041_create_roles.rb +13 -0
  57. data/spec/dummy/db/migrate/047_create_produces.rb +14 -0
  58. data/spec/dummy/db/migrate/059_create_libraries.rb +30 -0
  59. data/spec/dummy/db/migrate/073_create_carrier_types.rb +11 -0
  60. data/spec/dummy/db/migrate/077_create_user_groups.rb +12 -0
  61. data/spec/dummy/db/migrate/080_create_library_groups.rb +21 -0
  62. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  63. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  64. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +15 -0
  65. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +15 -0
  66. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +12 -0
  67. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  68. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
  69. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +23 -0
  70. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
  71. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  72. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  73. data/spec/dummy/db/migrate/20090812151902_create_patron_relationship_types.rb +12 -0
  74. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  75. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +18 -0
  76. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  77. data/spec/dummy/db/migrate/20100326024214_add_date_index_to_resource.rb +11 -0
  78. data/spec/dummy/db/migrate/20100502171926_add_latitude_and_longitude_to_library.rb +11 -0
  79. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +13 -0
  80. data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +12 -0
  81. data/spec/dummy/db/migrate/20100606073747_create_patron_relationships.rb +13 -0
  82. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +12 -0
  83. data/spec/dummy/db/migrate/20100627193848_add_enju_access_key_to_user.rb +10 -0
  84. data/spec/dummy/db/migrate/20100814091104_add_position_to_patron_relationship.rb +11 -0
  85. data/spec/dummy/db/migrate/20100919121500_drop_user_email_unique_index.rb +11 -0
  86. data/spec/dummy/db/migrate/20101103090330_add_title_to_patron.rb +9 -0
  87. data/spec/dummy/db/migrate/20101103090457_rename_manifestation_identifier_to_identifier.rb +9 -0
  88. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +9 -0
  89. data/spec/dummy/db/migrate/20101228081401_rename_postal_code_to_zip_code.rb +11 -0
  90. data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
  91. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  92. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +9 -0
  93. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_patron.rb +11 -0
  94. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +13 -0
  95. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +9 -0
  96. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +13 -0
  97. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +13 -0
  98. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +13 -0
  99. data/spec/dummy/db/migrate/20110927135845_add_missing_since_to_item.rb +9 -0
  100. data/spec/dummy/db/migrate/20111103221239_rename_manifestation_identifier_to_manifestation_identifier.rb +9 -0
  101. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +12 -0
  102. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +12 -0
  103. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +12 -0
  104. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +7 -0
  105. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  106. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  107. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  108. data/spec/dummy/db/migrate/20120413225628_add_fingerprint_to_manifestation.rb +5 -0
  109. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  110. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  111. data/spec/dummy/db/migrate/20120426034355_add_unique_index_to_item_identifier.rb +11 -0
  112. data/spec/dummy/db/migrate/20120426042730_add_unique_index_to_manifestation_identifier.rb +11 -0
  113. data/spec/dummy/db/schema.rb +564 -0
  114. data/spec/dummy/db/test.sqlite3 +0 -0
  115. data/spec/dummy/lib/enju_leaf/calculate_stat.rb +30 -0
  116. data/spec/dummy/lib/enju_leaf/expire_editable_fragment.rb +30 -0
  117. data/spec/dummy/lib/enju_leaf/expire_fragment_cache.rb +17 -0
  118. data/spec/dummy/lib/enju_leaf/import_file.rb +13 -0
  119. data/spec/dummy/lib/enju_leaf/localized_name.rb +13 -0
  120. data/spec/dummy/lib/enju_leaf/master_model.rb +19 -0
  121. data/spec/dummy/lib/enju_leaf/url_validator.rb +10 -0
  122. data/spec/dummy/lib/enju_leaf.rb +8 -0
  123. data/spec/dummy/public/404.html +26 -0
  124. data/spec/dummy/public/422.html +26 -0
  125. data/spec/dummy/public/500.html +25 -0
  126. data/spec/dummy/public/favicon.ico +0 -0
  127. data/spec/dummy/script/rails +6 -0
  128. data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
  129. data/spec/dummy/tmp/cache/6E4/420/search_engine_all +0 -0
  130. data/spec/factories/manifestation.rb +6 -0
  131. data/spec/factories/user.rb +34 -0
  132. data/spec/fixtures/carrier_types.yml +51 -0
  133. data/spec/fixtures/creates.yml +66 -0
  134. data/spec/fixtures/exemplifies.yml +156 -0
  135. data/spec/fixtures/items.yml +262 -0
  136. data/spec/fixtures/libraries.yml +109 -0
  137. data/spec/fixtures/library_groups.yml +36 -0
  138. data/spec/fixtures/manifestations.yml +2024 -0
  139. data/spec/fixtures/patron_types.yml +41 -0
  140. data/spec/fixtures/patrons.yml +338 -0
  141. data/spec/fixtures/produces.yml +150 -0
  142. data/spec/fixtures/realizes.yml +87 -0
  143. data/spec/fixtures/roles.yml +21 -0
  144. data/spec/fixtures/user_has_roles.yml +41 -0
  145. data/spec/fixtures/users.yml +93 -0
  146. data/spec/spec_helper.rb +38 -0
  147. data/spec/support/controller_macros.rb +48 -0
  148. data/spec/support/devise.rb +4 -0
  149. metadata +290 -6
  150. data/test/enju_oai_test.rb +0 -7
  151. data/test/test_helper.rb +0 -15
@@ -0,0 +1,564 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20120426042730) do
15
+
16
+ create_table "carrier_types", :force => true do |t|
17
+ t.string "name", :null => false
18
+ t.text "display_name"
19
+ t.text "note"
20
+ t.integer "position"
21
+ t.datetime "created_at", :null => false
22
+ t.datetime "updated_at", :null => false
23
+ end
24
+
25
+ create_table "content_types", :force => true do |t|
26
+ t.string "name", :null => false
27
+ t.text "display_name"
28
+ t.text "note"
29
+ t.integer "position"
30
+ t.datetime "created_at", :null => false
31
+ t.datetime "updated_at", :null => false
32
+ end
33
+
34
+ create_table "countries", :force => true do |t|
35
+ t.string "name", :null => false
36
+ t.text "display_name"
37
+ t.string "alpha_2"
38
+ t.string "alpha_3"
39
+ t.string "numeric_3"
40
+ t.text "note"
41
+ t.integer "position"
42
+ end
43
+
44
+ add_index "countries", ["alpha_2"], :name => "index_countries_on_alpha_2"
45
+ add_index "countries", ["alpha_3"], :name => "index_countries_on_alpha_3"
46
+ add_index "countries", ["name"], :name => "index_countries_on_name"
47
+ add_index "countries", ["numeric_3"], :name => "index_countries_on_numeric_3"
48
+
49
+ create_table "create_types", :force => true do |t|
50
+ t.string "name"
51
+ t.text "display_name"
52
+ t.text "note"
53
+ t.integer "position"
54
+ t.datetime "created_at", :null => false
55
+ t.datetime "updated_at", :null => false
56
+ end
57
+
58
+ create_table "creates", :force => true do |t|
59
+ t.integer "patron_id", :null => false
60
+ t.integer "work_id", :null => false
61
+ t.integer "position"
62
+ t.string "type"
63
+ t.datetime "created_at", :null => false
64
+ t.datetime "updated_at", :null => false
65
+ t.integer "create_type_id"
66
+ end
67
+
68
+ add_index "creates", ["patron_id"], :name => "index_creates_on_patron_id"
69
+ add_index "creates", ["type"], :name => "index_creates_on_type"
70
+ add_index "creates", ["work_id"], :name => "index_creates_on_work_id"
71
+
72
+ create_table "exemplifies", :force => true do |t|
73
+ t.integer "manifestation_id", :null => false
74
+ t.integer "item_id", :null => false
75
+ t.string "type"
76
+ t.integer "position"
77
+ t.datetime "created_at", :null => false
78
+ t.datetime "updated_at", :null => false
79
+ end
80
+
81
+ add_index "exemplifies", ["item_id"], :name => "index_exemplifies_on_item_id", :unique => true
82
+ add_index "exemplifies", ["manifestation_id"], :name => "index_exemplifies_on_manifestation_id"
83
+ add_index "exemplifies", ["type"], :name => "index_exemplifies_on_type"
84
+
85
+ create_table "extents", :force => true do |t|
86
+ t.string "name", :null => false
87
+ t.text "display_name"
88
+ t.text "note"
89
+ t.integer "position"
90
+ t.datetime "created_at", :null => false
91
+ t.datetime "updated_at", :null => false
92
+ end
93
+
94
+ create_table "form_of_works", :force => true do |t|
95
+ t.string "name", :null => false
96
+ t.text "display_name"
97
+ t.text "note"
98
+ t.integer "position"
99
+ t.datetime "created_at", :null => false
100
+ t.datetime "updated_at", :null => false
101
+ end
102
+
103
+ create_table "frequencies", :force => true do |t|
104
+ t.string "name", :null => false
105
+ t.text "display_name"
106
+ t.text "note"
107
+ t.integer "position"
108
+ t.datetime "created_at", :null => false
109
+ t.datetime "updated_at", :null => false
110
+ end
111
+
112
+ create_table "items", :force => true do |t|
113
+ t.string "call_number"
114
+ t.string "item_identifier"
115
+ t.integer "circulation_status_id", :default => 5, :null => false
116
+ t.integer "checkout_type_id", :default => 1, :null => false
117
+ t.datetime "created_at", :null => false
118
+ t.datetime "updated_at", :null => false
119
+ t.datetime "deleted_at"
120
+ t.integer "shelf_id", :default => 1, :null => false
121
+ t.boolean "include_supplements", :default => false, :null => false
122
+ t.text "note"
123
+ t.string "url"
124
+ t.integer "price"
125
+ t.integer "lock_version", :default => 0, :null => false
126
+ t.integer "required_role_id", :default => 1, :null => false
127
+ t.string "state"
128
+ t.integer "required_score", :default => 0, :null => false
129
+ t.datetime "acquired_at"
130
+ t.datetime "missing_since"
131
+ end
132
+
133
+ add_index "items", ["checkout_type_id"], :name => "index_items_on_checkout_type_id"
134
+ add_index "items", ["circulation_status_id"], :name => "index_items_on_circulation_status_id"
135
+ add_index "items", ["item_identifier"], :name => "index_items_on_item_identifier", :unique => true
136
+ add_index "items", ["required_role_id"], :name => "index_items_on_required_role_id"
137
+ add_index "items", ["shelf_id"], :name => "index_items_on_shelf_id"
138
+
139
+ create_table "languages", :force => true do |t|
140
+ t.string "name", :null => false
141
+ t.string "native_name"
142
+ t.text "display_name"
143
+ t.string "iso_639_1"
144
+ t.string "iso_639_2"
145
+ t.string "iso_639_3"
146
+ t.text "note"
147
+ t.integer "position"
148
+ end
149
+
150
+ add_index "languages", ["iso_639_1"], :name => "index_languages_on_iso_639_1"
151
+ add_index "languages", ["iso_639_2"], :name => "index_languages_on_iso_639_2"
152
+ add_index "languages", ["iso_639_3"], :name => "index_languages_on_iso_639_3"
153
+ add_index "languages", ["name"], :name => "index_languages_on_name", :unique => true
154
+
155
+ create_table "libraries", :force => true do |t|
156
+ t.integer "patron_id"
157
+ t.string "patron_type"
158
+ t.string "name", :null => false
159
+ t.text "display_name"
160
+ t.string "short_display_name", :null => false
161
+ t.string "zip_code"
162
+ t.text "street"
163
+ t.text "locality"
164
+ t.text "region"
165
+ t.string "telephone_number_1"
166
+ t.string "telephone_number_2"
167
+ t.string "fax_number"
168
+ t.text "note"
169
+ t.integer "call_number_rows", :default => 1, :null => false
170
+ t.string "call_number_delimiter", :default => "|", :null => false
171
+ t.integer "library_group_id", :default => 1, :null => false
172
+ t.integer "users_count", :default => 0, :null => false
173
+ t.integer "position"
174
+ t.integer "country_id"
175
+ t.datetime "created_at", :null => false
176
+ t.datetime "updated_at", :null => false
177
+ t.datetime "deleted_at"
178
+ t.float "latitude"
179
+ t.float "longitude"
180
+ t.string "isil"
181
+ end
182
+
183
+ add_index "libraries", ["library_group_id"], :name => "index_libraries_on_library_group_id"
184
+ add_index "libraries", ["name"], :name => "index_libraries_on_name", :unique => true
185
+ add_index "libraries", ["patron_id"], :name => "index_libraries_on_patron_id", :unique => true
186
+
187
+ create_table "library_groups", :force => true do |t|
188
+ t.string "name", :null => false
189
+ t.text "display_name"
190
+ t.string "short_name", :null => false
191
+ t.string "email"
192
+ t.text "my_networks"
193
+ t.boolean "use_dsbl", :default => false, :null => false
194
+ t.text "dsbl_list"
195
+ t.text "login_banner"
196
+ t.text "note"
197
+ t.boolean "post_to_union_catalog", :default => false, :null => false
198
+ t.integer "country_id"
199
+ t.datetime "created_at", :null => false
200
+ t.datetime "updated_at", :null => false
201
+ t.text "admin_networks"
202
+ t.integer "position"
203
+ t.string "url", :default => "http://localhost:3000/"
204
+ end
205
+
206
+ add_index "library_groups", ["short_name"], :name => "index_library_groups_on_short_name"
207
+
208
+ create_table "licenses", :force => true do |t|
209
+ t.string "name", :null => false
210
+ t.string "display_name"
211
+ t.text "note"
212
+ t.integer "position"
213
+ t.datetime "created_at", :null => false
214
+ t.datetime "updated_at", :null => false
215
+ end
216
+
217
+ create_table "manifestation_relationship_types", :force => true do |t|
218
+ t.string "name", :null => false
219
+ t.text "display_name"
220
+ t.text "note"
221
+ t.integer "position"
222
+ t.datetime "created_at", :null => false
223
+ t.datetime "updated_at", :null => false
224
+ end
225
+
226
+ create_table "manifestation_relationships", :force => true do |t|
227
+ t.integer "parent_id"
228
+ t.integer "child_id"
229
+ t.integer "manifestation_relationship_type_id"
230
+ t.datetime "created_at", :null => false
231
+ t.datetime "updated_at", :null => false
232
+ t.integer "position"
233
+ end
234
+
235
+ add_index "manifestation_relationships", ["child_id"], :name => "index_manifestation_relationships_on_child_id"
236
+ add_index "manifestation_relationships", ["parent_id"], :name => "index_manifestation_relationships_on_parent_id"
237
+
238
+ create_table "manifestations", :force => true do |t|
239
+ t.text "original_title", :null => false
240
+ t.text "title_alternative"
241
+ t.text "title_transcription"
242
+ t.string "classification_number"
243
+ t.string "manifestation_identifier"
244
+ t.datetime "date_of_publication"
245
+ t.datetime "copyright_date"
246
+ t.datetime "created_at", :null => false
247
+ t.datetime "updated_at", :null => false
248
+ t.datetime "deleted_at"
249
+ t.string "access_address"
250
+ t.integer "language_id", :default => 1, :null => false
251
+ t.integer "carrier_type_id", :default => 1, :null => false
252
+ t.integer "extent_id", :default => 1, :null => false
253
+ t.integer "start_page"
254
+ t.integer "end_page"
255
+ t.integer "height"
256
+ t.integer "width"
257
+ t.integer "depth"
258
+ t.string "isbn"
259
+ t.string "isbn10"
260
+ t.string "wrong_isbn"
261
+ t.string "nbn"
262
+ t.string "lccn"
263
+ t.string "oclc_number"
264
+ t.string "issn"
265
+ t.integer "price"
266
+ t.text "fulltext"
267
+ t.string "volume_number_string"
268
+ t.string "issue_number_string"
269
+ t.string "serial_number_string"
270
+ t.integer "edition"
271
+ t.text "note"
272
+ t.boolean "repository_content", :default => false, :null => false
273
+ t.integer "lock_version", :default => 0, :null => false
274
+ t.integer "required_role_id", :default => 1, :null => false
275
+ t.string "state"
276
+ t.integer "required_score", :default => 0, :null => false
277
+ t.integer "frequency_id", :default => 1, :null => false
278
+ t.boolean "subscription_master", :default => false, :null => false
279
+ t.string "pub_date"
280
+ t.string "edition_string"
281
+ t.integer "volume_number"
282
+ t.integer "issue_number"
283
+ t.integer "serial_number"
284
+ t.integer "content_type_id", :default => 1
285
+ t.integer "year_of_publication"
286
+ t.string "attachment_fingerprint"
287
+ t.text "attachment_meta"
288
+ t.integer "month_of_publication"
289
+ end
290
+
291
+ add_index "manifestations", ["access_address"], :name => "index_manifestations_on_access_address"
292
+ add_index "manifestations", ["carrier_type_id"], :name => "index_manifestations_on_carrier_type_id"
293
+ add_index "manifestations", ["created_at"], :name => "index_manifestations_on_created_at"
294
+ add_index "manifestations", ["deleted_at"], :name => "index_manifestations_on_deleted_at"
295
+ add_index "manifestations", ["frequency_id"], :name => "index_manifestations_on_frequency_id"
296
+ add_index "manifestations", ["isbn"], :name => "index_manifestations_on_isbn"
297
+ add_index "manifestations", ["issn"], :name => "index_manifestations_on_issn"
298
+ add_index "manifestations", ["lccn"], :name => "index_manifestations_on_lccn"
299
+ add_index "manifestations", ["manifestation_identifier"], :name => "index_manifestations_on_manifestation_identifier", :unique => true
300
+ add_index "manifestations", ["nbn"], :name => "index_manifestations_on_nbn"
301
+ add_index "manifestations", ["oclc_number"], :name => "index_manifestations_on_oclc_number"
302
+ add_index "manifestations", ["required_role_id"], :name => "index_manifestations_on_required_role_id"
303
+ add_index "manifestations", ["updated_at"], :name => "index_manifestations_on_updated_at"
304
+
305
+ create_table "medium_of_performances", :force => true do |t|
306
+ t.string "name", :null => false
307
+ t.text "display_name"
308
+ t.text "note"
309
+ t.integer "position"
310
+ t.datetime "created_at", :null => false
311
+ t.datetime "updated_at", :null => false
312
+ end
313
+
314
+ create_table "owns", :force => true do |t|
315
+ t.integer "patron_id", :null => false
316
+ t.integer "item_id", :null => false
317
+ t.integer "position"
318
+ t.string "type"
319
+ t.datetime "created_at", :null => false
320
+ t.datetime "updated_at", :null => false
321
+ end
322
+
323
+ add_index "owns", ["item_id"], :name => "index_owns_on_item_id"
324
+ add_index "owns", ["patron_id"], :name => "index_owns_on_patron_id"
325
+ add_index "owns", ["type"], :name => "index_owns_on_type"
326
+
327
+ create_table "patron_relationship_types", :force => true do |t|
328
+ t.string "name", :null => false
329
+ t.text "display_name"
330
+ t.text "note"
331
+ t.integer "position"
332
+ t.datetime "created_at", :null => false
333
+ t.datetime "updated_at", :null => false
334
+ end
335
+
336
+ create_table "patron_relationships", :force => true do |t|
337
+ t.integer "parent_id"
338
+ t.integer "child_id"
339
+ t.integer "patron_relationship_type_id"
340
+ t.datetime "created_at", :null => false
341
+ t.datetime "updated_at", :null => false
342
+ t.integer "position"
343
+ end
344
+
345
+ add_index "patron_relationships", ["child_id"], :name => "index_patron_relationships_on_child_id"
346
+ add_index "patron_relationships", ["parent_id"], :name => "index_patron_relationships_on_parent_id"
347
+
348
+ create_table "patron_types", :force => true do |t|
349
+ t.string "name", :null => false
350
+ t.text "display_name"
351
+ t.text "note"
352
+ t.integer "position"
353
+ t.datetime "created_at", :null => false
354
+ t.datetime "updated_at", :null => false
355
+ end
356
+
357
+ create_table "patrons", :force => true do |t|
358
+ t.integer "user_id"
359
+ t.string "last_name"
360
+ t.string "middle_name"
361
+ t.string "first_name"
362
+ t.string "last_name_transcription"
363
+ t.string "middle_name_transcription"
364
+ t.string "first_name_transcription"
365
+ t.string "corporate_name"
366
+ t.string "corporate_name_transcription"
367
+ t.string "full_name"
368
+ t.text "full_name_transcription"
369
+ t.text "full_name_alternative"
370
+ t.datetime "created_at", :null => false
371
+ t.datetime "updated_at", :null => false
372
+ t.datetime "deleted_at"
373
+ t.string "zip_code_1"
374
+ t.string "zip_code_2"
375
+ t.text "address_1"
376
+ t.text "address_2"
377
+ t.text "address_1_note"
378
+ t.text "address_2_note"
379
+ t.string "telephone_number_1"
380
+ t.string "telephone_number_2"
381
+ t.string "fax_number_1"
382
+ t.string "fax_number_2"
383
+ t.text "other_designation"
384
+ t.text "place"
385
+ t.text "street"
386
+ t.text "locality"
387
+ t.text "region"
388
+ t.datetime "date_of_birth"
389
+ t.datetime "date_of_death"
390
+ t.integer "language_id", :default => 1, :null => false
391
+ t.integer "country_id", :default => 1, :null => false
392
+ t.integer "patron_type_id", :default => 1, :null => false
393
+ t.integer "lock_version", :default => 0, :null => false
394
+ t.text "note"
395
+ t.integer "required_role_id", :default => 1, :null => false
396
+ t.integer "required_score", :default => 0, :null => false
397
+ t.string "state"
398
+ t.text "email"
399
+ t.text "url"
400
+ t.string "title"
401
+ t.string "birth_date"
402
+ t.string "death_date"
403
+ end
404
+
405
+ add_index "patrons", ["country_id"], :name => "index_patrons_on_country_id"
406
+ add_index "patrons", ["full_name"], :name => "index_patrons_on_full_name"
407
+ add_index "patrons", ["language_id"], :name => "index_patrons_on_language_id"
408
+ add_index "patrons", ["required_role_id"], :name => "index_patrons_on_required_role_id"
409
+ add_index "patrons", ["user_id"], :name => "index_patrons_on_user_id", :unique => true
410
+
411
+ create_table "produce_types", :force => true do |t|
412
+ t.string "name"
413
+ t.text "display_name"
414
+ t.text "note"
415
+ t.integer "position"
416
+ t.datetime "created_at", :null => false
417
+ t.datetime "updated_at", :null => false
418
+ end
419
+
420
+ create_table "produces", :force => true do |t|
421
+ t.integer "patron_id", :null => false
422
+ t.integer "manifestation_id", :null => false
423
+ t.integer "position"
424
+ t.string "type"
425
+ t.datetime "created_at", :null => false
426
+ t.datetime "updated_at", :null => false
427
+ t.integer "produce_type_id"
428
+ end
429
+
430
+ add_index "produces", ["manifestation_id"], :name => "index_produces_on_manifestation_id"
431
+ add_index "produces", ["patron_id"], :name => "index_produces_on_patron_id"
432
+ add_index "produces", ["type"], :name => "index_produces_on_type"
433
+
434
+ create_table "realize_types", :force => true do |t|
435
+ t.string "name"
436
+ t.text "display_name"
437
+ t.text "note"
438
+ t.integer "position"
439
+ t.datetime "created_at", :null => false
440
+ t.datetime "updated_at", :null => false
441
+ end
442
+
443
+ create_table "realizes", :force => true do |t|
444
+ t.integer "patron_id", :null => false
445
+ t.integer "expression_id", :null => false
446
+ t.integer "position"
447
+ t.string "type"
448
+ t.datetime "created_at", :null => false
449
+ t.datetime "updated_at", :null => false
450
+ t.integer "realize_type_id"
451
+ end
452
+
453
+ add_index "realizes", ["expression_id"], :name => "index_realizes_on_expression_id"
454
+ add_index "realizes", ["patron_id"], :name => "index_realizes_on_patron_id"
455
+ add_index "realizes", ["type"], :name => "index_realizes_on_type"
456
+
457
+ create_table "roles", :force => true do |t|
458
+ t.string "name", :null => false
459
+ t.string "display_name"
460
+ t.text "note"
461
+ t.datetime "created_at"
462
+ t.datetime "updated_at"
463
+ t.integer "score", :default => 0, :null => false
464
+ t.integer "position"
465
+ end
466
+
467
+ create_table "search_engines", :force => true do |t|
468
+ t.string "name", :null => false
469
+ t.text "display_name"
470
+ t.string "url", :null => false
471
+ t.text "base_url", :null => false
472
+ t.text "http_method", :null => false
473
+ t.text "query_param", :null => false
474
+ t.text "additional_param"
475
+ t.text "note"
476
+ t.integer "position"
477
+ t.datetime "created_at", :null => false
478
+ t.datetime "updated_at", :null => false
479
+ end
480
+
481
+ create_table "user_groups", :force => true do |t|
482
+ t.string "name"
483
+ t.text "display_name"
484
+ t.text "note"
485
+ t.integer "position"
486
+ t.datetime "created_at", :null => false
487
+ t.datetime "updated_at", :null => false
488
+ t.datetime "deleted_at"
489
+ t.integer "valid_period_for_new_user", :default => 0, :null => false
490
+ t.datetime "expired_at"
491
+ t.integer "number_of_day_to_notify_overdue", :default => 1, :null => false
492
+ t.integer "number_of_day_to_notify_due_date", :default => 7, :null => false
493
+ t.integer "number_of_time_to_notify_overdue", :default => 3, :null => false
494
+ end
495
+
496
+ create_table "user_has_roles", :force => true do |t|
497
+ t.integer "user_id"
498
+ t.integer "role_id"
499
+ t.datetime "created_at", :null => false
500
+ t.datetime "updated_at", :null => false
501
+ end
502
+
503
+ add_index "user_has_roles", ["role_id"], :name => "index_user_has_roles_on_role_id"
504
+ add_index "user_has_roles", ["user_id"], :name => "index_user_has_roles_on_user_id"
505
+
506
+ create_table "users", :force => true do |t|
507
+ t.string "email", :default => "", :null => false
508
+ t.string "encrypted_password", :default => "", :null => false
509
+ t.string "reset_password_token"
510
+ t.datetime "reset_password_sent_at"
511
+ t.datetime "remember_created_at"
512
+ t.integer "sign_in_count", :default => 0
513
+ t.datetime "current_sign_in_at"
514
+ t.datetime "last_sign_in_at"
515
+ t.string "current_sign_in_ip"
516
+ t.string "last_sign_in_ip"
517
+ t.string "password_salt"
518
+ t.string "confirmation_token"
519
+ t.datetime "confirmed_at"
520
+ t.datetime "confirmation_sent_at"
521
+ t.string "unconfirmed_email"
522
+ t.integer "failed_attempts", :default => 0
523
+ t.string "unlock_token"
524
+ t.datetime "locked_at"
525
+ t.string "authentication_token"
526
+ t.datetime "created_at", :null => false
527
+ t.datetime "updated_at", :null => false
528
+ t.datetime "deleted_at"
529
+ t.string "username", :null => false
530
+ t.integer "library_id", :default => 1, :null => false
531
+ t.integer "user_group_id", :default => 1, :null => false
532
+ t.datetime "expired_at"
533
+ t.integer "required_role_id", :default => 1, :null => false
534
+ t.text "note"
535
+ t.text "keyword_list"
536
+ t.string "user_number"
537
+ t.string "state"
538
+ t.string "locale"
539
+ t.string "enju_access_key"
540
+ end
541
+
542
+ add_index "users", ["authentication_token"], :name => "index_users_on_authentication_token", :unique => true
543
+ add_index "users", ["confirmation_token"], :name => "index_users_on_confirmation_token", :unique => true
544
+ add_index "users", ["email"], :name => "index_users_on_email"
545
+ add_index "users", ["enju_access_key"], :name => "index_users_on_enju_access_key", :unique => true
546
+ add_index "users", ["required_role_id"], :name => "index_users_on_required_role_id"
547
+ add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
548
+ add_index "users", ["unlock_token"], :name => "index_users_on_unlock_token", :unique => true
549
+ add_index "users", ["user_group_id"], :name => "index_users_on_user_group_id"
550
+ add_index "users", ["user_number"], :name => "index_users_on_user_number", :unique => true
551
+ add_index "users", ["username"], :name => "index_users_on_username", :unique => true
552
+
553
+ create_table "versions", :force => true do |t|
554
+ t.string "item_type", :null => false
555
+ t.integer "item_id", :null => false
556
+ t.string "event", :null => false
557
+ t.string "whodunnit"
558
+ t.text "object"
559
+ t.datetime "created_at"
560
+ end
561
+
562
+ add_index "versions", ["item_type", "item_id"], :name => "index_versions_on_item_type_and_item_id"
563
+
564
+ end
Binary file
@@ -0,0 +1,30 @@
1
+ module CalculateStat
2
+
3
+ def self.included(base)
4
+ base.extend ClassMethods
5
+ base.send :include, InstanceMethods
6
+ base.class_eval do
7
+ validates_presence_of :start_date, :end_date
8
+ validate :check_date
9
+ end
10
+ end
11
+
12
+ module ClassMethods
13
+ def calculate_stat
14
+ self.not_calculated.each do |stat|
15
+ stat.aasm_calculate!
16
+ end
17
+ end
18
+ end
19
+
20
+ module InstanceMethods
21
+ def check_date
22
+ if self.start_date and self.end_date
23
+ if self.start_date >= self.end_date
24
+ errors.add(:start_date)
25
+ errors.add(:end_date)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module ExpireEditableFragment
2
+ def expire_editable_fragment(record, fragments = [])
3
+ fragments.uniq!
4
+ if record.is_a?(Manifestation)
5
+ if fragments.empty?
6
+ fragments = %w[manifestation_html show_detail_user_html show_detail_librarian_html pickup_html title_html title_mobile index_sru]
7
+ end
8
+ expire_manifestation_cache(record, fragments)
9
+ else
10
+ I18n.available_locales.each do |locale|
11
+ Role.all_cache.each do |role|
12
+ fragments.each do |fragment|
13
+ expire_fragment(":#{record.class.to_s.downcase}" => record.id, :fragment => fragment, :role => role.name, :locale => locale)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ private
21
+ def expire_manifestation_cache(manifestation, fragments = [])
22
+ I18n.available_locales.each do |locale|
23
+ Role.all_cache.each do |role|
24
+ fragments.uniq.each do |fragment|
25
+ expire_fragment([:manifestation => manifestation.id, :fragment => fragment, :role => role.name, :locale => locale])
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ class ExpireFragmentCache
2
+ def self.expire_fragment_cache(record, fragments = [])
3
+ if record.is_a?(Manifestation)
4
+ if fragments.empty?
5
+ fragments = %w[manifestation_html show_detail_user_html show_detail_librarian_html pickup_html title_html title_mobile index_sru]
6
+ end
7
+ end
8
+
9
+ I18n.available_locales.each do |locale|
10
+ Role.all_cache.each do |role|
11
+ fragments.each do |fragment|
12
+ Rails.cache.clear([":#{record.class.to_s.downcase}" => record.id, :fragment => fragment, :role => role.name, :locale => locale])
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module ImportFile
2
+ def self.included(base)
3
+ base.extend ClassMethods
4
+ end
5
+
6
+ module ClassMethods
7
+ def expire
8
+ self.stucked.find_each do |file|
9
+ file.destroy
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module LocalizedName
2
+ def localize(locale = I18n.locale.to_s)
3
+ values = Hash[*self.strip.split("\n").map{|n| n.split(':', 2)}.flatten]
4
+ name = values[locale.to_s] || self
5
+ name.strip
6
+ rescue ArgumentError
7
+ self
8
+ end
9
+ end
10
+
11
+ class String
12
+ include LocalizedName
13
+ end