supplejack_api 1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +80 -0
  3. data/Rakefile +42 -0
  4. data/app/assets/javascripts/supplejack_api/application.js +26 -0
  5. data/app/assets/stylesheets/supplejack_api/application.css +30 -0
  6. data/app/controllers/supplejack_api/admin/base_controller.rb +24 -0
  7. data/app/controllers/supplejack_api/admin/sessions_controller.rb +25 -0
  8. data/app/controllers/supplejack_api/admin/site_activities_controller.rb +21 -0
  9. data/app/controllers/supplejack_api/admin/users_controller.rb +55 -0
  10. data/app/controllers/supplejack_api/application_controller.rb +70 -0
  11. data/app/controllers/supplejack_api/concepts_controller.rb +52 -0
  12. data/app/controllers/supplejack_api/concerns/ignore_metrics.rb +14 -0
  13. data/app/controllers/supplejack_api/concerns/records_controller_metrics.rb +26 -0
  14. data/app/controllers/supplejack_api/concerns/set_items_controller_metrics.rb +20 -0
  15. data/app/controllers/supplejack_api/concerns/user_sets_controller_metrics.rb +26 -0
  16. data/app/controllers/supplejack_api/harvester/concepts_controller.rb +41 -0
  17. data/app/controllers/supplejack_api/harvester/fragments_controller.rb +30 -0
  18. data/app/controllers/supplejack_api/harvester/records_controller.rb +68 -0
  19. data/app/controllers/supplejack_api/metrics_api_controller.rb +44 -0
  20. data/app/controllers/supplejack_api/partners_controller.rb +39 -0
  21. data/app/controllers/supplejack_api/records_controller.rb +71 -0
  22. data/app/controllers/supplejack_api/schema_controller.rb +19 -0
  23. data/app/controllers/supplejack_api/set_items_controller.rb +38 -0
  24. data/app/controllers/supplejack_api/sources_controller.rb +67 -0
  25. data/app/controllers/supplejack_api/status_controller.rb +67 -0
  26. data/app/controllers/supplejack_api/user_sets_controller.rb +97 -0
  27. data/app/controllers/supplejack_api/users_controller.rb +49 -0
  28. data/app/helpers/supplejack_api/application_helper.rb +39 -0
  29. data/app/helpers/supplejack_api/facets_helper.rb +30 -0
  30. data/app/mailers/supplejack_api/request_limit_mailer.rb +43 -0
  31. data/app/models/supplejack_api/api_concept/concept_fragment.rb +31 -0
  32. data/app/models/supplejack_api/api_record/record_fragment.rb +15 -0
  33. data/app/models/supplejack_api/concept.rb +46 -0
  34. data/app/models/supplejack_api/concept_search.rb +86 -0
  35. data/app/models/supplejack_api/concerns/queryable_by_date.rb +31 -0
  36. data/app/models/supplejack_api/concerns/record.rb +108 -0
  37. data/app/models/supplejack_api/concerns/record_fragmentable.rb +24 -0
  38. data/app/models/supplejack_api/concerns/searchable.rb +430 -0
  39. data/app/models/supplejack_api/concerns/user_set.rb +219 -0
  40. data/app/models/supplejack_api/daily_metrics.rb +20 -0
  41. data/app/models/supplejack_api/faceted_metrics.rb +55 -0
  42. data/app/models/supplejack_api/fragment.rb +82 -0
  43. data/app/models/supplejack_api/interaction_models/record.rb +60 -0
  44. data/app/models/supplejack_api/interaction_models/set.rb +13 -0
  45. data/app/models/supplejack_api/interaction_updaters/all_usage_metric.rb +41 -0
  46. data/app/models/supplejack_api/interaction_updaters/set_metrics.rb +32 -0
  47. data/app/models/supplejack_api/interaction_updaters/usage_metrics.rb +73 -0
  48. data/app/models/supplejack_api/partner.rb +24 -0
  49. data/app/models/supplejack_api/preview_record.rb +30 -0
  50. data/app/models/supplejack_api/record.rb +18 -0
  51. data/app/models/supplejack_api/record_search.rb +12 -0
  52. data/app/models/supplejack_api/schema_definition.rb +147 -0
  53. data/app/models/supplejack_api/search.rb +14 -0
  54. data/app/models/supplejack_api/set_item.rb +57 -0
  55. data/app/models/supplejack_api/site_activity.rb +59 -0
  56. data/app/models/supplejack_api/source.rb +28 -0
  57. data/app/models/supplejack_api/source_activity.rb +36 -0
  58. data/app/models/supplejack_api/source_authority.rb +42 -0
  59. data/app/models/supplejack_api/supplejack_schema.rb +37 -0
  60. data/app/models/supplejack_api/support/concept/searchable.rb +79 -0
  61. data/app/models/supplejack_api/support/concept/storable.rb +59 -0
  62. data/app/models/supplejack_api/support/fragment_helpers.rb +96 -0
  63. data/app/models/supplejack_api/support/harvestable.rb +105 -0
  64. data/app/models/supplejack_api/support/searchable.rb +115 -0
  65. data/app/models/supplejack_api/support/status_logger.rb +23 -0
  66. data/app/models/supplejack_api/support/storable.rb +49 -0
  67. data/app/models/supplejack_api/support/validation_logger.rb +23 -0
  68. data/app/models/supplejack_api/usage_metrics.rb +25 -0
  69. data/app/models/supplejack_api/user.rb +211 -0
  70. data/app/models/supplejack_api/user_activity.rb +65 -0
  71. data/app/models/supplejack_api/user_set.rb +17 -0
  72. data/app/serializers/supplejack_api/application_serializer.rb +12 -0
  73. data/app/serializers/supplejack_api/concept_record_serializer.rb +23 -0
  74. data/app/serializers/supplejack_api/concept_search_serializer.rb +12 -0
  75. data/app/serializers/supplejack_api/concept_serializer.rb +100 -0
  76. data/app/serializers/supplejack_api/concerns/record_serializable.rb +119 -0
  77. data/app/serializers/supplejack_api/concerns/search_serializable.rb +24 -0
  78. data/app/serializers/supplejack_api/record_search_serializer.rb +64 -0
  79. data/app/serializers/supplejack_api/record_serializer.rb +13 -0
  80. data/app/serializers/supplejack_api/search_serializer.rb +13 -0
  81. data/app/serializers/supplejack_api/source_authority_serializer.rb +23 -0
  82. data/app/serializers/supplejack_api/user_serializer.rb +13 -0
  83. data/app/serializers/supplejack_api/user_set_record_serializer.rb +14 -0
  84. data/app/serializers/supplejack_api/user_set_serializer.rb +77 -0
  85. data/app/services/metrics_api/v3/api.rb +30 -0
  86. data/app/services/metrics_api/v3/endpoints/facets.rb +23 -0
  87. data/app/services/metrics_api/v3/endpoints/global.rb +26 -0
  88. data/app/services/metrics_api/v3/endpoints/helpers.rb +14 -0
  89. data/app/services/metrics_api/v3/endpoints/root.rb +97 -0
  90. data/app/services/metrics_api/v3/presenters/daily_metric.rb +23 -0
  91. data/app/services/metrics_api/v3/presenters/extended_metadata.rb +41 -0
  92. data/app/services/metrics_api/v3/presenters/record.rb +26 -0
  93. data/app/services/metrics_api/v3/presenters/view.rb +28 -0
  94. data/app/views/layouts/supplejack_api/_head.html.erb +17 -0
  95. data/app/views/layouts/supplejack_api/_top_nav.html.erb +33 -0
  96. data/app/views/layouts/supplejack_api/application.html.erb +33 -0
  97. data/app/views/supplejack_api/admin/sessions/new.html.erb +25 -0
  98. data/app/views/supplejack_api/admin/shared/_links.erb +34 -0
  99. data/app/views/supplejack_api/admin/site_activities/index.csv.erb +22 -0
  100. data/app/views/supplejack_api/admin/site_activities/index.html.erb +54 -0
  101. data/app/views/supplejack_api/admin/users/edit.html.erb +16 -0
  102. data/app/views/supplejack_api/admin/users/index.csv.erb +22 -0
  103. data/app/views/supplejack_api/admin/users/index.html.erb +57 -0
  104. data/app/views/supplejack_api/admin/users/show.html.erb +33 -0
  105. data/app/views/supplejack_api/request_limit_mailer/at100percent.text.erb +13 -0
  106. data/app/views/supplejack_api/request_limit_mailer/at100percent_admin.text.erb +1 -0
  107. data/app/views/supplejack_api/request_limit_mailer/at90percent.text.erb +13 -0
  108. data/app/views/supplejack_api/request_limit_mailer/at90percent_admin.text.erb +1 -0
  109. data/app/workers/supplejack_api/daily_metrics_worker.rb +112 -0
  110. data/app/workers/supplejack_api/interaction_metrics_worker.rb +45 -0
  111. data/config/cucumber.yml +16 -0
  112. data/config/initializers/force_eagerload.rb +11 -0
  113. data/config/initializers/interaction_updaters.rb +7 -0
  114. data/config/routes.rb +81 -0
  115. data/db/binding_records.development.json +7 -0
  116. data/db/binding_records.staging.json +7 -0
  117. data/db/concepts.json +33 -0
  118. data/db/concepts_data.json +569745 -0
  119. data/db/source_authorities.json +119 -0
  120. data/lib/generators/supplejack_api/install_generator.rb +124 -0
  121. data/lib/mongoid/paperclip.rb +53 -0
  122. data/lib/mongoid/string.rb +20 -0
  123. data/lib/sunspot/mongoid.rb +51 -0
  124. data/lib/sunspot/resque_session_proxy.rb +72 -0
  125. data/lib/sunspot/sunspot_spellcheck.rb +98 -0
  126. data/lib/supplejack_api.rb +13 -0
  127. data/lib/supplejack_api/admin/sortable.rb +40 -0
  128. data/lib/supplejack_api/engine.rb +46 -0
  129. data/lib/supplejack_api/harvester_constraint.rb +28 -0
  130. data/lib/supplejack_api/stylesheets.rb +36 -0
  131. data/lib/supplejack_api/utils.rb +75 -0
  132. data/lib/supplejack_api/version.rb +11 -0
  133. data/lib/tasks/resque.rake +22 -0
  134. data/lib/url_validator.rb +38 -0
  135. data/spec/controllers/supplejack_api/admin/base_controller_spec.rb +55 -0
  136. data/spec/controllers/supplejack_api/admin/site_activities_controller_spec.rb +43 -0
  137. data/spec/controllers/supplejack_api/admin/users_controller_spec.rb +79 -0
  138. data/spec/controllers/supplejack_api/application_controller_spec.rb +133 -0
  139. data/spec/controllers/supplejack_api/concepts_controller_spec.rb +83 -0
  140. data/spec/controllers/supplejack_api/concerns/records_controller_metrics_spec.rb +60 -0
  141. data/spec/controllers/supplejack_api/harvester/concepts_controller_spec.rb +57 -0
  142. data/spec/controllers/supplejack_api/harvester/records_controller_spec.rb +138 -0
  143. data/spec/controllers/supplejack_api/metrics_api_controller_spec.rb +71 -0
  144. data/spec/controllers/supplejack_api/partners_controller_spec.rb +77 -0
  145. data/spec/controllers/supplejack_api/records_controller_spec.rb +143 -0
  146. data/spec/controllers/supplejack_api/set_items_controller_spec.rb +78 -0
  147. data/spec/controllers/supplejack_api/sources_controller_spec.rb +161 -0
  148. data/spec/controllers/supplejack_api/status_controller_spec.rb +120 -0
  149. data/spec/controllers/supplejack_api/user_sets_controller_spec.rb +233 -0
  150. data/spec/controllers/supplejack_api/users_controller_spec.rb +61 -0
  151. data/spec/dummy/README.rdoc +268 -0
  152. data/spec/dummy/Rakefile +7 -0
  153. data/spec/dummy/app/assets/javascripts/application.js +23 -0
  154. data/spec/dummy/app/assets/stylesheets/application.css +22 -0
  155. data/spec/dummy/app/controllers/application_controller.rb +10 -0
  156. data/spec/dummy/app/helpers/application_helper.rb +9 -0
  157. data/spec/dummy/app/supplejack_api/concept_schema.rb +83 -0
  158. data/spec/dummy/app/supplejack_api/record_schema.rb +64 -0
  159. data/spec/dummy/app/supplejack_api/record_schema.txt +66 -0
  160. data/spec/dummy/app/views/layouts/application.html.erb +23 -0
  161. data/spec/dummy/app/workers/supplejack_api/clear_index_buffer.rb +32 -0
  162. data/spec/dummy/app/workers/supplejack_api/flush_old_records_worker.rb +17 -0
  163. data/spec/dummy/app/workers/supplejack_api/index_buffer.rb +49 -0
  164. data/spec/dummy/app/workers/supplejack_api/index_source_worker.rb +39 -0
  165. data/spec/dummy/app/workers/supplejack_api/index_worker.rb +82 -0
  166. data/spec/dummy/app/workers/supplejack_api/store_user_activity_worker.rb +24 -0
  167. data/spec/dummy/config.ru +11 -0
  168. data/spec/dummy/config/application.rb +76 -0
  169. data/spec/dummy/config/application.yml +31 -0
  170. data/spec/dummy/config/application.yml.example +36 -0
  171. data/spec/dummy/config/boot.rb +17 -0
  172. data/spec/dummy/config/environment.rb +12 -0
  173. data/spec/dummy/config/environments/development.rb +42 -0
  174. data/spec/dummy/config/environments/production.rb +76 -0
  175. data/spec/dummy/config/environments/test.rb +46 -0
  176. data/spec/dummy/config/initializers/backtrace_silencers.rb +14 -0
  177. data/spec/dummy/config/initializers/devise.rb +214 -0
  178. data/spec/dummy/config/initializers/inflections.rb +22 -0
  179. data/spec/dummy/config/initializers/kaminari_config.rb +17 -0
  180. data/spec/dummy/config/initializers/mime_types.rb +12 -0
  181. data/spec/dummy/config/initializers/mongoid.rb +9 -0
  182. data/spec/dummy/config/initializers/quiet_logger.rb +23 -0
  183. data/spec/dummy/config/initializers/resque.rb +18 -0
  184. data/spec/dummy/config/initializers/secret_token.rb +14 -0
  185. data/spec/dummy/config/initializers/session_store.rb +15 -0
  186. data/spec/dummy/config/initializers/simple_form.rb +149 -0
  187. data/spec/dummy/config/initializers/simple_form_foundation.rb +33 -0
  188. data/spec/dummy/config/initializers/state_machine.rb +8 -0
  189. data/spec/dummy/config/initializers/sunspot.rb +32 -0
  190. data/spec/dummy/config/initializers/wrap_parameters.rb +17 -0
  191. data/spec/dummy/config/locales/devise.en.yml +63 -0
  192. data/spec/dummy/config/locales/en.yml +66 -0
  193. data/spec/dummy/config/locales/simple_form.en.yml +33 -0
  194. data/spec/dummy/config/mongoid.travis.yml +34 -0
  195. data/spec/dummy/config/mongoid.yml +36 -0
  196. data/spec/dummy/config/resque-pool.yml +18 -0
  197. data/spec/dummy/config/resque_schedule.yml +12 -0
  198. data/spec/dummy/config/routes.rb +11 -0
  199. data/spec/dummy/config/secrets.yml +8 -0
  200. data/spec/dummy/config/sunspot.yml +38 -0
  201. data/spec/dummy/db/concepts.json +37 -0
  202. data/spec/dummy/db/source_authorities.json +116 -0
  203. data/spec/dummy/public/404.html +35 -0
  204. data/spec/dummy/public/422.html +35 -0
  205. data/spec/dummy/public/500.html +34 -0
  206. data/spec/dummy/public/favicon.ico +8 -0
  207. data/spec/dummy/script/rails +6 -0
  208. data/spec/dummy/solr/collection1/conf/elevate.xml +36 -0
  209. data/spec/dummy/solr/collection1/conf/mapping-FoldToASCII.txt +3813 -0
  210. data/spec/dummy/solr/collection1/conf/schema.xml +292 -0
  211. data/spec/dummy/solr/collection1/conf/solrconfig.xml +1780 -0
  212. data/spec/dummy/solr/collection1/conf/spellings.txt +2 -0
  213. data/spec/dummy/solr/collection1/conf/stopwords.txt +58 -0
  214. data/spec/dummy/solr/collection1/conf/synonyms.txt +31 -0
  215. data/spec/factories/concepts.rb +16 -0
  216. data/spec/factories/daily_metrics.rb +10 -0
  217. data/spec/factories/faceted_metrics.rb +25 -0
  218. data/spec/factories/fragment.rb +14 -0
  219. data/spec/factories/partners.rb +14 -0
  220. data/spec/factories/record_interaction.rb +17 -0
  221. data/spec/factories/records.rb +47 -0
  222. data/spec/factories/set_interaction.rb +15 -0
  223. data/spec/factories/source_authorities.rb +19 -0
  224. data/spec/factories/sources.rb +16 -0
  225. data/spec/factories/usage_metrics.rb +20 -0
  226. data/spec/factories/user_activities.rb +14 -0
  227. data/spec/factories/user_sets.rb +27 -0
  228. data/spec/factories/users.rb +23 -0
  229. data/spec/helpers/application_helper_spec.rb +35 -0
  230. data/spec/models/concept_spec.rb +163 -0
  231. data/spec/models/fragment_spec.rb +15 -0
  232. data/spec/models/site_activity_spec.rb +103 -0
  233. data/spec/models/source_activity_spec.rb +56 -0
  234. data/spec/models/source_authority_spec.rb +42 -0
  235. data/spec/models/supplejack_api/api_concept/concept_fragment_spec.rb +189 -0
  236. data/spec/models/supplejack_api/api_record/record_fragment_spec.rb +189 -0
  237. data/spec/models/supplejack_api/concept_spec.rb +0 -0
  238. data/spec/models/supplejack_api/interaction_updaters/all_usage_metric_spec.rb +41 -0
  239. data/spec/models/supplejack_api/interaction_updaters/set_metrics_spec.rb +32 -0
  240. data/spec/models/supplejack_api/interaction_updaters/usage_metrics_spec.rb +44 -0
  241. data/spec/models/supplejack_api/partner_spec.rb +20 -0
  242. data/spec/models/supplejack_api/record_search_spec.rb +429 -0
  243. data/spec/models/supplejack_api/record_spec.rb +280 -0
  244. data/spec/models/supplejack_api/schema_definition_spec.rb +272 -0
  245. data/spec/models/supplejack_api/search_spec.rb +243 -0
  246. data/spec/models/supplejack_api/set_item_spec.rb +123 -0
  247. data/spec/models/supplejack_api/source_spec.rb +22 -0
  248. data/spec/models/supplejack_api/support/fragment_helpers_spec.rb +216 -0
  249. data/spec/models/supplejack_api/support/harvestable_spec.rb +177 -0
  250. data/spec/models/supplejack_api/support/searchable_spec.rb +85 -0
  251. data/spec/models/supplejack_api/support/storable_spec.rb +18 -0
  252. data/spec/models/supplejack_api/user_activity_spec.rb +88 -0
  253. data/spec/models/supplejack_api/user_set_spec.rb +559 -0
  254. data/spec/models/supplejack_api/user_spec.rb +348 -0
  255. data/spec/routing/concepts_routing_spec.rb +22 -0
  256. data/spec/routing/harvester_constraint_spec.rb +66 -0
  257. data/spec/routing/harvester_routing_spec.rb +51 -0
  258. data/spec/routing/partner_routing_spec.rb +34 -0
  259. data/spec/routing/records_routing_spec.rb +26 -0
  260. data/spec/routing/sets_routing_spec.rb +44 -0
  261. data/spec/routing/source_routing_spec.rb +38 -0
  262. data/spec/routing/users_routing_spec.rb +18 -0
  263. data/spec/serializers/concept_record_serializer_spec.rb +30 -0
  264. data/spec/serializers/supplejack_api/application_serializer_spec.rb +14 -0
  265. data/spec/serializers/supplejack_api/concept_search_serializer_spec.rb +34 -0
  266. data/spec/serializers/supplejack_api/concept_serializer_spec.rb +92 -0
  267. data/spec/serializers/supplejack_api/record_search_serializer_spec.rb +34 -0
  268. data/spec/serializers/supplejack_api/record_serializer_spec.rb +271 -0
  269. data/spec/serializers/supplejack_api/search_serializer_spec.rb +90 -0
  270. data/spec/serializers/supplejack_api/user_serializer_spec.rb +22 -0
  271. data/spec/serializers/supplejack_api/user_set_serializer_spec.rb +96 -0
  272. data/spec/services/metrics_api/v3/api_spec.rb +23 -0
  273. data/spec/services/metrics_api/v3/endpoints/facets_spec.rb +25 -0
  274. data/spec/services/metrics_api/v3/endpoints/global_spec.rb +22 -0
  275. data/spec/services/metrics_api/v3/endpoints/root_spec.rb +49 -0
  276. data/spec/services/metrics_api/v3/presenters/extended_metadata_spec.rb +49 -0
  277. data/spec/spec_helper.rb +70 -0
  278. data/spec/support/api/schemas/metrics/daily_metrics_metadata.json +24 -0
  279. data/spec/support/api/schemas/metrics/extended_metrics.json +26 -0
  280. data/spec/support/api/schemas/metrics/extended_response.json +6 -0
  281. data/spec/support/api/schemas/metrics/facets_response.json +6 -0
  282. data/spec/support/api/schemas/metrics/record_metadata.json +33 -0
  283. data/spec/support/api/schemas/metrics/top_level_response.json +6 -0
  284. data/spec/support/api/schemas/metrics/view_metadata.json +33 -0
  285. data/spec/support/api_schema_matcher.rb +14 -0
  286. data/spec/support/devise.rb +10 -0
  287. data/spec/workers/supplejack_api/daily_metrics_worker_spec.rb +140 -0
  288. data/spec/workers/supplejack_api/flush_old_records_worker_spec.rb +20 -0
  289. data/spec/workers/supplejack_api/index_worker_spec.rb +52 -0
  290. data/spec/workers/supplejack_api/source_index_worker_spec.rb +61 -0
  291. metadata +1231 -0
