supplejack_api 1

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 (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
+ ]