iqvoc 4.0.8 → 4.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. data/CHANGELOG.md +11 -0
  2. data/Gemfile +5 -1
  3. data/Gemfile.lock +35 -18
  4. data/README.md +3 -2
  5. data/app/assets/stylesheets/iqvoc/components.css.scss +0 -6
  6. data/app/controllers/collections_controller.rb +30 -17
  7. data/app/controllers/concepts/alphabetical_controller.rb +15 -9
  8. data/app/{models/collection/member/concept.rb → controllers/concepts/expired_controller.rb} +13 -15
  9. data/app/controllers/concepts/hierarchical_controller.rb +3 -0
  10. data/app/controllers/concepts_controller.rb +2 -3
  11. data/app/controllers/instance_configuration_controller.rb +5 -6
  12. data/app/controllers/search_results_controller.rb +1 -2
  13. data/app/helpers/application_helper.rb +1 -5
  14. data/app/helpers/concepts_helper.rb +1 -1
  15. data/app/helpers/rdf_helper.rb +1 -1
  16. data/app/helpers/widget_helper.rb +3 -3
  17. data/app/models/collection/base.rb +64 -46
  18. data/app/models/collection/member/base.rb +12 -0
  19. data/app/models/collection/member/skos/base.rb +13 -12
  20. data/app/models/collection/skos/base.rb +1 -1
  21. data/app/models/collection/{member/collection.rb → skos/unordered.rb} +1 -16
  22. data/app/models/collection/unordered.rb +7 -0
  23. data/app/models/concept/base.rb +26 -107
  24. data/app/models/concept/relation/base.rb +4 -0
  25. data/app/models/concept/relation/skos/base.rb +17 -7
  26. data/app/models/concept/skos/base.rb +10 -1
  27. data/app/models/concept/skos/scheme.rb +1 -1
  28. data/app/models/concept/validations.rb +117 -0
  29. data/app/models/label/base.rb +4 -3
  30. data/app/models/labeling/skos/base.rb +24 -13
  31. data/app/models/match/skos/base.rb +24 -5
  32. data/app/models/note/skos/base.rb +17 -14
  33. data/app/views/collections/_form.html.erb +2 -2
  34. data/app/views/collections/_header.html.erb +2 -2
  35. data/app/views/collections/_sidebar.html.erb +3 -3
  36. data/app/views/collections/index.html.erb +1 -1
  37. data/app/views/collections/show.html.erb +1 -1
  38. data/app/views/collections/show.iqrdf +1 -1
  39. data/app/views/concepts/alphabetical/index.html.erb +1 -1
  40. data/app/views/concepts/expired/index.html.erb +16 -0
  41. data/app/views/concepts/notifications/_referenced_concepts.html.erb +1 -1
  42. data/app/views/concepts/sidebars/_plural.html.erb +4 -0
  43. data/app/views/dashboard/index.html.erb +1 -1
  44. data/app/views/layouts/_controls.html.erb +25 -24
  45. data/app/views/layouts/_navigation.html.erb +1 -1
  46. data/app/views/layouts/application.html.erb +0 -6
  47. data/app/views/partials/concept/_edit_link_base.html.erb +2 -1
  48. data/app/views/partials/labeling/skos/_base.html.erb +1 -2
  49. data/app/views/partials/note/_edit_base.html.erb +1 -1
  50. data/app/views/partials/note/skos/_edit_change_note.html.erb +1 -1
  51. data/app/views/rdf/scheme.iqrdf +1 -1
  52. data/app/views/search_results/_header.html.erb +2 -2
  53. data/app/views/search_results/_sidebar.html.erb +2 -2
  54. data/app/views/search_results/index.html.erb +1 -1
  55. data/app/views/triplestore_sync/index.html.erb +2 -2
  56. data/config/locales/de.yml +9 -2
  57. data/config/locales/en.yml +11 -4
  58. data/config/locales/pt.yml +8 -3
  59. data/config/routes.rb +15 -6
  60. data/db/migrate/20130227145825_fix_collection_type.rb +10 -0
  61. data/db/schema.rb +1 -1
  62. data/lib/generators/app/template.rb +20 -0
  63. data/lib/iqvoc/configuration/collection.rb +5 -5
  64. data/lib/iqvoc/configuration/concept.rb +7 -7
  65. data/lib/iqvoc/configuration/core.rb +11 -10
  66. data/lib/iqvoc/controller_extensions.rb +2 -5
  67. data/lib/iqvoc/inline_data_helper.rb +25 -3
  68. data/lib/iqvoc/instance_configuration.rb +1 -1
  69. data/lib/iqvoc/rdfapi.rb +56 -0
  70. data/lib/iqvoc/skos_importer.rb +88 -40
  71. data/lib/iqvoc/version.rb +1 -1
  72. data/lib/multi_logger.rb +38 -0
  73. data/lib/tasks/importer.rake +6 -1
  74. data/test/integration/browse_concepts_and_labels_test.rb +16 -0
  75. data/test/integration/instance_configuration_test.rb +5 -5
  76. data/test/integration/search_test.rb +18 -17
  77. data/test/unit/concept_test.rb +53 -4
  78. data/test/unit/inline_data_test.rb +61 -0
  79. data/test/unit/origin_test.rb +1 -1
  80. data/test/unit/rdfapi_test.rb +83 -0
  81. data/test/unit/skos_import_test.rb +1 -1
  82. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  83. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_flat_55_fbec88_40x100.png +0 -0
  84. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  85. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  86. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  87. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  88. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  89. data/{public/assets/jquery-ui → vendor/assets/images}/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  90. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_217bc0_256x240.png +0 -0
  91. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_2e83ff_256x240.png +0 -0
  92. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_469bdd_256x240.png +0 -0
  93. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_6da8d5_256x240.png +0 -0
  94. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_cd0a0a_256x240.png +0 -0
  95. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_d8e7f3_256x240.png +0 -0
  96. data/{public/assets/jquery-ui → vendor/assets/images}/ui-icons_f9bd01_256x240.png +0 -0
  97. data/vendor/assets/stylesheets/{jquery-ui-1.8.23.custom.css → jquery-ui-1.8.23.custom.css.scss} +17 -17
  98. metadata +29 -131
  99. data/app/controllers/collections/hierarchical_controller.rb +0 -44
  100. data/public/assets/ajax-loader-dada1fbb71d7fb80d8dde7a031ae6cd0.gif +0 -0
  101. data/public/assets/ajax-loader.gif +0 -0
  102. data/public/assets/arrow_down-07c5dea12928d65fcc31c08279366170.gif +0 -0
  103. data/public/assets/arrow_down.gif +0 -0
  104. data/public/assets/arrow_up-51ede92c113b9a870e7a306907360ba8.gif +0 -0
  105. data/public/assets/arrow_up.gif +0 -0
  106. data/public/assets/bootstrap/bootstrap-2012a68e8267282c0a2c177d7005ae6d.css +0 -9
  107. data/public/assets/bootstrap/bootstrap-2012a68e8267282c0a2c177d7005ae6d.css.gz +0 -0
  108. data/public/assets/bootstrap/bootstrap-35fd77cdf54a8cb63a39d8d0cea7a746.js +0 -19
  109. data/public/assets/bootstrap/bootstrap-35fd77cdf54a8cb63a39d8d0cea7a746.js.gz +0 -0
  110. data/public/assets/bootstrap/bootstrap-responsive-609b376f4bb032588c054b563d4bca1f.css +0 -9
  111. data/public/assets/bootstrap/bootstrap-responsive-609b376f4bb032588c054b563d4bca1f.css.gz +0 -0
  112. data/public/assets/bootstrap/bootstrap-responsive.css +0 -9
  113. data/public/assets/bootstrap/bootstrap-responsive.css.gz +0 -0
  114. data/public/assets/bootstrap/bootstrap.css +0 -9
  115. data/public/assets/bootstrap/bootstrap.css.gz +0 -0
  116. data/public/assets/bootstrap/bootstrap.js +0 -19
  117. data/public/assets/bootstrap/bootstrap.js.gz +0 -0
  118. data/public/assets/bootstrap/glyphicons-halflings-0e7ff93d8f48fe1f5f762e4312e78da7.png +0 -0
  119. data/public/assets/bootstrap/glyphicons-halflings-white-ef3d5b8d6a297804352b4a46fdb5466d.png +0 -0
  120. data/public/assets/bootstrap/glyphicons-halflings-white.png +0 -0
  121. data/public/assets/bootstrap/glyphicons-halflings.png +0 -0
  122. data/public/assets/file-58ce0b58f19dfe871b25270e98cff66c.gif +0 -0
  123. data/public/assets/file.gif +0 -0
  124. data/public/assets/folder-5c5b1fd2f1ece710f9159f05cc2aaaa8.gif +0 -0
  125. data/public/assets/folder-closed-8b61fc55011d534f0216c1150994f229.gif +0 -0
  126. data/public/assets/folder-closed.gif +0 -0
  127. data/public/assets/folder.gif +0 -0
  128. data/public/assets/html5-05e1be9157c8366db72fb7a1bcc8daff.js +0 -3
  129. data/public/assets/html5-05e1be9157c8366db72fb7a1bcc8daff.js.gz +0 -0
  130. data/public/assets/html5.js +0 -3
  131. data/public/assets/html5.js.gz +0 -0
  132. data/public/assets/iqvoc/ie_fixes-6a106c21d979ccdd1f6bf1cb129a0e69.css +0 -1
  133. data/public/assets/iqvoc/ie_fixes-6a106c21d979ccdd1f6bf1cb129a0e69.css.gz +0 -0
  134. data/public/assets/iqvoc/ie_fixes.css +0 -1
  135. data/public/assets/iqvoc/ie_fixes.css.gz +0 -0
  136. data/public/assets/iqvoc_logo-316859a511c646918fe75e92fa0bf6ac.png +0 -0
  137. data/public/assets/iqvoc_logo.png +0 -0
  138. data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-a1eb3e0764573ed4b261ca742ed96ac3.png +0 -0
  139. data/public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100-439ee8e6c8ce855f43ed4d7b90684720.png +0 -0
  140. data/public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400-9357836db77954d0d8c5feb259635223.png +0 -0
  141. data/public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400-7beb11d1590fb2fb1ef5c754100a078a.png +0 -0
  142. data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-c723e9a2b50006c6054836a10b76bb84.png +0 -0
  143. data/public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100-cb26f48ac4912c23ce301c69c474d306.png +0 -0
  144. data/public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100-519299e2aa31bffdd4fed34b4fac603d.png +0 -0
  145. data/public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100-27e08524d3d56bb59e354435b663c3ac.png +0 -0
  146. data/public/assets/jquery-ui/ui-icons_217bc0_256x240-ed26778199d8722ae064038a1e841bc8.png +0 -0
  147. data/public/assets/jquery-ui/ui-icons_2e83ff_256x240-94086d0ce953eb0887ab1b8140903af9.png +0 -0
  148. data/public/assets/jquery-ui/ui-icons_469bdd_256x240-1c055f2d65517ef8faf1d1999c8ac2fa.png +0 -0
  149. data/public/assets/jquery-ui/ui-icons_6da8d5_256x240-8f5b417c5604f1b7b5965c98754c33b9.png +0 -0
  150. data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-8b44e266bdc1f57f1393579591f89222.png +0 -0
  151. data/public/assets/jquery-ui/ui-icons_d8e7f3_256x240-1b415e411069df902e6f417cc014172c.png +0 -0
  152. data/public/assets/jquery-ui/ui-icons_f9bd01_256x240-4553d0576c0498ca4c776aa77aa80833.png +0 -0
  153. data/public/assets/json2-b08b7b9af3e715f42c088ac728f62a2b.js +0 -157
  154. data/public/assets/json2-b08b7b9af3e715f42c088ac728f62a2b.js.gz +0 -0
  155. data/public/assets/json2.js +0 -157
  156. data/public/assets/json2.js.gz +0 -0
  157. data/public/assets/manifest-3ce8edde69d5d291841ef7c49daaa9cb.js +0 -21
  158. data/public/assets/manifest-3ce8edde69d5d291841ef7c49daaa9cb.js.gz +0 -0
  159. data/public/assets/manifest-c0eca563fd9f16907d302af9a2dcae6b.css +0 -51
  160. data/public/assets/manifest-c0eca563fd9f16907d302af9a2dcae6b.css.gz +0 -0
  161. data/public/assets/manifest.css +0 -51
  162. data/public/assets/manifest.css.gz +0 -0
  163. data/public/assets/manifest.js +0 -21
  164. data/public/assets/manifest.js.gz +0 -0
  165. data/public/assets/manifest.yml +0 -47
  166. data/public/assets/minus-1d0fae0720bab52bd98598218e8345c0.gif +0 -0
  167. data/public/assets/minus.gif +0 -0
  168. data/public/assets/plus-1a29e46532f839ed9c977ef4613d079f.gif +0 -0
  169. data/public/assets/plus.gif +0 -0
  170. data/public/assets/spinner_16x16-17dcf941457ae4e702f4600e714b21c1.gif +0 -0
  171. data/public/assets/spinner_16x16.gif +0 -0
  172. data/public/assets/spinner_24x24-78c707c1921b93962ea5edd7f4a74134.gif +0 -0
  173. data/public/assets/spinner_24x24.gif +0 -0
  174. data/public/assets/treeview-black-c46d96020e5d79c652af0fb0c6656384.gif +0 -0
  175. data/public/assets/treeview-black-line-0903c58efd34c3203d132e6f873049f6.gif +0 -0
  176. data/public/assets/treeview-black-line.gif +0 -0
  177. data/public/assets/treeview-black.gif +0 -0
  178. data/public/assets/treeview-default-ee6298d311205d21dc57c01c0696df70.gif +0 -0
  179. data/public/assets/treeview-default-line-2c4106cfd4d322c6e6565f80702c27cb.gif +0 -0
  180. data/public/assets/treeview-default-line.gif +0 -0
  181. data/public/assets/treeview-default.gif +0 -0
  182. data/public/assets/treeview-famfamfam-20dfef13cd5fd1e08fb61ee68eb9d3fa.gif +0 -0
  183. data/public/assets/treeview-famfamfam-line-a02cce2b80977e066df83137aae71fa8.gif +0 -0
  184. data/public/assets/treeview-famfamfam-line.gif +0 -0
  185. data/public/assets/treeview-famfamfam.gif +0 -0
  186. data/public/assets/treeview-gray-01bfdcd116e081e23daf13024fd3e4e0.gif +0 -0
  187. data/public/assets/treeview-gray-line-029b3a7b92ed10ea6c4b6289cb9fa0e3.gif +0 -0
  188. data/public/assets/treeview-gray-line.gif +0 -0
  189. data/public/assets/treeview-gray.gif +0 -0
  190. data/public/assets/treeview-red-2a5abbce598d05c864d845998381eef6.gif +0 -0
  191. data/public/assets/treeview-red-line-f51e6c30aa3b0ff856900ba85d769f1c.gif +0 -0
  192. data/public/assets/treeview-red-line.gif +0 -0
  193. data/public/assets/treeview-red.gif +0 -0
  194. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  195. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_fbec88_40x100.png +0 -0
  196. data/vendor/assets/images/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  197. data/vendor/assets/images/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  198. data/vendor/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  199. data/vendor/assets/images/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  200. data/vendor/assets/images/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  201. data/vendor/assets/images/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  202. data/vendor/assets/images/jquery-ui/ui-icons_217bc0_256x240.png +0 -0
  203. data/vendor/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  204. data/vendor/assets/images/jquery-ui/ui-icons_469bdd_256x240.png +0 -0
  205. data/vendor/assets/images/jquery-ui/ui-icons_6da8d5_256x240.png +0 -0
  206. data/vendor/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  207. data/vendor/assets/images/jquery-ui/ui-icons_d8e7f3_256x240.png +0 -0
  208. data/vendor/assets/images/jquery-ui/ui-icons_f9bd01_256x240.png +0 -0
  209. data/vendor/assets/javascripts/json2.js +0 -487