@@ -0,0 +1,33 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ # Use this setup block to configure all options available in SimpleForm.
9
+ SimpleForm.setup do |config|
10
+ # config.wrappers :foundation, :class => :input, :hint_class => :field_with_hint, :error_class => :error do |b|
11
+ # b.use :html5
12
+ # b.use :placeholder
13
+ # b.optional :maxlength
14
+ # b.optional :pattern
15
+ # b.optional :min_max
16
+ # b.optional :readonly
17
+ # b.use :label_input
18
+ # b.use :error, :wrap_with => { :tag => :small }
19
+
20
+ # Uncomment the following line to enable hints. The line is commented out by default since Foundation
21
+ # does't provide styles for hints. You will need to provide your own CSS styles for hints.
22
+ # b.use :hint, :wrap_with => { :tag => :span, :class => :hint }
23
+ # end
24
+
25
+ # CSS class for buttons
26
+ config.button_class = 'button'
27
+
28
+ # CSS class to add for error notification helper.
29
+ config.error_notification_class = 'alert-box alert'
30
+
31
+ # The default wrapper to be used by the FormBuilder.
32
+ # config.default_wrapper = :foundation
33
+ end
@@ -0,0 +1,8 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ StateMachine::Machine.ignore_method_conflicts = true
@@ -0,0 +1,32 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ Sunspot.session = Sunspot::ResqueSessionProxy.new(Sunspot.session) unless Rails.env.test?
9
+
10
+ OriginalDismax = Sunspot::Query::Dismax
11
+
12
+ api_gem_dir = Gem::Specification.find_by_name("supplejack_api").gem_dir
13
+ require "#{api_gem_dir}/lib/sunspot/sunspot_spellcheck"
14
+
15
+ class PatchedDismax < OriginalDismax
16
+
17
+ def to_params
18
+ params = super
19
+ params[:defType] = 'edismax'
20
+ params
21
+ end
22
+
23
+ def to_subquery
24
+ query = super
25
+ query = query.sub '{!dismax', '{!edismax'
26
+ query
27
+ end
28
+
29
+ end
30
+
31
+ Sunspot::Query.send :remove_const, :Dismax
32
+ Sunspot::Query::Dismax = PatchedDismax
@@ -0,0 +1,17 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ # Be sure to restart your server when you modify this file.
9
+ #
10
+ # This file contains settings for ActionController::ParamsWrapper which
11
+ # is enabled by default.
12
+
13
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
14
+ ActiveSupport.on_load(:action_controller) do
15
+ wrap_parameters format: [:json]
16
+ end
17
+
@@ -0,0 +1,63 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ # Additional translations at https://github.com/plataformatec/devise/wiki/I18n
9
+
10
+ en:
11
+ errors:
12
+ messages:
13
+ expired: "has expired, please request a new one"
14
+ not_found: "not found"
15
+ already_confirmed: "was already confirmed, please try signing in"
16
+ not_locked: "was not locked"
17
+ not_saved:
18
+ one: "1 error prohibited this %{resource} from being saved:"
19
+ other: "%{count} errors prohibited this %{resource} from being saved:"
20
+
21
+ devise:
22
+ failure:
23
+ already_authenticated: 'You are already signed in.'
24
+ unauthenticated: 'You need to sign in or sign up before continuing.'
25
+ unconfirmed: 'You have to confirm your account before continuing.'
26
+ locked: 'Your account is locked.'
27
+ invalid: 'Invalid email or password.'
28
+ invalid_token: 'Invalid authentication token.'
29
+ timeout: 'Your session expired, please sign in again to continue.'
30
+ inactive: 'Your account was not activated yet.'
31
+ sessions:
32
+ signed_in: 'Signed in successfully.'
33
+ signed_out: 'Signed out successfully.'
34
+ passwords:
35
+ send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
36
+ updated: 'Your password was changed successfully. You are now signed in.'
37
+ updated_not_active: 'Your password was changed successfully.'
38
+ send_paranoid_instructions: "If your e-mail exists on our database, you will receive a password recovery link on your e-mail"
39
+ confirmations:
40
+ send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
41
+ send_paranoid_instructions: 'If your e-mail exists on our database, you will receive an email with instructions about how to confirm your account in a few minutes.'
42
+ confirmed: 'Your account was successfully confirmed. You are now signed in.'
43
+ registrations:
44
+ signed_up_but_unconfirmed: 'A message with a confirmation link has been sent to your email address. Please open the link to activate your account.'
45
+ signed_up_but_inactive: 'You have signed up successfully. However, we could not sign you in because your account is not yet activated.'
46
+ signed_up_but_locked: 'You have signed up successfully. However, we could not sign you in because your account is locked.'
47
+ signed_up: 'Welcome! You have signed up successfully.'
48
+ updated: 'You updated your account successfully.'
49
+ destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
50
+ unlocks:
51
+ send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
52
+ unlocked: 'Your account was successfully unlocked. You are now signed in.'
53
+ send_paranoid_instructions: 'If your account exists, you will receive an email with instructions about how to unlock it in a few minutes.'
54
+ omniauth_callbacks:
55
+ success: 'Successfully authorized from %{kind} account.'
56
+ failure: 'Could not authorize you from %{kind} because "%{reason}".'
57
+ mailer:
58
+ confirmation_instructions:
59
+ subject: 'Confirmation instructions'
60
+ reset_password_instructions:
61
+ subject: 'Reset password instructions'
62
+ unlock_instructions:
63
+ subject: 'Unlock Instructions'
@@ -0,0 +1,66 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ # Sample localization file for English. Add more files in this directory for other locales.
9
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
10
+
11
+ en:
12
+ users:
13
+ reached_limit: You have reached your maximum number of api requests today
14
+ invalid_token: Invalid API Key
15
+ blank_token: Please provide a API Key
16
+
17
+ title: Users
18
+ username: Username
19
+ name: Name
20
+ authentication_token: API Key
21
+ role: Role
22
+ daily_requests: API requests today
23
+ monthly_requests: API requests last 30 days
24
+
25
+ log_out: Log out
26
+
27
+ edit: Edit
28
+
29
+ site_activities:
30
+ title: Usage by date
31
+
32
+ custom_searches:
33
+ errors:
34
+ uniqueness: is already taken, please choose a different one
35
+
36
+ admin:
37
+ title: Supplejack API
38
+ download_csv: Download as CSV
39
+ not_a_admin: This area is restricted to Administrators
40
+
41
+
42
+ mongoid:
43
+ models:
44
+ user_set: Set
45
+ attributes:
46
+ user_set:
47
+ name: Name
48
+ description: Description
49
+ privacy: Privacy
50
+ errors:
51
+ messages:
52
+ blank: "%{attribute} field can't be blank."
53
+ inclusion: "%{value} is not a valid %{attribute} value"
54
+
55
+ time:
56
+ formats:
57
+ default: "%Y-%m-%d %H:%M:%S %Z"
58
+ harvester: "%Y-%m-%dT%H:%M:%SZ"
59
+ date: "%d %b %Y"
60
+ long: "%d %b %Y at %H"
61
+ medium: "%d %b %Y"
62
+
63
+ date:
64
+ formats:
65
+ default: "%d %b %Y"
66
+
@@ -0,0 +1,33 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ en:
9
+ simple_form:
10
+ "yes": 'Yes'
11
+ "no": 'No'
12
+ required:
13
+ text: 'required'
14
+ mark: '*'
15
+ # You can uncomment the line below if you need to overwrite the whole required html.
16
+ # When using html, text and mark won't be used.
17
+ # html: '<abbr title="required">*</abbr>'
18
+ error_notification:
19
+ default_message: "Please review the problems below:"
20
+ # Labels and hints examples
21
+ # labels:
22
+ # defaults:
23
+ # password: 'Password'
24
+ # user:
25
+ # new:
26
+ # email: 'E-mail to sign in.'
27
+ # edit:
28
+ # email: 'E-mail.'
29
+ # hints:
30
+ # defaults:
31
+ # username: 'User name to sign in.'
32
+ # password: 'No special characters, please.'
33
+
@@ -0,0 +1,34 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ development:
9
+ sessions:
10
+ default:
11
+ database: supplejack_api_development
12
+ hosts:
13
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
14
+
15
+ strong:
16
+ database: supplejack_api_development
17
+ hosts:
18
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
19
+
20
+ test:
21
+ sessions:
22
+ default:
23
+ database: supplejack_api_test
24
+ hosts:
25
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
26
+ options:
27
+ read: :nearest
28
+
29
+ strong:
30
+ database: supplejack_api_test
31
+ hosts:
32
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
33
+ options:
34
+ read: :nearest
@@ -0,0 +1,36 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ development:
9
+ sessions:
10
+ default:
11
+ database: supplejack_api_development
12
+ hosts:
13
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
14
+
15
+ strong:
16
+ database: supplejack_api_development
17
+ hosts:
18
+ <%= ENV['MONGOID_HOSTS'].gsub(/\s+/, "").split(',') %>
19
+
20
+ test:
21
+ sessions:
22
+ default:
23
+ database: supplejack_api_test
24
+ hosts:
25
+ - 127.0.0.1:27017
26
+ - db:27017
27
+ options:
28
+ read: :nearest
29
+
30
+ strong:
31
+ database: supplejack_api_test
32
+ hosts:
33
+ - 127.0.0.1:27017
34
+ - db:27017
35
+ options:
36
+ read: :nearest
@@ -0,0 +1,18 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ development:
9
+ solr_index: 1
10
+ 'user_activity,flush_records': 1
11
+
12
+ staging:
13
+ solr_index: 6
14
+ 'user_activity,flush_records,index_source': 1
15
+ 'flush_records,index_source': 1
16
+
17
+ production:
18
+ solr_index: 1
@@ -0,0 +1,12 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ clear_index_buffer:
9
+ every: 5m
10
+ class: 'SupplejackApi::ClearIndexBuffer'
11
+ queue: solr_index
12
+ description: "This job will clear and index/remove any records ids that remain in Redis"
@@ -0,0 +1,11 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ Rails.application.routes.draw do
9
+
10
+ mount SupplejackApi::Engine => '/', as: 'supplejack_api'
11
+ end
@@ -0,0 +1,8 @@
1
+ development:
2
+ secret_key_base: 8268d031019fab531a6add61fb35aaf06b68ebf89f1f367123189d1c243d409b668c3cb979574247697f6ea22fe7992a424375ae9a23fae8e90ab313d3ee8973
3
+
4
+ test:
5
+ secret_key_base: 2d8aca8e0365be4af8f16c4edc6ae1d8ec8ba709c952158b9613723d37026cd2671a624a0c014cd247e2848dfc95cd99ca07937ebda0947f9206be54c929398a
6
+
7
+ production:
8
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1,38 @@
1
+ # The majority of the Supplejack API code is Crown copyright (C) 2014, New Zealand Government,
2
+ # and is licensed under the GNU General Public License, version 3.
3
+ # One component is a third party component. See https://github.com/DigitalNZ/supplejack_api for details.
4
+ #
5
+ # Supplejack was created by DigitalNZ at the National Library of NZ and
6
+ # the Department of Internal Affairs. http://digitalnz.org/supplejack
7
+
8
+ development:
9
+ solr:
10
+ hostname: localhost
11
+ port: 8982
12
+ path: /solr
13
+ log_level: INFO
14
+
15
+ test:
16
+ solr:
17
+ hostname: solr
18
+ port: 8983
19
+ path: /solr
20
+ log_level: DEBUG
21
+ solr_home: solr
22
+
23
+ # production:
24
+ # solr:
25
+ # hostname: localhost
26
+ # port: 8983
27
+ # log_level: WARNING
28
+ # # read_timeout: 2solr
29
+ # # open_timeout: 0.5
30
+
31
+ # staging:
32
+ # solr:
33
+ # hostname: localhost
34
+ # port: 8080
35
+ # path: '/solr4'
36
+ # log_level: WARNING
37
+ # pid_dir: '/var/run/tomcat'
38
+ # auto_commit_after_request: false
@@ -0,0 +1,37 @@
1
+ [
2
+ {
3
+ "@context":"http://digitalnz.org/schema",
4
+ "@id":"http://dnz0a.digitalnz.org/concepts/1",
5
+ "@type":"edm:Agent",
6
+ "concept_id":1,
7
+ "name":"Colin McCahon",
8
+ "prefLabel":"Colin McCahon",
9
+ "altLabel":[],
10
+ "dateOfBirth":"1919-08-01",
11
+ "dateOfDeath":"1987-05-27",
12
+ "biographicalInformation":"Colin John McCahon was a prominent artist in New Zealand. Along with Toss Woollaston and Rita Angus, he is credited for introducing modernism to New Zealand art in the early twentieth century.",
13
+ "sameAs":[
14
+ "http://en.wikipedia.org/wiki/Colin_McCahon",
15
+ "http://collections.tepapa.govt.nz/Person/1502"
16
+ ],
17
+ "source_authorities":[]
18
+ },
19
+ {
20
+ "@context":"http://digitalnz.org/schema",
21
+ "@id":"http://dnz0a.digitalnz.org/concepts/2",
22
+ "@type":"edm:Agent",
23
+ "concept_id":2,
24
+ "name":"Rita Angus",
25
+ "prefLabel":"Rita Angus",
26
+ "altLabel":[],
27
+ "dateOfBirth":"1908-03-12",
28
+ "dateOfDeath":"1970-01-25",
29
+ "biographicalInformation":"Rita Angus (12 March 1908 – 25 January 1970), known as Rita McKenzie after 1941, was a New Zealand painter. Along with Colin McCahon and Toss Woollaston, she is credited as one of the leading figures in twentieth century New Zealand art.",
30
+ "sameAs":[
31
+ "http://en.wikipedia.org/wiki/Rita_Angus",
32
+ "http://collections.tepapa.govt.nz/Person/74",
33
+ "http://www.aucklandartgallery.com/the-collection/browse-artists/461"
34
+ ],
35
+ "source_authorities":[]
36
+ }
37
+ ]