enju_event 0.0.3

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.
Files changed (172) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +36 -0
  4. data/app/controllers/calendar_controller.rb +34 -0
  5. data/app/controllers/event_categories_controller.rb +18 -0
  6. data/app/controllers/event_import_files_controller.rb +95 -0
  7. data/app/controllers/event_import_results_controller.rb +15 -0
  8. data/app/controllers/events_controller.rb +152 -0
  9. data/app/controllers/participates_controller.rb +81 -0
  10. data/app/helpers/calendar_helper.rb +31 -0
  11. data/app/models/event.rb +87 -0
  12. data/app/models/event_category.rb +23 -0
  13. data/app/models/event_import_file.rb +166 -0
  14. data/app/models/event_import_result.rb +23 -0
  15. data/app/models/participate.rb +25 -0
  16. data/app/views/calendar/index.html.erb +45 -0
  17. data/app/views/event_categories/_form.html.erb +19 -0
  18. data/app/views/event_categories/edit.html.erb +13 -0
  19. data/app/views/event_categories/index.html.erb +46 -0
  20. data/app/views/event_categories/new.html.erb +12 -0
  21. data/app/views/event_categories/show.html.erb +29 -0
  22. data/app/views/event_import_files/edit.html.erb +25 -0
  23. data/app/views/event_import_files/index.html.erb +40 -0
  24. data/app/views/event_import_files/new.html.erb +37 -0
  25. data/app/views/event_import_files/show.html.erb +64 -0
  26. data/app/views/event_import_results/index.csv.erb +3 -0
  27. data/app/views/event_import_results/index.html.erb +50 -0
  28. data/app/views/event_import_results/show.html.erb +33 -0
  29. data/app/views/events/_all_day.html.erb +24 -0
  30. data/app/views/events/_form.html.erb +44 -0
  31. data/app/views/events/edit.html.erb +14 -0
  32. data/app/views/events/index.atom.builder +10 -0
  33. data/app/views/events/index.csv.erb +4 -0
  34. data/app/views/events/index.html.erb +105 -0
  35. data/app/views/events/index.ics.erb +13 -0
  36. data/app/views/events/index.mobile.erb +49 -0
  37. data/app/views/events/index.rss.builder +34 -0
  38. data/app/views/events/new.html.erb +17 -0
  39. data/app/views/events/show.html.erb +50 -0
  40. data/app/views/events/show.mobile.erb +42 -0
  41. data/app/views/participates/edit.html.erb +28 -0
  42. data/app/views/participates/index.html.erb +30 -0
  43. data/app/views/participates/new.html.erb +27 -0
  44. data/app/views/participates/show.html.erb +24 -0
  45. data/config/routes.rb +10 -0
  46. data/db/fixtures/event_categories.yml +13 -0
  47. data/db/migrate/113_create_events.rb +23 -0
  48. data/db/migrate/114_create_event_categories.rb +16 -0
  49. data/db/migrate/20081028093607_create_event_import_files.rb +29 -0
  50. data/db/migrate/20090519203307_create_participates.rb +17 -0
  51. data/db/migrate/20100925074639_create_event_import_results.rb +15 -0
  52. data/lib/enju_event.rb +5 -0
  53. data/lib/enju_event/engine.rb +18 -0
  54. data/lib/enju_event/version.rb +3 -0
  55. data/lib/tasks/enju_event_tasks.rake +5 -0
  56. data/spec/controllers/event_categories_controller_spec.rb +483 -0
  57. data/spec/controllers/event_import_files_controller_spec.rb +321 -0
  58. data/spec/controllers/events_controller_spec.rb +506 -0
  59. data/spec/dummy/Rakefile +7 -0
  60. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  61. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  62. data/spec/dummy/app/controllers/application_controller.rb +99 -0
  63. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  64. data/spec/dummy/app/mailers/notifier.rb +28 -0
  65. data/spec/dummy/app/models/ability.rb +39 -0
  66. data/spec/dummy/app/models/language.rb +4 -0
  67. data/spec/dummy/app/models/library.rb +128 -0
  68. data/spec/dummy/app/models/library_group.rb +86 -0
  69. data/spec/dummy/app/models/patron.rb +163 -0
  70. data/spec/dummy/app/models/patron_type.rb +19 -0
  71. data/spec/dummy/app/models/role.rb +8 -0
  72. data/spec/dummy/app/models/shelf.rb +54 -0
  73. data/spec/dummy/app/models/user.rb +43 -0
  74. data/spec/dummy/app/models/user_group.rb +2 -0
  75. data/spec/dummy/app/models/user_has_role.rb +4 -0
  76. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  77. data/spec/dummy/app/views/page/403.html.erb +9 -0
  78. data/spec/dummy/app/views/page/403.mobile.erb +5 -0
  79. data/spec/dummy/app/views/page/403.xml.erb +4 -0
  80. data/spec/dummy/app/views/page/404.html.erb +9 -0
  81. data/spec/dummy/app/views/page/404.mobile.erb +5 -0
  82. data/spec/dummy/app/views/page/404.xml.erb +4 -0
  83. data/spec/dummy/config.ru +4 -0
  84. data/spec/dummy/config/application.rb +45 -0
  85. data/spec/dummy/config/boot.rb +10 -0
  86. data/spec/dummy/config/database.yml +25 -0
  87. data/spec/dummy/config/environment.rb +5 -0
  88. data/spec/dummy/config/environments/development.rb +30 -0
  89. data/spec/dummy/config/environments/production.rb +60 -0
  90. data/spec/dummy/config/environments/test.rb +39 -0
  91. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  92. data/spec/dummy/config/initializers/devise.rb +209 -0
  93. data/spec/dummy/config/initializers/inflections.rb +10 -0
  94. data/spec/dummy/config/initializers/mime_types.rb +7 -0
  95. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  96. data/spec/dummy/config/initializers/session_store.rb +8 -0
  97. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  98. data/spec/dummy/config/locales/en.yml +5 -0
  99. data/spec/dummy/config/routes.rb +60 -0
  100. data/spec/dummy/db/migrate/001_create_patrons.rb +62 -0
  101. data/spec/dummy/db/migrate/059_create_libraries.rb +34 -0
  102. data/spec/dummy/db/migrate/069_create_shelves.rb +19 -0
  103. data/spec/dummy/db/migrate/080_create_library_groups.rb +25 -0
  104. data/spec/dummy/db/migrate/20080905191442_create_patron_types.rb +16 -0
  105. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +27 -0
  106. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  107. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
  108. data/spec/dummy/db/migrate/20100527113752_create_delayed_jobs.rb +21 -0
  109. data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +9 -0
  110. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  111. data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
  112. data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
  113. data/spec/dummy/db/migrate/20111201155456_create_users.rb +14 -0
  114. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +31 -0
  115. data/spec/dummy/db/migrate/20111201163342_create_user_groups.rb +12 -0
  116. data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
  117. data/spec/dummy/db/schema.rb +293 -0
  118. data/spec/dummy/db/test.sqlite3 +0 -0
  119. data/spec/dummy/lib/enju_leaf.rb +4 -0
  120. data/spec/dummy/lib/enju_leaf/import_file.rb +13 -0
  121. data/spec/dummy/lib/enju_leaf/localized_name.rb +13 -0
  122. data/spec/dummy/lib/enju_leaf/master_model.rb +41 -0
  123. data/spec/dummy/lib/enju_leaf/url_validator.rb +10 -0
  124. data/spec/dummy/log/sunspot-solr-test.log +222 -0
  125. data/spec/dummy/log/test.log +145759 -0
  126. data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample1.tsv +5 -0
  127. data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample2.tsv +3 -0
  128. data/spec/dummy/public/404.html +26 -0
  129. data/spec/dummy/public/422.html +26 -0
  130. data/spec/dummy/public/500.html +26 -0
  131. data/spec/dummy/public/favicon.ico +0 -0
  132. data/spec/dummy/script/rails +6 -0
  133. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  134. data/spec/dummy/solr/conf/elevate.xml +36 -0
  135. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  136. data/spec/dummy/solr/conf/protwords.txt +21 -0
  137. data/spec/dummy/solr/conf/schema.xml +238 -0
  138. data/spec/dummy/solr/conf/scripts.conf +24 -0
  139. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  140. data/spec/dummy/solr/conf/spellings.txt +2 -0
  141. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  142. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  143. data/spec/dummy/solr/data/test/index/segments.gen +0 -0
  144. data/spec/dummy/solr/data/test/index/segments_1 +0 -0
  145. data/spec/dummy/solr/data/test/spellchecker/segments.gen +0 -0
  146. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  147. data/spec/factories/event.rb +7 -0
  148. data/spec/factories/event_category.rb +5 -0
  149. data/spec/factories/library.rb +13 -0
  150. data/spec/factories/user.rb +34 -0
  151. data/spec/fixtures/event_categories.yml +55 -0
  152. data/spec/fixtures/event_import_files.yml +49 -0
  153. data/spec/fixtures/event_import_results.yml +24 -0
  154. data/spec/fixtures/events.yml +142 -0
  155. data/spec/fixtures/languages.yml +1901 -0
  156. data/spec/fixtures/libraries.yml +108 -0
  157. data/spec/fixtures/library_groups.yml +34 -0
  158. data/spec/fixtures/patron_types.yml +35 -0
  159. data/spec/fixtures/patrons.yml +338 -0
  160. data/spec/fixtures/roles.yml +21 -0
  161. data/spec/fixtures/shelves.yml +46 -0
  162. data/spec/fixtures/user_groups.yml +25 -0
  163. data/spec/fixtures/user_has_roles.yml +41 -0
  164. data/spec/fixtures/users.yml +69 -0
  165. data/spec/models/event_category_spec.rb +21 -0
  166. data/spec/models/event_import_file_spec.rb +62 -0
  167. data/spec/models/event_import_result_spec.rb +20 -0
  168. data/spec/models/event_spec.rb +39 -0
  169. data/spec/spec_helper.rb +45 -0
  170. data/spec/support/controller_macros.rb +48 -0
  171. data/spec/support/devise.rb +4 -0
  172. metadata +541 -0