@@ -18,10 +18,6 @@ require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
18
18
 
19
19
  class ConceptTest < ActiveSupport::TestCase
20
20
 
21
- setup do
22
- @current_concept = FactoryGirl.create(:concept)
23
- end
24
-
25
21
  test "should not allow identical concepts" do
26
22
  origin = "foo"
27
23
  c1 = Concept::Base.new(:origin => origin)
@@ -70,6 +66,20 @@ class ConceptTest < ActiveSupport::TestCase
70
66
  assert concept.invalid?
71
67
  end
72
68
 
69
+ test "unique pref label" do
70
+ label = Label::SKOS::Base.create(:value => "foo", :language => "en")
71
+
72
+ concept1 = FactoryGirl.build(:concept, :pref_labelings => [], :narrower_relations => [])
73
+ concept1.pref_labels << label
74
+ concept1.save!
75
+ assert concept1.valid_with_full_validation?
76
+
77
+ concept2 = FactoryGirl.build(:concept, :pref_labelings => [], :narrower_relations => [])
78
+ concept2.pref_labels << label
79
+ concept2.save!
80
+ assert concept2.invalid_with_full_validation?
81
+ end
82
+
73
83
  test "concepts can have multiple preferred labels" do
74
84
  concept = FactoryGirl.build(:concept)
