publish_my_data 0.0.32 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. data/app/assets/images/publish_my_data/small-spinner.gif +0 -0
  2. data/app/assets/images/publish_my_data/sort-asc.gif +0 -0
  3. data/app/assets/images/publish_my_data/sort-desc.gif +0 -0
  4. data/app/assets/javascripts/bootstrap/affix.js +126 -0
  5. data/app/assets/javascripts/bootstrap/alert.js +98 -0
  6. data/app/assets/javascripts/bootstrap/button.js +109 -0
  7. data/app/assets/javascripts/bootstrap/carousel.js +217 -0
  8. data/app/assets/javascripts/bootstrap/collapse.js +179 -0
  9. data/app/assets/javascripts/bootstrap/dropdown.js +154 -0
  10. data/app/assets/javascripts/bootstrap/modal.js +246 -0
  11. data/app/assets/javascripts/bootstrap/popover.js +117 -0
  12. data/app/assets/javascripts/bootstrap/scrollspy.js +158 -0
  13. data/app/assets/javascripts/bootstrap/tab.js +135 -0
  14. data/app/assets/javascripts/bootstrap/tooltip.js +386 -0
  15. data/app/assets/javascripts/bootstrap/transition.js +56 -0
  16. data/app/assets/javascripts/publish_my_data/grid/10_data-loader.js +142 -0
  17. data/app/assets/javascripts/publish_my_data/grid/20_cube-grid.js +512 -0
  18. data/app/assets/javascripts/publish_my_data/grid/30_cube-dimension.js +77 -0
  19. data/app/assets/javascripts/publish_my_data/grid/40_cube-dimension-dropdown.js +87 -0
  20. data/app/assets/javascripts/publish_my_data/grid/45_cube-dimension-label.js +58 -0
  21. data/app/assets/javascripts/publish_my_data/grid/50_cube-dimensions-controls.js +336 -0
  22. data/app/assets/javascripts/publish_my_data/grid/60_dataset_cube_grid.js +187 -0
  23. data/app/assets/javascripts/publish_my_data/grid/70_sparql_results_grid.js +135 -0
  24. data/app/assets/javascripts/publish_my_data/select_text.js +27 -0
  25. data/app/assets/javascripts/publish_my_data.js +3 -0
  26. data/app/assets/javascripts/slick_grid/10_event-drag.js +402 -0
  27. data/app/assets/javascripts/slick_grid/20_slick-core.js +458 -0
  28. data/app/assets/javascripts/slick_grid/30_slick-grid.js +3295 -0
  29. data/app/assets/stylesheets/bootstrap/_alerts.scss +67 -0
  30. data/app/assets/stylesheets/bootstrap/_badges.scss +51 -0
  31. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +23 -0
  32. data/app/assets/stylesheets/bootstrap/_button-groups.scss +248 -0
  33. data/app/assets/stylesheets/bootstrap/_buttons.scss +160 -0
  34. data/app/assets/stylesheets/bootstrap/_carousel.scss +209 -0
  35. data/app/assets/stylesheets/bootstrap/_close.scss +33 -0
  36. data/app/assets/stylesheets/bootstrap/_code.scss +56 -0
  37. data/app/assets/stylesheets/bootstrap/_component-animations.scss +29 -0
  38. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +194 -0
  39. data/app/assets/stylesheets/bootstrap/_forms.scss +350 -0
  40. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +232 -0
  41. data/app/assets/stylesheets/bootstrap/_grid.scss +346 -0
  42. data/app/assets/stylesheets/bootstrap/_input-groups.scss +127 -0
  43. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +40 -0
  44. data/app/assets/stylesheets/bootstrap/_labels.scss +58 -0
  45. data/app/assets/stylesheets/bootstrap/_list-group.scss +88 -0
  46. data/app/assets/stylesheets/bootstrap/_media.scss +56 -0
  47. data/app/assets/stylesheets/bootstrap/_mixins.scss +728 -0
  48. data/app/assets/stylesheets/bootstrap/_modals.scss +145 -0
  49. data/app/assets/stylesheets/bootstrap/_navbar.scss +625 -0
  50. data/app/assets/stylesheets/bootstrap/_navs.scss +229 -0
  51. data/app/assets/stylesheets/bootstrap/_normalize.scss +396 -0
  52. data/app/assets/stylesheets/bootstrap/_pager.scss +55 -0
  53. data/app/assets/stylesheets/bootstrap/_pagination.scss +83 -0
  54. data/app/assets/stylesheets/bootstrap/_panels.scss +148 -0
  55. data/app/assets/stylesheets/bootstrap/_popovers.scss +133 -0
  56. data/app/assets/stylesheets/bootstrap/_print.scss +100 -0
  57. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +95 -0
  58. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +209 -0
  59. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +130 -0
  60. data/app/assets/stylesheets/bootstrap/_tables.scss +236 -0
  61. data/app/assets/stylesheets/bootstrap/_theme.scss +232 -0
  62. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +31 -0
  63. data/app/assets/stylesheets/bootstrap/_tooltip.scss +95 -0
  64. data/app/assets/stylesheets/bootstrap/_type.scss +238 -0
  65. data/app/assets/stylesheets/bootstrap/_utilities.scss +42 -0
  66. data/app/assets/stylesheets/bootstrap/_variables.scss +620 -0
  67. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  68. data/app/assets/stylesheets/bootstrap/bootstrap.scss +59 -0
  69. data/app/assets/stylesheets/publish_my_data/core.scss +244 -0
  70. data/app/assets/stylesheets/publish_my_data/data_grid.scss +103 -0
  71. data/app/assets/stylesheets/publish_my_data/variables.scss +1 -0
  72. data/app/assets/stylesheets/{publish_my_data.css → publish_my_data.scss} +13 -2
  73. data/app/assets/stylesheets/slick_grid/slick_grid.scss +155 -0
  74. data/app/assets/stylesheets/slick_grid/slick_grid_default_theme.scss +97 -0
  75. data/app/controllers/concerns/publish_my_data/data_cube.rb +42 -0
  76. data/app/controllers/publish_my_data/data_cube/dimensions_controller.rb +58 -0
  77. data/app/controllers/publish_my_data/data_cube/observations_controller.rb +54 -0
  78. data/app/controllers/publish_my_data/datasets_controller.rb +0 -11
  79. data/app/controllers/publish_my_data/example_resources_controller.rb +11 -0
  80. data/app/controllers/publish_my_data/home_controller.rb +4 -0
  81. data/app/controllers/publish_my_data/information_resources_controller.rb +0 -13
  82. data/app/helpers/publish_my_data/application_helper.rb +66 -0
  83. data/app/helpers/publish_my_data/crumb_helper.rb +61 -0
  84. data/app/helpers/publish_my_data/datasets_helper.rb +31 -0
  85. data/app/helpers/publish_my_data/resources_helper.rb +24 -0
  86. data/app/models/concerns/publish_my_data/cube_results.rb +51 -0
  87. data/app/models/concerns/publish_my_data/dataset_powers.rb +13 -0
  88. data/app/models/publish_my_data/data_cube/cube.rb +358 -0
  89. data/app/models/publish_my_data/data_cube/dimension.rb +58 -0
  90. data/app/models/publish_my_data/vocabulary.rb +0 -4
  91. data/app/views/layouts/publish_my_data/application.html.haml +18 -0
  92. data/app/views/layouts/publish_my_data/error.html.haml +21 -0
  93. data/app/views/publish_my_data/classes/show.html.haml +28 -0
  94. data/app/views/publish_my_data/concept_schemes/show.html.haml +79 -0
  95. data/app/views/publish_my_data/concepts/show.html.haml +28 -0
  96. data/app/views/publish_my_data/data_cube/_controls.html.haml +19 -0
  97. data/app/views/publish_my_data/data_cube/_grid.html.haml +37 -0
  98. data/app/views/publish_my_data/datasets/_example_resources.html.haml +47 -0
  99. data/app/views/publish_my_data/datasets/_types_table.html.erb +33 -0
  100. data/app/views/publish_my_data/datasets/index.html.haml +32 -0
  101. data/app/views/publish_my_data/datasets/show.html.haml +186 -0
  102. data/app/views/publish_my_data/errors/not_found.html.haml +18 -0
  103. data/app/views/publish_my_data/errors/response_too_large.html.haml +16 -0
  104. data/app/views/publish_my_data/errors/timeout.html.haml +16 -0
  105. data/app/views/publish_my_data/errors/uncaught.html.haml +16 -0
  106. data/app/views/publish_my_data/example_resources/index.js.erb +1 -0
  107. data/app/views/publish_my_data/home/accessibility.html.haml +1 -0
  108. data/app/views/publish_my_data/home/docs.html.haml +1 -0
  109. data/app/views/publish_my_data/home/home.html.haml +5 -0
  110. data/app/views/publish_my_data/home/privacy.html.haml +1 -0
  111. data/app/views/publish_my_data/ontologies/show.html.haml +100 -0
  112. data/app/views/publish_my_data/properties/show.html.haml +28 -0
  113. data/app/views/publish_my_data/resources/_resource_data.html.haml +16 -0
  114. data/app/views/publish_my_data/resources/_sparql_section.html.haml +22 -0
  115. data/app/views/publish_my_data/resources/index.html.haml +37 -0
  116. data/app/views/publish_my_data/resources/show.html.haml +36 -0
  117. data/app/views/publish_my_data/shared/_browser_warning.html.haml +4 -0
  118. data/app/views/publish_my_data/shared/_deprecation_notice.html.haml +8 -0
  119. data/app/views/publish_my_data/shared/_footer.html.haml +11 -0
  120. data/app/views/publish_my_data/shared/_google_analytics.html.haml +11 -0
  121. data/app/views/publish_my_data/shared/_logo.html.haml +1 -0
  122. data/app/views/publish_my_data/shared/_meta_title.html.haml +2 -0
  123. data/app/views/publish_my_data/sparql/_form.html.haml +28 -0
  124. data/app/views/publish_my_data/sparql/_formats_dropdown.html.haml +11 -0
  125. data/app/views/publish_my_data/sparql/endpoint.html.haml +125 -0
  126. data/app/views/publish_my_data/sparql/formats_dropdowns/_ask.html.haml +7 -0
  127. data/app/views/publish_my_data/sparql/formats_dropdowns/_construct.html.haml +7 -0
  128. data/app/views/publish_my_data/sparql/formats_dropdowns/_describe.html.haml +1 -0
  129. data/app/views/publish_my_data/sparql/formats_dropdowns/_select.html.haml +9 -0
  130. data/app/views/publish_my_data/themes/index.html.haml +30 -0
  131. data/app/views/publish_my_data/themes/show.html.haml +43 -0
  132. data/config/routes.rb +20 -5
  133. data/lib/publish_my_data/version.rb +1 -1
  134. data/lib/publish_my_data.rb +7 -12
  135. data/spec/controllers/publish_my_data/datasets_controller_spec.rb +0 -75
  136. data/spec/controllers/publish_my_data/information_resources_controller_spec.rb +2 -11
  137. data/spec/dummy/config/environments/development.rb +0 -4
  138. data/spec/dummy/config/environments/test.rb +0 -4
  139. data/spec/dummy/log/test.log +62962 -0
  140. data/spec/dummy/tmp/cache/sass/e509ccd4d793d2c162d70125e9f3656b6c28f357/(__TEMPLATE__)c +0 -0
  141. data/spec/features/running_a_sparql_query_spec.rb +1 -1
  142. data/spec/features/uri_dereferencing_spec.rb +1 -1
  143. metadata +200 -58
  144. data/app/controllers/concerns/publish_my_data/data_download.rb +0 -22
  145. data/app/controllers/publish_my_data/vocabularies_controller.rb +0 -18
  146. data/app/views/layouts/publish_my_data/application.html.erb +0 -13
  147. data/app/views/layouts/publish_my_data/error.html.erb +0 -13
  148. data/app/views/publish_my_data/classes/show.html.erb +0 -3
  149. data/app/views/publish_my_data/concept_schemes/_concepts.html.erb +0 -18
  150. data/app/views/publish_my_data/concept_schemes/show.html.erb +0 -11
  151. data/app/views/publish_my_data/concepts/show.html.erb +0 -3
  152. data/app/views/publish_my_data/datasets/index.html.erb +0 -20
  153. data/app/views/publish_my_data/datasets/show.html.erb +0 -18
  154. data/app/views/publish_my_data/errors/not_found.html.erb +0 -1
  155. data/app/views/publish_my_data/errors/response_too_large.html.erb +0 -1
  156. data/app/views/publish_my_data/errors/timeout.html.erb +0 -1
  157. data/app/views/publish_my_data/errors/uncaught.html.erb +0 -6
  158. data/app/views/publish_my_data/ontologies/show.html.erb +0 -17
  159. data/app/views/publish_my_data/properties/show.html.erb +0 -3
  160. data/app/views/publish_my_data/resources/_predicates_table.html.erb +0 -30
  161. data/app/views/publish_my_data/resources/_predicates_table_head.html.erb +0 -6
  162. data/app/views/publish_my_data/resources/_resource_formats.html.erb +0 -4
  163. data/app/views/publish_my_data/resources/_summaries.html.erb +0 -18
  164. data/app/views/publish_my_data/resources/_uri_and_label.html.erb +0 -3
  165. data/app/views/publish_my_data/resources/index.html.erb +0 -40
  166. data/app/views/publish_my_data/resources/show.html.erb +0 -3
  167. data/app/views/publish_my_data/sparql/_ask_formats.html.erb +0 -3
  168. data/app/views/publish_my_data/sparql/_construct_formats.html.erb +0 -3
  169. data/app/views/publish_my_data/sparql/_describe_formats.html.erb +0 -1
  170. data/app/views/publish_my_data/sparql/_error_message.html.erb +0 -3
  171. data/app/views/publish_my_data/sparql/_form.html.erb +0 -4
  172. data/app/views/publish_my_data/sparql/_formats.html.erb +0 -6
  173. data/app/views/publish_my_data/sparql/_pagination.html.erb +0 -6
  174. data/app/views/publish_my_data/sparql/_results.html.erb +0 -5
  175. data/app/views/publish_my_data/sparql/_results_data.html.erb +0 -4
  176. data/app/views/publish_my_data/sparql/_select_formats.html.erb +0 -3
  177. data/app/views/publish_my_data/sparql/endpoint.html.erb +0 -10
  178. data/app/views/publish_my_data/themes/index.html.erb +0 -13
  179. data/app/views/publish_my_data/themes/show.html.erb +0 -15
  180. data/config/initializers/20_s3_setup.rb +0 -4
  181. data/spec/controllers/publish_my_data/vocabularies_controller_spec.rb +0 -14
  182. data/spec/support/data_download.rb +0 -60