@@ -0,0 +1,12 @@
1
+ class CreateUserGroups < ActiveRecord::Migration
2
+ def change
3
+ create_table :user_groups do |t|
4
+ t.string :name
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ class CreateUserHasRoles < ActiveRecord::Migration
2
+ def change
3
+ create_table :user_has_roles do |t|
4
+ t.integer :user_id
5
+ t.integer :role_id
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,293 @@
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 => 20111201163718) do
15
+
16
+ create_table "delayed_jobs", :force => true do |t|
17
+ t.integer "priority", :default => 0
18
+ t.integer "attempts", :default => 0
19
+ t.text "handler"
20
+ t.text "last_error"
21
+ t.datetime "run_at"
22
+ t.datetime "locked_at"
23
+ t.datetime "failed_at"
24
+ t.string "locked_by"
25
+ t.datetime "created_at"
26
+ t.datetime "updated_at"
27
+ end
28
+
29
+ add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
30
+
31
+ create_table "event_categories", :force => true do |t|
32
+ t.string "name", :null => false
33
+ t.text "display_name"
34
+ t.text "note"
35
+ t.integer "position"
36
+ t.datetime "created_at"
37
+ t.datetime "updated_at"
38
+ end
39
+
40
+ create_table "event_import_files", :force => true do |t|
41
+ t.integer "parent_id"
42
+ t.string "content_type"
43
+ t.integer "size"
44
+ t.string "file_hash"
45
+ t.integer "user_id"
46
+ t.text "note"
47
+ t.datetime "imported_at"
48
+ t.string "state"
49
+ t.string "event_import_file_name"
50
+ t.string "event_import_content_type"
51
+ t.integer "event_import_file_size"
52
+ t.datetime "event_import_updated_at"
53
+ t.string "edit_mode"
54
+ t.datetime "created_at"
55
+ t.datetime "updated_at"
56
+ end
57
+
58
+ add_index "event_import_files", ["file_hash"], :name => "index_event_import_files_on_file_hash"
59
+ add_index "event_import_files", ["parent_id"], :name => "index_event_import_files_on_parent_id"
60
+ add_index "event_import_files", ["state"], :name => "index_event_import_files_on_state"
61
+ add_index "event_import_files", ["user_id"], :name => "index_event_import_files_on_user_id"
62
+
63
+ create_table "event_import_results", :force => true do |t|
64
+ t.integer "event_import_file_id"
65
+ t.integer "event_id"
66
+ t.text "body"
67
+ t.datetime "created_at"
68
+ t.datetime "updated_at"
69
+ end
70
+
71
+ create_table "events", :force => true do |t|
72
+ t.integer "library_id", :default => 1, :null => false
73
+ t.integer "event_category_id", :default => 1, :null => false
74
+ t.string "name"
75
+ t.text "note"
76
+ t.datetime "start_at"
77
+ t.datetime "end_at"
78
+ t.boolean "all_day", :default => false, :null => false
79
+ t.datetime "deleted_at"
80
+ t.text "display_name"
81
+ t.datetime "created_at"
82
+ t.datetime "updated_at"
83
+ end
84
+
85
+ add_index "events", ["event_category_id"], :name => "index_events_on_event_category_id"
86
+ add_index "events", ["library_id"], :name => "index_events_on_library_id"
87
+
88
+ create_table "languages", :force => true do |t|
89
+ t.string "name", :null => false
90
+ t.string "native_name"
91
+ t.text "display_name"
92
+ t.string "iso_639_1"
93
+ t.string "iso_639_2"
94
+ t.string "iso_639_3"
95
+ t.text "note"
96
+ t.integer "position"
97
+ end
98
+
99
+ add_index "languages", ["iso_639_1"], :name => "index_languages_on_iso_639_1"
100
+ add_index "languages", ["iso_639_2"], :name => "index_languages_on_iso_639_2"
101
+ add_index "languages", ["iso_639_3"], :name => "index_languages_on_iso_639_3"
102
+ add_index "languages", ["name"], :name => "index_languages_on_name", :unique => true
103
+
104
+ create_table "libraries", :force => true do |t|
105
+ t.integer "patron_id"
106
+ t.string "patron_type"
107
+ t.string "name", :null => false
108
+ t.text "display_name"
109
+ t.string "short_display_name", :null => false
110
+ t.string "zip_code"
111
+ t.text "street"
112
+ t.text "locality"
113
+ t.text "region"
114
+ t.string "telephone_number_1"
115
+ t.string "telephone_number_2"
116
+ t.string "fax_number"
117
+ t.text "note"
118
+ t.integer "call_number_rows", :default => 1, :null => false
119
+ t.string "call_number_delimiter", :default => "|", :null => false
120
+ t.integer "library_group_id", :default => 1, :null => false
121
+ t.integer "users_count", :default => 0, :null => false
122
+ t.integer "position"
123
+ t.integer "country_id"
124
+ t.datetime "created_at"
125
+ t.datetime "updated_at"
126
+ t.datetime "deleted_at"
127
+ end
128
+
129
+ add_index "libraries", ["library_group_id"], :name => "index_libraries_on_library_group_id"
130
+ add_index "libraries", ["name"], :name => "index_libraries_on_name", :unique => true
131
+ add_index "libraries", ["patron_id"], :name => "index_libraries_on_patron_id", :unique => true
132
+
133
+ create_table "library_groups", :force => true do |t|
134
+ t.string "name", :null => false
135
+ t.text "display_name"
136
+ t.string "short_name", :null => false
137
+ t.string "email"
138
+ t.text "my_networks"
139
+ t.text "login_banner"
140
+ t.text "note"
141
+ t.integer "valid_period_for_new_user", :default => 365, :null => false
142
+ t.boolean "post_to_union_catalog", :default => false, :null => false
143
+ t.integer "country_id"
144
+ t.datetime "created_at"
145
+ t.datetime "updated_at"
146
+ t.text "admin_networks"
147
+ t.boolean "allow_bookmark_external_url", :default => false, :null => false
148
+ t.integer "position"
149
+ t.string "url", :default => "http://localhost:3000/"
150
+ end
151
+
152
+ add_index "library_groups", ["short_name"], :name => "index_library_groups_on_short_name"
153
+
154
+ create_table "participates", :force => true do |t|
155
+ t.integer "patron_id", :null => false
156
+ t.integer "event_id", :null => false
157
+ t.integer "position"
158
+ t.datetime "created_at"
159
+ t.datetime "updated_at"
160
+ end
161
+
162
+ add_index "participates", ["event_id"], :name => "index_participates_on_event_id"
163
+ add_index "participates", ["patron_id"], :name => "index_participates_on_patron_id"
164
+
165
+ create_table "patron_types", :force => true do |t|
166
+ t.string "name", :null => false
167
+ t.text "display_name"
168
+ t.text "note"
169
+ t.integer "position"
170
+ t.datetime "created_at"
171
+ t.datetime "updated_at"
172
+ end
173
+
174
+ create_table "patrons", :force => true do |t|
175
+ t.integer "user_id"
176
+ t.string "last_name"
177
+ t.string "middle_name"
178
+ t.string "first_name"
179
+ t.string "last_name_transcription"
180
+ t.string "middle_name_transcription"
181
+ t.string "first_name_transcription"
182
+ t.string "corporate_name"
183
+ t.string "corporate_name_transcription"
184
+ t.string "full_name"
185
+ t.text "full_name_transcription"
186
+ t.text "full_name_alternative"
187
+ t.datetime "created_at"
188
+ t.datetime "updated_at"
189
+ t.datetime "deleted_at"
190
+ t.string "zip_code_1"
191
+ t.string "zip_code_2"
192
+ t.text "address_1"
193
+ t.text "address_2"
194
+ t.text "address_1_note"
195
+ t.text "address_2_note"
196
+ t.string "telephone_number_1"
197
+ t.string "telephone_number_2"
198
+ t.string "fax_number_1"
199
+ t.string "fax_number_2"
200
+ t.text "other_designation"
201
+ t.text "place"
202
+ t.string "postal_code"
203
+ t.text "street"
204
+ t.text "locality"
205
+ t.text "region"
206
+ t.datetime "date_of_birth"
207
+ t.datetime "date_of_death"
208
+ t.integer "language_id", :default => 1, :null => false
209
+ t.integer "country_id", :default => 1, :null => false
210
+ t.integer "patron_type_id", :default => 1, :null => false
211
+ t.integer "lock_version", :default => 0, :null => false
212
+ t.text "note"
213
+ t.integer "creates_count", :default => 0, :null => false
214
+ t.integer "realizes_count", :default => 0, :null => false
215
+ t.integer "produces_count", :default => 0, :null => false
216
+ t.integer "owns_count", :default => 0, :null => false
217
+ t.integer "required_role_id", :default => 1, :null => false
218
+ t.integer "required_score", :default => 0, :null => false
219
+ t.string "state"
220
+ t.text "email"
221
+ t.text "url"
222
+ end
223
+
224
+ add_index "patrons", ["country_id"], :name => "index_patrons_on_country_id"
225
+ add_index "patrons", ["full_name"], :name => "index_patrons_on_full_name"
226
+ add_index "patrons", ["language_id"], :name => "index_patrons_on_language_id"
227
+ add_index "patrons", ["required_role_id"], :name => "index_patrons_on_required_role_id"
228
+ add_index "patrons", ["user_id"], :name => "index_patrons_on_user_id", :unique => true
229
+
230
+ create_table "roles", :force => true do |t|
231
+ t.string "name"
232
+ t.text "display_name"
233
+ t.text "note"
234
+ t.integer "position"
235
+ t.datetime "created_at"
236
+ t.datetime "updated_at"
237
+ end
238
+
239
+ create_table "shelves", :force => true do |t|
240
+ t.string "name", :null => false
241
+ t.text "display_name"
242
+ t.text "note"
243
+ t.integer "library_id", :default => 1, :null => false
244
+ t.integer "items_count", :default => 0, :null => false
245
+ t.integer "position"
246
+ t.datetime "created_at"
247
+ t.datetime "updated_at"
248
+ t.datetime "deleted_at"
249
+ end
250
+
251
+ add_index "shelves", ["library_id"], :name => "index_shelves_on_library_id"
252
+
253
+ create_table "user_groups", :force => true do |t|
254
+ t.string "name"
255
+ t.text "display_name"
256
+ t.text "note"
257
+ t.integer "position"
258
+ t.datetime "created_at"
259
+ t.datetime "updated_at"
260
+ end
261
+
262
+ create_table "user_has_roles", :force => true do |t|
263
+ t.integer "user_id"
264
+ t.integer "role_id"
265
+ t.datetime "created_at"
266
+ t.datetime "updated_at"
267
+ end
268
+
269
+ create_table "users", :force => true do |t|
270
+ t.integer "user_group_id"
271
+ t.integer "required_role_id"
272
+ t.string "username"
273
+ t.text "note"
274
+ t.string "locale"
275
+ t.string "user_number"
276
+ t.datetime "created_at"
277
+ t.datetime "updated_at"
278
+ t.string "email", :default => "", :null => false
279
+ t.string "encrypted_password", :limit => 128, :default => "", :null => false
280
+ t.string "reset_password_token"
281
+ t.datetime "reset_password_sent_at"
282
+ t.datetime "remember_created_at"
283
+ t.integer "sign_in_count", :default => 0
284
+ t.datetime "current_sign_in_at"
285
+ t.datetime "last_sign_in_at"
286
+ t.string "current_sign_in_ip"
287
+ t.string "last_sign_in_ip"
288
+ end
289
+
290
+ add_index "users", ["email"], :name => "index_users_on_email"
291
+ add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
292
+
293
+ end
@@ -0,0 +1,4 @@
1
+ require 'enju_leaf/import_file'
2
+ require 'enju_leaf/localized_name'
3
+ require 'enju_leaf/master_model'
4
+ require 'enju_leaf/url_validator'
@@ -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
@@ -0,0 +1,41 @@
1
+ module MasterModel
2
+ def self.included(base)
3
+ #base.extend ClassMethods
4
+ base.send :include, InstanceMethods
5
+ base.class_eval do
6
+ acts_as_list
7
+ validates_uniqueness_of :name, :case_sensitive => false
8
+ validates_presence_of :name, :display_name
9
+ before_validation :set_display_name, :on => :create
10
+ normalize_attributes :name
11
+ end
12
+ end
13
+
14
+ module InstanceMethods
15
+ def set_display_name
16
+ self.display_name = self.name if self.display_name.blank?
17
+ end
18
+
19
+ def check_creatable
20
+ if creatable?
21
+ raise NotModifiableError
22
+ end
23
+ end
24
+
25
+ def check_deletable
26
+ if deletable?
27
+ raise NotModifiableError
28
+ end
29
+ end
30
+
31
+ def creatable?
32
+ false
33
+ end
34
+
35
+ def deletable?
36
+ false
37
+ end
38
+ end
39
+
40
+ class NotModifiableError < StandardError; end
41
+ end
@@ -0,0 +1,10 @@
1
+ class UrlValidator < ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ url = ::Addressable::URI.parse(value)
4
+ if url
5
+ unless ['http', 'https'].include?(url.scheme)
6
+ record.errors.add(attribute.to_sym)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,222 @@
1
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
2
+ INFO: JNDI not configured for solr (NoInitialContextEx)
3
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
4
+ INFO: using system property solr.solr.home: /Users/kosuke/enju_event/spec/dummy/solr
5
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader <init>
6
+ INFO: Solr home set to '/Users/kosuke/enju_event/spec/dummy/solr/'
7
+ Dec 18, 2011 7:34:45 PM org.apache.solr.servlet.SolrDispatchFilter init
8
+ INFO: SolrDispatchFilter.init()
9
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
10
+ INFO: JNDI not configured for solr (NoInitialContextEx)
11
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
12
+ INFO: using system property solr.solr.home: /Users/kosuke/enju_event/spec/dummy/solr
13
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.CoreContainer$Initializer initialize
14
+ INFO: looking for solr.xml: /Users/kosuke/enju_event/spec/dummy/solr/solr.xml
15
+ Dec 18, 2011 7:34:45 PM org.apache.solr.core.SolrResourceLoader <init>
16
+ INFO: Solr home set to '/Users/kosuke/enju_event/spec/dummy/solr/'
17
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrConfig initLibs
18
+ INFO: Adding specified lib dirs to ClassLoader
19
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrConfig <init>
20
+ INFO: Loaded SolrConfig: solrconfig.xml
21
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore <init>
22
+ INFO: Opening new SolrCore at /Users/kosuke/enju_event/spec/dummy/solr/, dataDir=/Users/kosuke/enju_event/spec/dummy/solr/data/test/
23
+ Dec 18, 2011 7:34:46 PM org.apache.solr.schema.IndexSchema readSchema
24
+ INFO: Reading Solr Schema
25
+ Dec 18, 2011 7:34:46 PM org.apache.solr.schema.IndexSchema readSchema
26
+ INFO: Schema name=sunspot
27
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
28
+ INFO: created string: org.apache.solr.schema.StrField
29
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
30
+ INFO: created tdouble: org.apache.solr.schema.TrieDoubleField
31
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
32
+ INFO: created rand: org.apache.solr.schema.RandomSortField
33
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
34
+ INFO: created null: org.apache.solr.analysis.StandardTokenizerFactory
35
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
36
+ INFO: created null: org.apache.solr.analysis.StandardFilterFactory
37
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
38
+ INFO: created null: org.apache.solr.analysis.LowerCaseFilterFactory
39
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
40
+ INFO: created text: org.apache.solr.schema.TextField
41
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
42
+ INFO: created boolean: org.apache.solr.schema.BoolField
43
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
44
+ INFO: created date: org.apache.solr.schema.DateField
45
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
46
+ INFO: created sdouble: org.apache.solr.schema.SortableDoubleField
47
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
48
+ INFO: created sfloat: org.apache.solr.schema.SortableFloatField
49
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
50
+ INFO: created sint: org.apache.solr.schema.SortableIntField
51
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
52
+ INFO: created slong: org.apache.solr.schema.SortableLongField
53
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
54
+ INFO: created tint: org.apache.solr.schema.TrieIntField
55
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
56
+ INFO: created tfloat: org.apache.solr.schema.TrieFloatField
57
+ Dec 18, 2011 7:34:46 PM org.apache.solr.util.plugin.AbstractPluginLoader load
58
+ INFO: created tdate: org.apache.solr.schema.TrieDateField
59
+ Dec 18, 2011 7:34:46 PM org.apache.solr.schema.IndexSchema readSchema
60
+ INFO: default search field is text
61
+ Dec 18, 2011 7:34:46 PM org.apache.solr.schema.IndexSchema readSchema
62
+ INFO: query parser default operator is AND
63
+ Dec 18, 2011 7:34:46 PM org.apache.solr.schema.IndexSchema readSchema
64
+ INFO: unique key field: id
65
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.JmxMonitoredMap <init>
66
+ INFO: No JMX servers found, not exposing Solr information with JMX.
67
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore initListeners
68
+ INFO: Added SolrEventListener: org.apache.solr.core.QuerySenderListener{queries=[]}
69
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore initListeners
70
+ INFO: Added SolrEventListener: org.apache.solr.core.QuerySenderListener{queries=[{q=solr rocks,start=0,rows=10}, {q=static firstSearcher warming query from solrconfig.xml}]}
71
+ Dec 18, 2011 7:34:46 PM org.apache.solr.request.XSLTResponseWriter init
72
+ INFO: xsltCacheLifetimeSeconds=5
73
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
74
+ INFO: created standard: solr.SearchHandler
75
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
76
+ INFO: created dismax: solr.SearchHandler
77
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
78
+ INFO: created partitioned: solr.SearchHandler
79
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
80
+ INFO: created /spell: solr.SearchHandler
81
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
82
+ INFO: created tvrh: org.apache.solr.handler.component.SearchHandler
83
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
84
+ INFO: adding lazy requestHandler: org.apache.solr.handler.extraction.ExtractingRequestHandler
85
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
86
+ INFO: created /update/extract: org.apache.solr.handler.extraction.ExtractingRequestHandler
87
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
88
+ INFO: created /terms: org.apache.solr.handler.component.SearchHandler
89
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
90
+ INFO: adding lazy requestHandler: solr.SearchHandler
91
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
92
+ INFO: created /elevate: solr.SearchHandler
93
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
94
+ INFO: created /update: solr.XmlUpdateRequestHandler
95
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
96
+ INFO: created /update/javabin: solr.BinaryUpdateRequestHandler
97
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
98
+ INFO: created /analysis/document: solr.DocumentAnalysisRequestHandler
99
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
100
+ INFO: created /analysis/field: solr.FieldAnalysisRequestHandler
101
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
102
+ INFO: adding lazy requestHandler: solr.CSVRequestHandler
103
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
104
+ INFO: created /update/csv: solr.CSVRequestHandler
105
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
106
+ INFO: created /admin/: org.apache.solr.handler.admin.AdminHandlers
107
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
108
+ INFO: created /admin/ping: PingRequestHandler
109
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
110
+ INFO: created /debug/dump: solr.DumpRequestHandler
111
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig
112
+ INFO: created /mlt: solr.MoreLikeThisHandler
113
+ Dec 18, 2011 7:34:46 PM org.apache.solr.search.SolrIndexSearcher <init>
114
+ INFO: Opening Searcher@35a8d460 main
115
+ Dec 18, 2011 7:34:46 PM org.apache.solr.update.DirectUpdateHandler2$CommitTracker <init>
116
+ INFO: AutoCommit: disabled
117
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SpellCheckComponent inform
118
+ INFO: Initializing spell checkers
119
+ Dec 18, 2011 7:34:46 PM org.apache.solr.spelling.AbstractLuceneSpellChecker init
120
+ INFO: Using WhitespaceAnalzyer for dictionary: default
121
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SpellCheckComponent inform
122
+ WARNING: No queryConverter defined, using default converter
123
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.QueryElevationComponent inform
124
+ INFO: Loading QueryElevation from: /Users/kosuke/enju_event/spec/dummy/solr/conf/elevate.xml
125
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
126
+ INFO: Adding component:org.apache.solr.handler.component.QueryComponent@56f449b8
127
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
128
+ INFO: Adding component:org.apache.solr.handler.component.FacetComponent@4013fba1
129
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
130
+ INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@5fed27e4
131
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
132
+ INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@4ad61aef
133
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
134
+ INFO: Adding component:org.apache.solr.handler.component.StatsComponent@2e82674b
135
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
136
+ INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@734b84c7
137
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
138
+ INFO: Adding component:org.apache.solr.handler.component.QueryComponent@56f449b8
139
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
140
+ INFO: Adding component:org.apache.solr.handler.component.FacetComponent@4013fba1
141
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
142
+ INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@5fed27e4
143
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
144
+ INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@4ad61aef
145
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
146
+ INFO: Adding component:org.apache.solr.handler.component.StatsComponent@2e82674b
147
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
148
+ INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@734b84c7
149
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
150
+ INFO: Adding component:org.apache.solr.handler.component.QueryComponent@56f449b8
151
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
152
+ INFO: Adding component:org.apache.solr.handler.component.FacetComponent@4013fba1
153
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
154
+ INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@5fed27e4
155
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
156
+ INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@4ad61aef
157
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
158
+ INFO: Adding component:org.apache.solr.handler.component.StatsComponent@2e82674b
159
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
160
+ INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@734b84c7
161
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
162
+ INFO: Adding component:org.apache.solr.handler.component.QueryComponent@56f449b8
163
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
164
+ INFO: Adding component:org.apache.solr.handler.component.FacetComponent@4013fba1
165
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
166
+ INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@5fed27e4
167
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
168
+ INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@4ad61aef
169
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
170
+ INFO: Adding component:org.apache.solr.handler.component.StatsComponent@2e82674b
171
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
172
+ INFO: Adding component:org.apache.solr.handler.component.SpellCheckComponent@62fa5ff3
173
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
174
+ INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@734b84c7
175
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
176
+ INFO: Adding component:org.apache.solr.handler.component.QueryComponent@56f449b8
177
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
178
+ INFO: Adding component:org.apache.solr.handler.component.FacetComponent@4013fba1
179
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
180
+ INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@5fed27e4
181
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
182
+ INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@4ad61aef
183
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
184
+ INFO: Adding component:org.apache.solr.handler.component.StatsComponent@2e82674b
185
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
186
+ INFO: Adding component:org.apache.solr.handler.component.TermVectorComponent@23b17d49
187
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
188
+ INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@734b84c7
189
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SearchHandler inform
190
+ INFO: Adding component:org.apache.solr.handler.component.TermsComponent@599855ed
191
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.QuerySenderListener newSearcher
192
+ INFO: QuerySenderListener sending requests to Searcher@35a8d460 main
193
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.CoreContainer register
194
+ INFO: registering core:
195
+ Dec 18, 2011 7:34:46 PM org.apache.solr.servlet.SolrDispatchFilter init
196
+ INFO: user.dir=/usr/local/lib/ruby/gems/1.9.1/gems/sunspot_solr-1.3.0/solr
197
+ Dec 18, 2011 7:34:46 PM org.apache.solr.servlet.SolrDispatchFilter init
198
+ INFO: SolrDispatchFilter.init() done
199
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore execute
200
+ INFO: [] webapp=null path=null params={start=0&event=firstSearcher&q=solr+rocks&rows=10} hits=0 status=0 QTime=37
201
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore execute
202
+ INFO: [] webapp=null path=null params={event=firstSearcher&q=static+firstSearcher+warming+query+from+solrconfig.xml} hits=0 status=0 QTime=1
203
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.QuerySenderListener newSearcher
204
+ INFO: QuerySenderListener done.
205
+ Dec 18, 2011 7:34:46 PM org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener newSearcher
206
+ INFO: Loading spell index for spellchecker: default
207
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrCore registerSearcher
208
+ INFO: [] Registered new searcher Searcher@35a8d460 main
209
+ Dec 18, 2011 7:34:46 PM org.apache.solr.servlet.SolrServlet init
210
+ INFO: SolrServlet.init()
211
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
212
+ INFO: JNDI not configured for solr (NoInitialContextEx)
213
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
214
+ INFO: using system property solr.solr.home: /Users/kosuke/enju_event/spec/dummy/solr
215
+ Dec 18, 2011 7:34:46 PM org.apache.solr.servlet.SolrServlet init
216
+ INFO: SolrServlet.init() done
217
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
218
+ INFO: JNDI not configured for solr (NoInitialContextEx)
219
+ Dec 18, 2011 7:34:46 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
220
+ INFO: using system property solr.solr.home: /Users/kosuke/enju_event/spec/dummy/solr
221
+ Dec 18, 2011 7:34:46 PM org.apache.solr.servlet.SolrUpdateServlet init
222
+ INFO: SolrUpdateServlet.init() done