75
85
  concept.labelings << FactoryGirl.build(:pref_labeling,
@@ -101,4 +111,43 @@ class ConceptTest < ActiveSupport::TestCase
101
111
  assert !concept.save
102
112
  end
103
113
 
114
+ test "labels including commas" do
115
+ labels_for = lambda do |concept, type|
116
+ type.includes(:target).where(:owner_id => concept.id).
117
+ map { |ln| ln.target.value }
118
+ end
119
+
120
+ form_data = {
121
+ "labelings_by_text" => {
122
+ "labeling_skos_pref_labels" => { "en" => "lipsum" },
123
+ "labeling_skos_alt_labels" => { "en" => "foo, bar" }
124
+ }
125
+ }
126
+ concept = Iqvoc::Concept.base_class.create(form_data)
127
+
128
+ assert_equal ["lipsum"], labels_for.call(concept, Labeling::SKOS::PrefLabel)
129
+ assert_equal "lipsum",
130
+ concept.labelings_by_text("labeling_skos_pref_labels", "en")
131
+ assert_equal ["foo", "bar"],
132
+ labels_for.call(concept, Labeling::SKOS::AltLabel)
133
+ assert_equal "foo, bar",
134
+ concept.labelings_by_text("labeling_skos_alt_labels", "en")
135
+
136
+ form_data = {
137
+ "labelings_by_text" => {
138
+ "labeling_skos_pref_labels" => { "en" => "lipsum" },
139
+ "labeling_skos_alt_labels" => { "en" => 'lorem, "foo, bar", ipsum' }
140
+ }
141
+ }
142
+ concept = Iqvoc::Concept.base_class.create(form_data)
143
+
144
+ assert_equal ["lipsum"], labels_for.call(concept, Labeling::SKOS::PrefLabel)
145
+ assert_equal "lipsum",
146
+ concept.labelings_by_text("labeling_skos_pref_labels", "en")
147
+ assert_equal ["lorem", "foo, bar", "ipsum"],
148
+ labels_for.call(concept, Labeling::SKOS::AltLabel)
149
+ assert_equal 'lorem, "foo, bar", ipsum',
150
+ concept.labelings_by_text("labeling_skos_alt_labels", "en")
151
+ end
152
+
104
153
  end
@@ -0,0 +1,61 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2011 innoQ Deutschland GmbH
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
18
+
19
+ class InlineDataTest < ActiveSupport::TestCase
20
+
21
+ test "serialization" do
22
+ values = ["foo", "bar"]
23
+ assert_equal "foo, bar",
24
+ Iqvoc::InlineDataHelper.generate_inline_values(values)
25
+
26
+ values = ["lorem", "foo, bar", "ipsum"]
27
+ assert_equal 'lorem, "foo, bar", ipsum',
28
+ Iqvoc::InlineDataHelper.generate_inline_values(values)
29
+ end
30
+
31
+ test "deserialization" do
32
+ inline_values = "foo, bar"
33
+ assert_equal ["foo", "bar"],
34
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
35
+
36
+ inline_values = 'lorem, "foo, bar", ipsum'
37
+ assert_equal ["lorem", "foo, bar", "ipsum"],
38
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
39
+
40
+ inline_values = 'lorem,"foo, bar",ipsum'
41
+ assert_equal ["lorem", "foo, bar", "ipsum"],
42
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
43
+
44
+ inline_values = 'foo, bar,baz' # inconsistent whitespace
45
+ assert_equal ["foo", "bar", "baz"],
46
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
47
+
48
+ inline_values = 'lorem,"foo, bar", ipsum' # inconsistent whitespace
49
+ assert_equal ["lorem", "foo, bar", "ipsum"],
50
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
51
+
52
+ inline_values = 'lorem, "foo, bar",ipsum' # inconsistent whitespace
53
+ assert_raises(CSV::MalformedCSVError) do
54
+ Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
55
+ end
56
+
57
+ inline_values = ''
58
+ assert_equal [], Iqvoc::InlineDataHelper.parse_inline_values(inline_values)
59
+ end
60
+
61
+ end
@@ -29,7 +29,7 @@ class OriginTest < ActiveSupport::TestCase
29
29
  assert_equal "AeaeUeueOeoess", Iqvoc::Origin.new("ÄäÜüÖöß").to_s
30
30
  end
31
31
 
32
- def test_should_camalize_string
32
+ def test_should_camelize_string
33
33
  assert_equal "AWeighting", Iqvoc::Origin.new("'A' Weighting").to_s
34
34
  end
35
35
 
@@ -0,0 +1,83 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
2
+ require 'iqvoc/rdfapi'
3
+
4
+ RDFAPI = Iqvoc::RDFAPI
5
+ class RDFAPITest < ActiveSupport::TestCase
6
+
7
+ test 'should instantiate known class names using strings only' do
8
+ result = RDFAPI.devour 'foobar', 'a', 'Concept::SKOS::Base'
9
+ assert result.is_a? Concept::SKOS::Base
10
+ assert_equal result.origin, 'foobar'
11
+ end
12
+
13
+ test 'should instantiate known class names using constant' do
14
+ result = RDFAPI.devour 'foobar', 'a', Concept::SKOS::Base
15
+ assert result.is_a? Concept::SKOS::Base
16
+ assert_equal result.origin, 'foobar'
17
+ end
18
+
19
+ test 'should instantiate known class names from dictionary using strings only' do
20
+ concept_result1 = RDFAPI.devour 'foofoo', 'a', 'skos:Concept'
21
+ assert concept_result1.is_a? Iqvoc::Concept.base_class
22
+
23
+ concept_result2 = RDFAPI.devour 'foobar', 'rdf:type', 'skos:Concept'
24
+ assert concept_result2.is_a? Iqvoc::Concept.base_class
25
+
26
+ collection_result = RDFAPI.devour 'foobaz', 'a', 'skos:Collection'
27
+ assert collection_result.is_a? Iqvoc::Collection.base_class
28
+ end
29
+
30
+ test 'should add member to collection using strings only' do
31
+ foobar = RDFAPI.devour *%w(foobar a skos:Concept)
32
+ barbaz = RDFAPI.devour *%w(barbaz a skos:Collection)
33
+ member = RDFAPI.devour barbaz, 'skos:member', foobar
34
+
35
+ assert member.save
36
+ assert member.is_a?(Collection::Member::SKOS::Base)
37
+ assert_equal member.collection, barbaz
38
+ assert_equal member.target, foobar
39
+ end
40
+
41
+ test 'should add member to collection using classes' do
42
+ foobar = RDFAPI.devour *%w(foobar a skos:Concept)
43
+ barbaz = RDFAPI.devour *%w(barbaz a skos:Collection)
44
+ member = RDFAPI.devour barbaz, Collection::Member::SKOS::Base, foobar
45
+
46
+ assert member.save
47
+ assert member.is_a?(Collection::Member::SKOS::Base)
48
+ assert_equal member.collection, barbaz
49
+ assert_equal member.target, foobar
50
+ end
51
+
52
+ test 'should set pref label using string' do
53
+ foobar = RDFAPI.devour *%w(foobar a skos:Concept)
54
+ foobar.save
55
+ labeling = RDFAPI.devour foobar, 'skos:prefLabel', '"Foo Bar"@en'
56
+
57
+ assert labeling.is_a? Labeling::SKOS::PrefLabel
58
+ assert_equal 'en', labeling.target.language
59
+ assert_equal 'Foo Bar', labeling.target.value
60
+ assert labeling.save
61
+ assert_equal 'Foo Bar', foobar.pref_labels.find_by_language('en').value
62
+ end
63
+
64
+ test 'should set pref label using class' do
65
+ foobar = RDFAPI.devour *%w(foobar a skos:Concept)
66
+ labeling = RDFAPI.devour foobar, Labeling::SKOS::PrefLabel, '"Foo Bar"@en'
67
+
68
+ assert labeling.is_a? Labeling::SKOS::PrefLabel
69
+ assert_equal 'en', labeling.target.language
70
+ assert_equal 'Foo Bar', labeling.target.value
71
+ assert labeling.save
72
+ end
73
+
74
+ test 'should set alt label using string' do
75
+ foobar = RDFAPI.devour *%w(foobar a skos:Concept)
76
+ labeling = RDFAPI.devour foobar, 'skos:altLabel', '"Foo Bar"@de'
77
+
78
+ assert labeling.is_a? Labeling::SKOS::AltLabel
79
+ assert_equal 'de', labeling.target.language
80
+ assert_equal 'Foo Bar', labeling.target.value
81
+ assert labeling.save
82
+ end
83
+ end
@@ -42,13 +42,13 @@ class SkosImportTest < ActiveSupport::TestCase
42
42
  <http://www.example.com/donkey> <http://www.w3.org/2008/05/skos#prefLabel> "Esel"@de .
43
43
  <http://www.example.com/donkey> <http://www.w3.org/2008/05/skos#prefLabel> "Donkey"@en .
44
44
  <http://www.example.com/donkey> <http://www.w3.org/2008/05/skos#broader> <http://www.example.com/animal> .
45
- <http://www.example.com/monkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2008/05/skos#Concept> .
46
45
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#prefLabel> "Affe"@de .
47
46
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#prefLabel> "Monkey"@en .
48
47
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#altLabel> "\u00C4ffle"@de .
49
48
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#altLabel> "Ape"@en .
50
49
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#broader> <http://www.example.com/animal> .
51
50
  <http://www.example.com/monkey> <http://www.w3.org/2008/05/skos#exactMatch> <http://dbpedia.org/page/Monkey> .
51
+ <http://www.example.com/monkey> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2008/05/skos#Concept> .
52
52
  <http://not-my-problem.com/me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2008/05/skos#Concept>.
53
53
  DATA
54
54
  ).split("\n")
