iqvoc 4.1.3 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -1
  3. data/Gemfile +13 -16
  4. data/Gemfile.lock +168 -156
  5. data/app/assets/javascripts/iqvoc/entityselect.js.erb +4 -0
  6. data/app/assets/javascripts/iqvoc/iqvoc.js +3 -0
  7. data/app/assets/stylesheets/iqvoc/components.css.scss +21 -16
  8. data/app/assets/stylesheets/iqvoc/entity_select.css.scss +1 -0
  9. data/app/controllers/collections_controller.rb +4 -12
  10. data/app/controllers/concepts/alphabetical_controller.rb +1 -0
  11. data/app/controllers/concepts/expired_controller.rb +2 -1
  12. data/app/controllers/concepts/scheme_controller.rb +2 -4
  13. data/app/controllers/concepts/versions_controller.rb +39 -16
  14. data/app/controllers/concepts_controller.rb +4 -8
  15. data/app/controllers/dashboard_controller.rb +1 -1
  16. data/app/controllers/hierarchy_controller.rb +44 -20
  17. data/app/controllers/rdf_controller.rb +19 -10
  18. data/app/controllers/search_results_controller.rb +2 -10
  19. data/app/controllers/user_sessions_controller.rb +1 -1
  20. data/app/helpers/application_helper.rb +13 -1
  21. data/app/helpers/rdf_helper.rb +1 -1
  22. data/app/models/concept/base.rb +4 -2
  23. data/app/models/concept/relation/base.rb +3 -1
  24. data/app/models/concept/relation/reverse_relation_extension.rb +2 -2
  25. data/app/models/concept/relation/skos/base.rb +1 -1
  26. data/app/models/configuration_setting.rb +1 -1
  27. data/app/models/labeling/base.rb +1 -1
  28. data/app/models/labeling/skos/base.rb +25 -6
  29. data/app/models/match/skos/base.rb +2 -2
  30. data/app/models/note/base.rb +1 -1
  31. data/app/models/note/skos/base.rb +6 -1
  32. data/app/views/collections/_form.html.erb +1 -2
  33. data/app/views/collections/_header.html.erb +2 -2
  34. data/app/views/collections/_sidebar.html.erb +2 -2
  35. data/app/views/collections/show.html.erb +1 -1
  36. data/app/views/concepts/scheme/show.iqrdf +1 -0
  37. data/app/views/concepts/show_unpublished.html.erb +1 -1
  38. data/app/views/concepts/sidebars/_plural.html.erb +4 -0
  39. data/app/views/concepts/sidebars/_singular.html.erb +1 -1
  40. data/app/views/hierarchy/show.iqrdf +2 -2
  41. data/app/views/instance_configuration/index.html.erb +1 -1
  42. data/app/views/layouts/_controls.html.erb +5 -6
  43. data/app/views/layouts/_sections.html.erb +1 -1
  44. data/app/views/layouts/application.html.erb +1 -1
  45. data/app/views/partials/concept/relation/_base.html.erb +1 -1
  46. data/app/views/partials/concept/relation/_ranked.html.erb +1 -1
  47. data/config/application.rb +3 -9
  48. data/config/boot.rb +0 -2
  49. data/config/engine.rb +2 -1
  50. data/config/environments/development.rb +0 -1
  51. data/config/environments/heroku.rb +6 -0
  52. data/config/environments/test.rb +0 -1
  53. data/config/initializers/iqvoc.rb +6 -0
  54. data/config/initializers/secret_token.rb +8 -26
  55. data/config/initializers/secret_token.rb.template +1 -3
  56. data/config/locales/de.yml +2 -0
  57. data/config/locales/en.yml +2 -0
  58. data/config/routes.rb +4 -4
  59. data/db/schema.rb +44 -44
  60. data/iqvoc.gemspec +6 -4
  61. data/lib/engine_tasks/db.rake +4 -4
  62. data/lib/generators/app/template.rb +3 -0
  63. data/lib/iqvoc/configuration/collection.rb +7 -1
  64. data/lib/iqvoc/configuration/core.rb +8 -7
  65. data/lib/iqvoc/environments/development.rb +15 -29
  66. data/lib/iqvoc/environments/production.rb +54 -34
  67. data/lib/iqvoc/environments/test.rb +17 -24
  68. data/lib/iqvoc/rankable.rb +1 -1
  69. data/lib/iqvoc/rdfapi.rb +2 -1
  70. data/lib/iqvoc/skos_importer.rb +8 -3
  71. data/lib/iqvoc/version.rb +1 -1
  72. data/lib/tasks/release.rake +15 -0
  73. data/test/capybara_helper.rb +31 -0
  74. data/test/functional/hierarchy_test.rb +84 -30
  75. data/test/integration/client_edit_concept_test.rb +1 -1
  76. data/test/integration/{concept_test.rb → concept_browsing_test.rb} +1 -1
  77. data/test/integration/{concept_scheme_test.rb → concept_scheme_browsing_test.rb} +1 -1
  78. data/test/integration/{instance_configuration_test.rb → instance_configuration_browsing_test.rb} +0 -0
  79. data/test/integration/note_annotations_test.rb +1 -0
  80. data/test/integration/search_test.rb +0 -1
  81. data/test/integration_test_helper.rb +3 -28
  82. data/test/test_helper.rb +0 -2
  83. data/test/unit/instance_configuration_test.rb +1 -1
  84. data/test/unit/skos_import_test.rb +14 -0
  85. data/vendor/assets/stylesheets/jquery-ui-1.8.23.custom.css.scss +20 -20
  86. metadata +39 -22
  87. data/lib/debug.rb +0 -40
