iqvoc 4.0.8 → 4.0.9

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