@@ -56,26 +56,26 @@
56
56
  .ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }
57
57
  .ui-widget .ui-widget { font-size: 1em; }
58
58
  .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
59
- .ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; }
59
+ .ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd asset-url('ui-bg_inset-hard_100_fcfdfd_1x100.png', image) 50% bottom repeat-x; color: #222222; }
60
60
  .ui-widget-content a { color: #222222; }
61
- .ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
61
+ .ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc asset-url('ui-bg_gloss-wave_55_5c9ccc_500x100.png', image) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
62
62
  .ui-widget-header a { color: #ffffff; }
63
63
 
64
64
  /* Interaction states
65
65
  ----------------------------------*/
66
- .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; }
66
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc asset-url('ui-bg_glass_85_dfeffc_1x400.png', image) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; }
67
67
  .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; }
68
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; }
68
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 asset-url('ui-bg_glass_75_d0e5f5_1x400.png', image) 50% 50% repeat-x; font-weight: bold; color: #1d5987; }
69
69
  .ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; }
70
- .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; }
70
+ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 asset-url('ui-bg_inset-hard_100_f5f8f9_1x100.png', image) 50% 50% repeat-x; font-weight: bold; color: #e17009; }
71
71
  .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; }
72
72
  .ui-widget :active { outline: none; }
73
73
 