@@ -14,34 +14,9 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require File.join(File.expand_path(File.dirname(__FILE__)), 'test_helper')
18
17
  require 'capybara/rails'
18
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'capybara_helper')
19
+ require 'webmock'
19
20
 
20
- module ActionController
21
- class IntegrationTest
22
- include Capybara::DSL
21
+ WebMock.allow_net_connect! # required for integration tests
23
22
 
24
- Capybara.javascript_driver = :webkit
25
-
26
- def login(role = nil)
27
- logout
28
- user(role)
29
- visit new_user_session_path(:lang => :de)
30
- fill_in "E-Mail", :with => user.email
31
- fill_in "Passwort", :with => user.password
32
- click_button "Anmelden"
33
- end
34
-
35
- def logout
36
- visit dashboard_path(:lang => :de)
37
- click_link_or_button "Abmelden" if page.has_link?("Abmelden")
38
- @user.try(:destroy)
39
- @user = nil
40
- end
41
-
42
- def user(role = nil)
43
- @user ||= FactoryGirl.create(:user, :role => (role || User.default_role))
44
- end
45
-
46
- end
47
- end
data/test/test_helper.rb CHANGED
@@ -19,5 +19,3 @@ require 'rubygems'
19
19
  ENV["RAILS_ENV"] = "test"
20
20
  require File.expand_path('../../config/environment', __FILE__)
21
21
  require 'rails/test_help'
22
- require 'webmock'
23
- WebMock.allow_net_connect! # required for integration tests
@@ -16,7 +16,7 @@
16
16
 
17
17
  require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
18
18
 
19
- class InstanceConfigurationTest < ActiveSupport::TestCase
19
+ class InstanceConfigurationBrowsingTest < ActiveSupport::TestCase
20
20
 
21
21
  setup do
22
22
  @config = Iqvoc::InstanceConfiguration.instance
@@ -210,5 +210,19 @@ class SkosCollectionImportTest < ActiveSupport::TestCase
210
210
  assert_not_nil collection_with_subcollections
211
211
  assert_not_nil collection_with_subcollections.subcollections.first
212
212
  end
213
+
214
+ test "empty string import" do
215
+ test_data = (<<-DATA
216
+ <http://www.example.com/water-animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2008/05/skos#Collection> .
217
+ <http://www.example.com/water-animal> <http://www.w3.org/2008/05/skos#prefLabel> ""@de .
218
+ DATA
219
+ ).split("\n")
220
+
221
+ assert_nothing_raised do
222
+ assert_difference('Collection::Base.count', 1) do
223
+ Iqvoc::SkosImporter.new(test_data, "http://www.example.com/")
224
+ end
225
+ end
226
+ end
213
227
  end
214
228
 