@@ -1,30 +0,0 @@
1
- <table>
2
- <thead>
3
- <% if defined?(show_title) && show_title %>
4
- <tr>
5
- <td colspan="2">
6
- <%= resource.label %><br/>
7
- <%= resource.uri %>
8
- </td>
9
- </tr>
10
- <% end %>
11
- <tr>
12
- <th>Predicate</th>
13
- <th>Object</th>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <% resource.predicates.each do |pred| %>
18
- <tr>
19
- <td>
20
- <%= resource_uri_or_label(resource, pred) %>
21
- </td>
22
- <td>
23
- <% resource.read_predicate(pred).each do |obj| %>
24
- <%= resource_uri_or_label(resource, obj) %>
25
- <% end %>
26
- </td>
27
- </tr>
28
- <% end %>
29
- </tbody>
30
- </table>
@@ -1,6 +0,0 @@
1
- <thead>
2
- <tr>
3
- <th>Predicate</th>
4
- <th>Object</th>
5
- </tr>
6
- </thead>
@@ -1,4 +0,0 @@
1
- <%= link_to "JSON", show_resource_path(:uri => resource.uri, :format => 'json') %>
2
- <%= link_to "RDF/XML", show_resource_path(:uri => resource.uri, :format => 'rdf') %>
3
- <%= link_to "Turtle", show_resource_path(:uri => resource.uri, :format => 'ttl') %>
4
- <%= link_to "N-triples", show_resource_path(:uri => resource.uri, :format => 'nt') %>
@@ -1,18 +0,0 @@
1
- <table class="resources-summary">
2
- <thead>
3
- <tr><th><%= pluralize resources.length, 'resource' %></th></tr>
4
- </thead>
5
- <tbody>
6
- <% resources.each do |r| %>
7
- <tr>
8
- <td class="details hardwrap">
9
- <hgroup>
10
- <h3><%= resource_uri_or_label(r, r.uri) %></h3>
11
- <h4 class="click-to-select"><%= r.uri %></h4>
12
- </hgroup>
13
- <section><%= r.comment %></section>
14
- </td>
15
- </tr>
16
- <% end %>
17
- </tbody>
18
- </table>
@@ -1,3 +0,0 @@
1
- URI: <%= resource.uri %>
2
- <br/>
3
- Label: <%= resource.label.present? ? resource.label : "No Label Set" %>
@@ -1,40 +0,0 @@
1
- <h1>Resources</h1>
2
-
3
- <!-- Filter info -->
4
-
5
- <% if @type_filter %>
6
- Of type:
7
- <% if @type %>
8
- <%= link_to @type.label || @type.uri, resource_path_from_uri(@type.uri) %>
9
- <% else %>
10
- <%= link_to @type_filter, resource_path_from_uri(@type_filter) %>
11
- <% end %>
12
- <br/>
13
- <% end %>
14
-
15
- <% if @dataset_filter %>
16
- In dataset:
17
- <% if @dataset %>
18
- <%= link_to @dataset.title, @dataset %>
19
- <% else %>
20
- <%= link_to @dataset_filter, resource_path_from_uri(@dataset_filter) %>
21
- <% end %>
22
- <br/>
23
- <% end %>
24
-
25
- <br/>
26
-
27
- <% @resources.each do |r| %>
28
- <%= link_to (r.label || r.uri), resource_path_from_uri(r.uri) %><br/>
29
- <% end %>
30
-
31
- <%= paginate @resources %>
32
-
33
- <br/>
34
-
35
- <% other_params = {:per_page => @pagination_params.per_page, :page => @pagination_params.page, :dataset => @dataset_filter, :type_uri => @type_filter} %>
36
- Get this list as:
37
- <%= link_to('N-triples', {:format => 'nt'}.merge(other_params)) %>
38
- <%= link_to("Turtle", {:format => 'ttl'}.merge(other_params)) %>
39
- <%= link_to("RDF/XML", {:format => 'rdf'}.merge(other_params)) %>
40
- <%= link_to("JSON", {:format => 'json'}.merge(other_params)) %>
@@ -1,3 +0,0 @@
1
- <%= render 'publish_my_data/resources/uri_and_label', resource: resource %>
2
- <%= render 'publish_my_data/resources/predicates_table', resource: resource %>
3
- <%= render 'publish_my_data/resources/resource_formats', resource: resource %>
@@ -1,3 +0,0 @@
1
- <% Hash[*%w( JSON json XML xml Text text )].each_pair do |text, format| %>
2
- <%= link_to_sparql_results_format( text, format, @sparql_query.query ) %>
3
- <% end %>
@@ -1,3 +0,0 @@
1
- <% Hash[*%w( N-triples nt Turtle ttl RDF/XML rdf )].each_pair do |text, format| %>
2
- <%= link_to_sparql_results_format( text, format, @sparql_query.query ) %>
3
- <% end %>
@@ -1 +0,0 @@
1
- <%= render 'construct_formats' %>
@@ -1,3 +0,0 @@
1
- <div>
2
- <%= error_message %>
3
- </div>
@@ -1,4 +0,0 @@
1
- <%= form_tag sparql_endpoint_path, :method => :get do %>
2
- <%= text_area_tag :query, @query_text %>
3
- <%= submit_tag "Run Query" %>
4
- <% end %>
@@ -1,6 +0,0 @@
1
- <%# formats %>
2
- <% unless @error_message || @sparql_query.query_type == :unknown %>
3
- <div>
4
- <%= render "publish_my_data/sparql/#{@sparql_query.query_type.to_s}_formats" %>
5
- </div>
6
- <% end %>
@@ -1,6 +0,0 @@
1
- <nav class="pagination clearfix">
2
- <% #only show prev link if there's a previous page %>
3
- <%= link_to("Previous #{@pagination_params.per_page} results".html_safe, params.merge({:page => (@pagination_params.page-1)})) if @pagination_params.page > 1 %>
4
- <% #only show the next page if the results for this page is bigger than the page size %>
5
- <%= link_to("Next #{@pagination_params.per_page} results".html_safe, params.merge({:page => (@pagination_params.page+1)}), :style => 'float:right' ) if @more_pages%>
6
- </nav>
@@ -1,5 +0,0 @@
1
- <% if @error_message %>
2
- <%= render 'publish_my_data/sparql/error_message', :error_message => @error_message %>
3
- <% else %>
4
- <%= render 'publish_my_data/sparql/results_data' %>
5
- <% end %>
@@ -1,4 +0,0 @@
1
- <pre><code><%= @sparql_query_result.to_s %></code></pre>
2
- <% if @sparql_query.allow_pagination? %>
3
- <%= render "publish_my_data/sparql/pagination" %>
4
- <% end %>
@@ -1,3 +0,0 @@
1
- <% Hash[*%w( XML xml JSON json CSV csv Text text )].each_pair do |text, format| %>
2
- <%= link_to_sparql_results_format( text, format, @sparql_query.query ) %>
3
- <% end %>
@@ -1,10 +0,0 @@
1
- Execute a SPARQL query
2
-
3
- <%# form %>
4
- <%= render 'publish_my_data/sparql/form' %>
5
-
6
- <% if @sparql_query %>
7
- <%= render 'publish_my_data/sparql/results' %>
8
- <%= render 'publish_my_data/sparql/formats' %>
9
- <% end %>
10
-
@@ -1,13 +0,0 @@
1
- <h1>Themes</h1>
2
-
3
- <% @themes.each do |t| %>
4
- <%= link_to (t.label || t.uri), theme_path(t) %> (<%= pluralize( t.datasets_count, "dataset" )%>)
5
- <%= t.comment %>
6
- <% end %>
7
-
8
- <br/><br/>
9
- Get this list as:
10
- <%= link_to 'N-triples', :format => 'nt' %>
11
- <%= link_to 'Turtle', :format => 'ttl' %>
12
- <%= link_to 'RDF/XML', :format => 'rdf' %>
13
- <%= link_to 'JSON', :format => 'json' %>
@@ -1,15 +0,0 @@
1
- <h1>Theme: <%= @theme.label %></h1>
2
-
3
- <p><%= @theme.comment %></p>
4
-
5
- Datasets in this theme: <br/>
6
- <% @datasets.each do |d| %>
7
- <%= link_to d.title, d %> <br/>
8
- <% end %>
9
- <br/>
10
- <%= paginate @datasets %>
11
- Get this list of datasets as:
12
- <%= link_to 'N-triples', :format => 'nt', :page => @pagination_params.page, :per_page => @pagination_params.per_page %>
13
- <%= link_to 'Turtle', :format => 'ttl', :page => @pagination_params.page, :per_page => @pagination_params.per_page %>
14
- <%= link_to 'RDF/XML', :format => 'rdf',:page => @pagination_params.page, :per_page => @pagination_params.per_page %>
15
- <%= link_to 'JSON', :format => 'json', :page => @pagination_params.page, :per_page => @pagination_params.per_page %>
@@ -1,4 +0,0 @@
1
- AWS.config(
2
- :access_key_id => PublishMyData.aws_access_key_id,
3
- :secret_access_key => PublishMyData.aws_secret_access_key,
4
- :s3_endpoint => PublishMyData.aws_default_host)
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module PublishMyData
4
- describe VocabulariesController do
5
- it_should_behave_like 'a controller with a dump action' do
6
- let(:resource) do
7
- ont = FactoryGirl.create(:external_ontology)
8
- Vocabulary.find(ont.uri)
9
- end
10
-
11
- before { Vocabulary.stub(:find_by_data_dump).and_return(resource) }
12
- end
13
- end
14
- end
@@ -1,60 +0,0 @@
1
- shared_examples 'a controller with a dump action' do
2
- describe "#dump" do
3
-
4
- before do
5
- s3 = AWS::S3.new
6
- bucket = s3.buckets[PublishMyData.downloads_s3_bucket]
7
- bucket.clear! # wipe the bucket
8
- end
9
-
10
- context "where the given slug exists" do
11
- context "when a download exists on s3" do
12
- before do
13
- # make some downloads.
14
- s3 = AWS::S3.new
15
- bucket = s3.buckets[PublishMyData.downloads_s3_bucket]
16
- @object = bucket.objects.create(resource.download_prefix, 'data')
17
- @object.acl = :public_read
18
- end
19
-
20
- it "should redirect to the latest download that exists for the resource" do
21
- get :dump, :id => resource.slug, :use_route => :publish_my_data
22
- response.should be_redirect
23
- response.should redirect_to(@object.public_url.to_s)
24
- end
25
- end
26
-
27
- context "when a download exists on s3 for a previous day" do
28
- before do
29
- # make some downloads.
30
- s3 = AWS::S3.new
31
- bucket = s3.buckets[PublishMyData.downloads_s3_bucket]
32
-
33
- resource.modified = resource.modified - 1.day # temp. set the modified date so a new backup prefix is generated
34
- @object = bucket.objects.create(resource.download_prefix, 'data')
35
- resource.modified = resource.modified + 1.day # and now set it back again!
36
- @object.acl = :public_read
37
- end
38
-
39
- it "should 404" do
40
- get :dump, :id => resource.slug, :use_route => :publish_my_data
41
- response.should be_not_found
42
- end
43
- end
44
-
45
- context "when a download doesn't exist on s3" do
46
- it "should 404" do
47
- get :dump, :id => resource.slug, :use_route => :publish_my_data
48
- response.should be_not_found
49
- end
50
- end
51
- end
52
-
53
- context "when a resource with that slug doesn't exist" do
54
- it "should 404" do
55
- get :dump, :id => "i-dont-exist", :use_route => :publish_my_data
56
- response.should be_not_found
57
- end
58
- end
59
- end
60
- end