74
74
  /* Interaction Cues
75
75
  ----------------------------------*/
76
- .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
76
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 asset-url('ui-bg_flat_55_fbec88_40x100.png', image) 50% 50% repeat-x; color: #363636; }
77
77
  .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
78
- .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
78
+ .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec asset-url('ui-bg_glass_95_fef1ec_1x400.png', image) 50% 50% repeat-x; color: #cd0a0a; }
79
79
  .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
80
80
  .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
81
81
  .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
@@ -86,14 +86,14 @@
86
86
  ----------------------------------*/
87
87
 
88
88
  /* states and images */
89
- .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
90
- .ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
91
- .ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
92
- .ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
93
- .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
94
- .ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
95
- .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
96
- .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
89
+ .ui-icon { width: 16px; height: 16px; background-image: asset-url('ui-icons_469bdd_256x240.png', image); }
90
+ .ui-widget-content .ui-icon {background-image: asset-url('ui-icons_469bdd_256x240.png', image); }
91
+ .ui-widget-header .ui-icon {background-image: asset-url('ui-icons_d8e7f3_256x240.png', image); }
92
+ .ui-state-default .ui-icon { background-image: asset-url('ui-icons_6da8d5_256x240.png', image); }
93
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: asset-url('ui-icons_217bc0_256x240.png', image); }
94
+ .ui-state-active .ui-icon {background-image: asset-url('ui-icons_f9bd01_256x240.png', image); }
95
+ .ui-state-highlight .ui-icon {background-image: asset-url('ui-icons_2e83ff_256x240.png', image); }
96
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: asset-url('ui-icons_cd0a0a_256x240.png', image); }
97
97
 