@@ -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 asset-url('ui-bg_inset-hard_100_fcfdfd_1x100.png', image) 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') 50% bottom repeat-x; color: #222222; }
60
60
  .ui-widget-content a { color: #222222; }
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; }
61
+ .ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc asset-url('ui-bg_gloss-wave_55_5c9ccc_500x100.png') 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 asset-url('ui-bg_glass_85_dfeffc_1x400.png', image) 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') 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 asset-url('ui-bg_glass_75_d0e5f5_1x400.png', image) 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') 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 asset-url('ui-bg_inset-hard_100_f5f8f9_1x100.png', image) 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') 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 asset-url('ui-bg_flat_55_fbec88_40x100.png', image) 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') 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 asset-url('ui-bg_glass_95_fef1ec_1x400.png', image) 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') 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: 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); }
89
+ .ui-icon { width: 16px; height: 16px; background-image: asset-url('ui-icons_469bdd_256x240.png'); }
90
+ .ui-widget-content .ui-icon {background-image: asset-url('ui-icons_469bdd_256x240.png'); }
91
+ .ui-widget-header .ui-icon {background-image: asset-url('ui-icons_d8e7f3_256x240.png'); }
92
+ .ui-state-default .ui-icon { background-image: asset-url('ui-icons_6da8d5_256x240.png'); }
93
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: asset-url('ui-icons_217bc0_256x240.png'); }
94
+ .ui-state-active .ui-icon {background-image: asset-url('ui-icons_f9bd01_256x240.png'); }
95
+ .ui-state-highlight .ui-icon {background-image: asset-url('ui-icons_2e83ff_256x240.png'); }
96
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: asset-url('ui-icons_cd0a0a_256x240.png'); }
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 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; }/*!
286
+ .ui-widget-overlay { background: #aaaaaa asset-url('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 asset-url('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; }/*!
288
288
  * jQuery UI Autocomplete 1.8.23
289
289
  *
290
290
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
@@ -293,7 +293,7 @@
293
293
  *
294
294
  * http://docs.jquery.com/UI/Autocomplete#theming
295
295
  */
296
- .ui-autocomplete { position: absolute; cursor: default; }
296
+ .ui-autocomplete { position: absolute; cursor: default; }
297
297
 
298
298
  /* workarounds */
299
299
  * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
@@ -358,7 +358,7 @@
358
358
  .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
359
359
  .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
360
360
  .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
361
- .ui-datepicker select.ui-datepicker-month,
361
+ .ui-datepicker select.ui-datepicker-month,
362
362
  .ui-datepicker select.ui-datepicker-year { width: 49%;}
363
363
  .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
364
364
  .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
@@ -402,4 +402,4 @@
402
402
  left: -4px; /*must have*/
403
403
  width: 200px; /*must have*/
404
404
  height: 200px; /*must have*/
405
- }
405
+ }
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.1.3
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Glaser
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-05-15 00:00:00.000000000 Z
13
+ date: 2013-11-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.1
21
+ version: 4.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- version: 3.2.1
28
+ version: 4.0.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: bundler
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -44,16 +44,16 @@ dependencies:
44
44
  name: kaminari
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: '0'
49
+ version: 0.13.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - '>='
54
+ - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: '0'
56
+ version: 0.13.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: authlogic
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -144,16 +144,30 @@ dependencies:
144
144
  requirements:
145
145
  - - ~>
146
146
  - !ruby/object:Gem::Version
147
- version: 3.2.5
147
+ version: 4.0.0
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - ~>
153
153
  - !ruby/object:Gem::Version
154
- version: 3.2.5
154
+ version: 4.0.0
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: bootstrap-sass
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ~>
160
+ - !ruby/object:Gem::Version
161
+ version: 2.3.1.3
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ~>
167
+ - !ruby/object:Gem::Version
168
+ version: 2.3.1.3
169
+ - !ruby/object:Gem::Dependency
170
+ name: iq_triplestorage
157
171
  requirement: !ruby/object:Gem::Requirement
158
172
  requirements:
159
173
  - - '>='
@@ -167,19 +181,19 @@ dependencies:
167
181
  - !ruby/object:Gem::Version
168
182
  version: '0'
169
183
  - !ruby/object:Gem::Dependency
170
- name: iq_triplestorage
184
+ name: protected_attributes
171
185
  requirement: !ruby/object:Gem::Requirement
172
186
  requirements:
173
187
  - - '>='
174
188
  - !ruby/object:Gem::Version
175
- version: '0'
189
+ version: 1.0.5
176
190
  type: :runtime
177
191
  prerelease: false
178
192
  version_requirements: !ruby/object:Gem::Requirement
179
193
  requirements:
180
194
  - - '>='
181
195
  - !ruby/object:Gem::Version
182
- version: '0'
196
+ version: 1.0.5
183
197
  description: iQvoc - a SKOS(-XL) vocabulary management system built on the Semantic
184
198
  Web
185
199
  email:
@@ -474,7 +488,6 @@ files:
474
488
  - public/500.html
475
489
  - public/favicon.ico
476
490
  - public/robots.txt
477
- - lib/debug.rb
478
491
  - lib/engine_tasks/db.rake
479
492
  - lib/engine_tasks/setup.rake
480
493
  - lib/generators/app/template.rb
@@ -505,9 +518,11 @@ files:
505
518
  - lib/string.rb
506
519
  - lib/tasks/heroku.rake
507
520
  - lib/tasks/importer.rake
521
+ - lib/tasks/release.rake
508
522
  - lib/tasks/setup.rake
509
523
  - lib/tasks/sync.rake
510
524
  - lib/templates/erb/scaffold/_form.html.erb
525
+ - test/capybara_helper.rb
511
526
  - test/factories.rb
512
527
  - test/functional/hierarchy_test.rb
513
528
  - test/functional/rdf_test.rb
@@ -517,10 +532,10 @@ files:
517
532
  - test/integration/client_augmentation_test.rb
518
533
  - test/integration/client_edit_concept_test.rb
519
534
  - test/integration/collection_circularity_test.rb
520
- - test/integration/concept_scheme_test.rb
521
- - test/integration/concept_test.rb
535
+ - test/integration/concept_browsing_test.rb
536
+ - test/integration/concept_scheme_browsing_test.rb
522
537
  - test/integration/edit_concepts_test.rb
523
- - test/integration/instance_configuration_test.rb
538
+ - test/integration/instance_configuration_browsing_test.rb
524
539
  - test/integration/navigation_test.rb
525
540
  - test/integration/note_annotations_test.rb
526
541
  - test/integration/search_test.rb
@@ -581,7 +596,8 @@ files:
581
596
  - vendor/assets/stylesheets/jquery-ui-1.8.23.custom.css.scss
582
597
  - vendor/assets/stylesheets/jquery.treeview.css.erb
583
598
  homepage: http://github.com/innoq/iqvoc
584
- licenses: []
599
+ licenses:
600
+ - Apache License 2.0
585
601
  metadata: {}
586
602
  post_install_message:
587
603
  rdoc_options: []
@@ -599,11 +615,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
599
615
  version: '0'
600
616
  requirements: []
601
617
  rubyforge_project:
602
- rubygems_version: 2.0.0
618
+ rubygems_version: 2.0.3
603
619
  signing_key:
604
620
  specification_version: 4
605
621
  summary: iQvoc
606
622
  test_files:
623
+ - test/capybara_helper.rb
607
624
  - test/factories.rb
608
625
  - test/functional/hierarchy_test.rb
609
626
  - test/functional/rdf_test.rb
@@ -613,10 +630,10 @@ test_files:
613
630
  - test/integration/client_augmentation_test.rb
614
631
  - test/integration/client_edit_concept_test.rb
615
632
  - test/integration/collection_circularity_test.rb
616
- - test/integration/concept_scheme_test.rb
617
- - test/integration/concept_test.rb
633
+ - test/integration/concept_browsing_test.rb
634
+ - test/integration/concept_scheme_browsing_test.rb
618
635
  - test/integration/edit_concepts_test.rb
619
- - test/integration/instance_configuration_test.rb
636
+ - test/integration/instance_configuration_browsing_test.rb
620
637
  - test/integration/navigation_test.rb
621
638
  - test/integration/note_annotations_test.rb
622
639
  - test/integration/search_test.rb
data/lib/debug.rb DELETED
@@ -1,40 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- # prints arguments to STDOUT or log depending on context
4
- # optional block should return an array of values; the resulting output is then
5
- # wrapped in separator lines
6
- # the last argument may be an options hash with members :inspect and/or :tag
7
- #
8
- # examples:
9
- # dbg("IMPORTANT", foo, bar)
10
- # dbg { [lipsum] }
11
- # dbg(foo, bar, :inspect => false, :tag => false) do |args|
12
- # args << lorem
13
- # args << ipsum
14
- # end
15
- def dbg(*args, &block)
16
- defaults = { :inspect => true, :tag => true }
17
- options = args.last.is_a?(Hash) && (defaults.keys & args.last.keys).any?
18
- options = defaults.merge(options ? args.pop : {})
19
-
20
- tty = defined?(Rails::Console) || Rails.env.test? # STDOUT is usually available here
21
- meth = tty ? method(:puts) : Rails.logger.method(:debug)
22
-
23
- if block
24
- meth.call "=" * 80
25
- block_args = yield [] # XXX: ideally we'd pass the `dbg` method itself here, but the need for `.call` makes for a weird API
26
- block_args << options
27
- dbg(*block_args)
28
- meth.call "-" * 80
29
- return unless args.length > 0
30
- end
31
-
32
- prefix = "#{args.shift} " if [String, Symbol].include?(args.first.class) # XXX: undocumented and unexpected
33
-
34
- serializer = options[:inspect] ? :inspect : :to_s
35
- msg = args.map(&serializer).join(" | ")
36
- msg = "#{prefix}#{msg}"
37
- msg = "[DEBUG] #{msg}" if options[:tag]
38
-
39
- meth.call msg
40
- end