98
98
  /* positioning */
99
99
  .ui-icon-carat-1-n { background-position: 0 0; }
@@ -283,8 +283,8 @@
283
283
  .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
284
284
 
285
285
  /* Overlays */
286
- .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
287
- .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
286
+ .ui-widget-overlay { background: #aaaaaa asset-url('ui-bg_flat_0_aaaaaa_40x100.png', image) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
287
+ .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa asset-url('ui-bg_flat_0_aaaaaa_40x100.png', image) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
288
288
  * jQuery UI Autocomplete 1.8.23
289
289
  *
290
290
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iqvoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.8
4
+ version: 4.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-02-19 00:00:00.000000000 Z
14
+ date: 2013-03-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -252,9 +252,9 @@ files:
252
252
  - app/assets/stylesheets/iqvoc/visualization.css.scss
253
253
  - app/assets/stylesheets/manifest.css
254
254
  - app/controllers/application_controller.rb
255
- - app/controllers/collections/hierarchical_controller.rb
256
255
  - app/controllers/collections_controller.rb
257
256
  - app/controllers/concepts/alphabetical_controller.rb
257
+ - app/controllers/concepts/expired_controller.rb
258
258
  - app/controllers/concepts/hierarchical_controller.rb
259
259
  - app/controllers/concepts/untranslated_controller.rb
260
260
  - app/controllers/concepts/versions_controller.rb
@@ -279,10 +279,9 @@ files:
279
279
  - app/helpers/widget_helper.rb
280
280
  - app/models/collection/base.rb
281
281
  - app/models/collection/member/base.rb
282
- - app/models/collection/member/collection.rb
283
- - app/models/collection/member/concept.rb
284
282
  - app/models/collection/member/skos/base.rb
285
283
  - app/models/collection/skos/base.rb
284
+ - app/models/collection/skos/unordered.rb
286
285
  - app/models/collection/unordered.rb
287
286
  - app/models/concept/base.rb
288
287
  - app/models/concept/relation/base.rb
@@ -295,6 +294,7 @@ files:
295
294
  - app/models/concept/relation/skos/related.rb
296
295
  - app/models/concept/skos/base.rb
297
296
  - app/models/concept/skos/scheme.rb
297
+ - app/models/concept/validations.rb
298
298
  - app/models/configuration_setting.rb
299
299
  - app/models/label/base.rb
300
300
  - app/models/label/skos/base.rb
@@ -337,6 +337,7 @@ files:
337
337
  - app/views/concepts/alphabetical/_pref_labeling.html.erb
338
338
  - app/views/concepts/alphabetical/index.html.erb
339
339
  - app/views/concepts/edit.html.erb
340
+ - app/views/concepts/expired/index.html.erb
340
341
  - app/views/concepts/hierarchical/_treeview.html.erb
341
342
  - app/views/concepts/hierarchical/index.html.erb
342
343
  - app/views/concepts/index.iqrdf
@@ -467,120 +468,12 @@ files:
467
468
  - db/migrate/20120119000000_create_configuration_settings.rb
468
469
  - db/migrate/20120201120736_add_top_term_to_concepts.rb
469
470
  - db/migrate/20120326102037_add_rank_to_concept_relations.rb
471
+ - db/migrate/20130227145825_fix_collection_type.rb
470
472
  - db/schema.rb
471
473
  - db/seeds.rb
472
474
  - public/404.html
473
475
  - public/422.html
474
476
  - public/500.html
475
- - public/assets/ajax-loader-dada1fbb71d7fb80d8dde7a031ae6cd0.gif
476
- - public/assets/ajax-loader.gif
477
- - public/assets/arrow_down-07c5dea12928d65fcc31c08279366170.gif
478
- - public/assets/arrow_down.gif
479
- - public/assets/arrow_up-51ede92c113b9a870e7a306907360ba8.gif
480
- - public/assets/arrow_up.gif
481
- - public/assets/bootstrap/bootstrap-2012a68e8267282c0a2c177d7005ae6d.css
482
- - public/assets/bootstrap/bootstrap-2012a68e8267282c0a2c177d7005ae6d.css.gz
483
- - public/assets/bootstrap/bootstrap-35fd77cdf54a8cb63a39d8d0cea7a746.js
484
- - public/assets/bootstrap/bootstrap-35fd77cdf54a8cb63a39d8d0cea7a746.js.gz
485
- - public/assets/bootstrap/bootstrap-responsive-609b376f4bb032588c054b563d4bca1f.css
486
- - public/assets/bootstrap/bootstrap-responsive-609b376f4bb032588c054b563d4bca1f.css.gz
487
- - public/assets/bootstrap/bootstrap-responsive.css
488
- - public/assets/bootstrap/bootstrap-responsive.css.gz
489
- - public/assets/bootstrap/bootstrap.css
490
- - public/assets/bootstrap/bootstrap.css.gz
491
- - public/assets/bootstrap/bootstrap.js
492
- - public/assets/bootstrap/bootstrap.js.gz
493
- - public/assets/bootstrap/glyphicons-halflings-0e7ff93d8f48fe1f5f762e4312e78da7.png
494
- - public/assets/bootstrap/glyphicons-halflings-white-ef3d5b8d6a297804352b4a46fdb5466d.png
495
- - public/assets/bootstrap/glyphicons-halflings-white.png
496
- - public/assets/bootstrap/glyphicons-halflings.png
497
- - public/assets/file-58ce0b58f19dfe871b25270e98cff66c.gif
498
- - public/assets/file.gif
499
- - public/assets/folder-5c5b1fd2f1ece710f9159f05cc2aaaa8.gif
500
- - public/assets/folder-closed-8b61fc55011d534f0216c1150994f229.gif
501
- - public/assets/folder-closed.gif
502
- - public/assets/folder.gif
503
- - public/assets/html5-05e1be9157c8366db72fb7a1bcc8daff.js
504
- - public/assets/html5-05e1be9157c8366db72fb7a1bcc8daff.js.gz
505
- - public/assets/html5.js
506
- - public/assets/html5.js.gz
507
- - public/assets/iqvoc/ie_fixes-6a106c21d979ccdd1f6bf1cb129a0e69.css
508
- - public/assets/iqvoc/ie_fixes-6a106c21d979ccdd1f6bf1cb129a0e69.css.gz
509
- - public/assets/iqvoc/ie_fixes.css
510
- - public/assets/iqvoc/ie_fixes.css.gz
511
- - public/assets/iqvoc_logo-316859a511c646918fe75e92fa0bf6ac.png
512
- - public/assets/iqvoc_logo.png
513
- - public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-a1eb3e0764573ed4b261ca742ed96ac3.png
514
- - public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png
515
- - public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100-439ee8e6c8ce855f43ed4d7b90684720.png
516
- - public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100.png
517
- - public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400-9357836db77954d0d8c5feb259635223.png
518
- - public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png
519
- - public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400-7beb11d1590fb2fb1ef5c754100a078a.png
520
- - public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png
521
- - public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-c723e9a2b50006c6054836a10b76bb84.png
522
- - public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png
523
- - public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100-cb26f48ac4912c23ce301c69c474d306.png
524
- - public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png
525
- - public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100-519299e2aa31bffdd4fed34b4fac603d.png
526
- - public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png
527
- - public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100-27e08524d3d56bb59e354435b663c3ac.png
528
- - public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png
529
- - public/assets/jquery-ui/ui-icons_217bc0_256x240-ed26778199d8722ae064038a1e841bc8.png
530
- - public/assets/jquery-ui/ui-icons_217bc0_256x240.png
531
- - public/assets/jquery-ui/ui-icons_2e83ff_256x240-94086d0ce953eb0887ab1b8140903af9.png
532
- - public/assets/jquery-ui/ui-icons_2e83ff_256x240.png
533
- - public/assets/jquery-ui/ui-icons_469bdd_256x240-1c055f2d65517ef8faf1d1999c8ac2fa.png
534
- - public/assets/jquery-ui/ui-icons_469bdd_256x240.png
535
- - public/assets/jquery-ui/ui-icons_6da8d5_256x240-8f5b417c5604f1b7b5965c98754c33b9.png
536
- - public/assets/jquery-ui/ui-icons_6da8d5_256x240.png
537
- - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-8b44e266bdc1f57f1393579591f89222.png
538
- - public/assets/jquery-ui/ui-icons_cd0a0a_256x240.png
539
- - public/assets/jquery-ui/ui-icons_d8e7f3_256x240-1b415e411069df902e6f417cc014172c.png
540
- - public/assets/jquery-ui/ui-icons_d8e7f3_256x240.png
541
- - public/assets/jquery-ui/ui-icons_f9bd01_256x240-4553d0576c0498ca4c776aa77aa80833.png
542
- - public/assets/jquery-ui/ui-icons_f9bd01_256x240.png
543
- - public/assets/json2-b08b7b9af3e715f42c088ac728f62a2b.js
544
- - public/assets/json2-b08b7b9af3e715f42c088ac728f62a2b.js.gz
545
- - public/assets/json2.js
546
- - public/assets/json2.js.gz
547
- - public/assets/manifest-3ce8edde69d5d291841ef7c49daaa9cb.js
548
- - public/assets/manifest-3ce8edde69d5d291841ef7c49daaa9cb.js.gz
549
- - public/assets/manifest-c0eca563fd9f16907d302af9a2dcae6b.css
550
- - public/assets/manifest-c0eca563fd9f16907d302af9a2dcae6b.css.gz
551
- - public/assets/manifest.css
552
- - public/assets/manifest.css.gz
553
- - public/assets/manifest.js
554
- - public/assets/manifest.js.gz
555
- - public/assets/manifest.yml
556
- - public/assets/minus-1d0fae0720bab52bd98598218e8345c0.gif
557
- - public/assets/minus.gif
558
- - public/assets/plus-1a29e46532f839ed9c977ef4613d079f.gif
559
- - public/assets/plus.gif
560
- - public/assets/spinner_16x16-17dcf941457ae4e702f4600e714b21c1.gif
561
- - public/assets/spinner_16x16.gif
562
- - public/assets/spinner_24x24-78c707c1921b93962ea5edd7f4a74134.gif
563
- - public/assets/spinner_24x24.gif
564
- - public/assets/treeview-black-c46d96020e5d79c652af0fb0c6656384.gif
565
- - public/assets/treeview-black-line-0903c58efd34c3203d132e6f873049f6.gif
566
- - public/assets/treeview-black-line.gif
567
- - public/assets/treeview-black.gif
568
- - public/assets/treeview-default-ee6298d311205d21dc57c01c0696df70.gif
569
- - public/assets/treeview-default-line-2c4106cfd4d322c6e6565f80702c27cb.gif
570
- - public/assets/treeview-default-line.gif
571
- - public/assets/treeview-default.gif
572
- - public/assets/treeview-famfamfam-20dfef13cd5fd1e08fb61ee68eb9d3fa.gif
573
- - public/assets/treeview-famfamfam-line-a02cce2b80977e066df83137aae71fa8.gif
574
- - public/assets/treeview-famfamfam-line.gif
575
- - public/assets/treeview-famfamfam.gif
576
- - public/assets/treeview-gray-01bfdcd116e081e23daf13024fd3e4e0.gif
577
- - public/assets/treeview-gray-line-029b3a7b92ed10ea6c4b6289cb9fa0e3.gif
578
- - public/assets/treeview-gray-line.gif
579
- - public/assets/treeview-gray.gif
580
- - public/assets/treeview-red-2a5abbce598d05c864d845998381eef6.gif
581
- - public/assets/treeview-red-line-f51e6c30aa3b0ff856900ba85d769f1c.gif
582
- - public/assets/treeview-red-line.gif
583
- - public/assets/treeview-red.gif
584
477
  - public/favicon.ico
585
478
  - public/robots.txt
586
479
  - lib/debug.rb
@@ -604,10 +497,12 @@ files:
604
497
  - lib/iqvoc/origin.rb
605
498
  - lib/iqvoc/rankable.rb
606
499
  - lib/iqvoc/rdf_sync.rb
500
+ - lib/iqvoc/rdfapi.rb
607
501
  - lib/iqvoc/skos_importer.rb
608
502
  - lib/iqvoc/version.rb
609
503
  - lib/iqvoc/versioning.rb
610
504
  - lib/iqvoc.rb
505
+ - lib/multi_logger.rb
611
506
  - lib/string.rb
612
507
  - lib/tasks/heroku.rake
613
508
  - lib/tasks/importer.rake
@@ -634,10 +529,12 @@ files:
634
529
  - test/test_helper.rb
635
530
  - test/unit/concept_test.rb
636
531
  - test/unit/hygiene_test.rb
532
+ - test/unit/inline_data_test.rb
637
533
  - test/unit/instance_configuration_test.rb
638
534
  - test/unit/note_test.rb
639
535
  - test/unit/origin_test.rb
640
536
  - test/unit/rdf_sync_test.rb
537
+ - test/unit/rdfapi_test.rb
641
538
  - test/unit/skos_import_test.rb
642
539
  - vendor/assets/images/ajax-loader.gif
643
540
  - vendor/assets/images/bootstrap/glyphicons-halflings-white.png
@@ -645,21 +542,6 @@ files:
645
542
  - vendor/assets/images/file.gif
646
543
  - vendor/assets/images/folder-closed.gif
647
544
  - vendor/assets/images/folder.gif
648
- - vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png
649
- - vendor/assets/images/jquery-ui/ui-bg_flat_55_fbec88_40x100.png
650
- - vendor/assets/images/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png
651
- - vendor/assets/images/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png
652
- - vendor/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png
653
- - vendor/assets/images/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png
654
- - vendor/assets/images/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png
655
- - vendor/assets/images/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png
656
- - vendor/assets/images/jquery-ui/ui-icons_217bc0_256x240.png
657
- - vendor/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png
658
- - vendor/assets/images/jquery-ui/ui-icons_469bdd_256x240.png
659
- - vendor/assets/images/jquery-ui/ui-icons_6da8d5_256x240.png
660
- - vendor/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png
661
- - vendor/assets/images/jquery-ui/ui-icons_d8e7f3_256x240.png
662
- - vendor/assets/images/jquery-ui/ui-icons_f9bd01_256x240.png
663
545
  - vendor/assets/images/minus.gif
664
546
  - vendor/assets/images/plus.gif
665
547
  - vendor/assets/images/treeview-black-line.gif
@@ -672,6 +554,21 @@ files:
672
554
  - vendor/assets/images/treeview-gray.gif
673
555
  - vendor/assets/images/treeview-red-line.gif
674
556
  - vendor/assets/images/treeview-red.gif
557
+ - vendor/assets/images/ui-bg_flat_0_aaaaaa_40x100.png
558
+ - vendor/assets/images/ui-bg_flat_55_fbec88_40x100.png
559
+ - vendor/assets/images/ui-bg_glass_75_d0e5f5_1x400.png
560
+ - vendor/assets/images/ui-bg_glass_85_dfeffc_1x400.png
561
+ - vendor/assets/images/ui-bg_glass_95_fef1ec_1x400.png
562
+ - vendor/assets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
563
+ - vendor/assets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
564
+ - vendor/assets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
565
+ - vendor/assets/images/ui-icons_217bc0_256x240.png
566
+ - vendor/assets/images/ui-icons_2e83ff_256x240.png
567
+ - vendor/assets/images/ui-icons_469bdd_256x240.png
568
+ - vendor/assets/images/ui-icons_6da8d5_256x240.png
569
+ - vendor/assets/images/ui-icons_cd0a0a_256x240.png
570
+ - vendor/assets/images/ui-icons_d8e7f3_256x240.png
571
+ - vendor/assets/images/ui-icons_f9bd01_256x240.png
675
572
  - vendor/assets/javascripts/bootstrap/bootstrap.js
676
573
  - vendor/assets/javascripts/html5.js
677
574
  - vendor/assets/javascripts/jquery-1.7.1.js
@@ -679,12 +576,11 @@ files:
679
576
  - vendor/assets/javascripts/jquery-ui.datepicker-de.js
680
577
  - vendor/assets/javascripts/jquery.treeview.async.js
681
578
  - vendor/assets/javascripts/jquery.treeview.js
682
- - vendor/assets/javascripts/json2.js
683
579
  - vendor/assets/javascripts/rails.js
684
580
  - vendor/assets/javascripts/storage.js
685
581
  - vendor/assets/stylesheets/bootstrap/bootstrap-responsive.css
686
582
  - vendor/assets/stylesheets/bootstrap/bootstrap.css
687
- - vendor/assets/stylesheets/jquery-ui-1.8.23.custom.css
583
+ - vendor/assets/stylesheets/jquery-ui-1.8.23.custom.css.scss
688
584
  - vendor/assets/stylesheets/jquery.treeview.css.erb
689
585
  homepage: http://github.com/innoq/iqvoc
690
586
  licenses: []
@@ -731,8 +627,10 @@ test_files:
731
627
  - test/test_helper.rb
732
628
  - test/unit/concept_test.rb
733
629
  - test/unit/hygiene_test.rb
630
+ - test/unit/inline_data_test.rb
734
631
  - test/unit/instance_configuration_test.rb
735
632
  - test/unit/note_test.rb
736
633
  - test/unit/origin_test.rb
737
634
  - test/unit/rdf_sync_test.rb
635
+ - test/unit/rdfapi_test.rb
738
636
  - test/unit/skos_import_test.rb