rdf-tabular 0.1.1 → 0.1.2

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.
data/spec/reader_spec.rb CHANGED
@@ -47,6 +47,108 @@ describe RDF::Tabular::Reader do
47
47
  readers.each { |reader| expect(reader).to eq RDF::Tabular::Reader }
48
48
  end
49
49
 
50
+ context "HTTP Headers" do
51
+ before(:each) {
52
+ allow_any_instance_of(RDF::Tabular::Dialect).to receive(:embedded_metadata).and_return(RDF::Tabular::Table.new({}))
53
+ allow_any_instance_of(RDF::Tabular::Metadata).to receive(:each_row).and_yield(RDF::Statement.new)
54
+ }
55
+ it "sets delimiter to TAB in dialect given text/tsv" do
56
+ input = double("input", content_type: "text/tsv", headers: {content_type: "text/tsv"}, charset: nil)
57
+ expect_any_instance_of(RDF::Tabular::Dialect).to receive(:separator=).with("\t")
58
+ RDF::Tabular::Reader.new(input) {|r| r.each_statement {}}
59
+ end
60
+ it "sets header to false in dialect given header=absent" do
61
+ input = double("input", content_type: "text/csv", headers: {content_type: "text/csv;header=absent"}, charset: nil)
62
+ expect_any_instance_of(RDF::Tabular::Dialect).to receive(:header=).with(false)
63
+ RDF::Tabular::Reader.new(input) {|r| r.each_statement {}}
64
+ end
65
+ it "sets encoding to ISO-8859-4 in dialect given charset=ISO-8859-4" do
66
+ input = double("input", content_type: "text/csv", headers: {content_type: "text/csv;charset=ISO-8859-4"}, charset: "ISO-8859-4")
67
+ expect_any_instance_of(RDF::Tabular::Dialect).to receive(:encoding=).with("ISO-8859-4")
68
+ RDF::Tabular::Reader.new(input) {|r| r.each_statement {}}
69
+ end
70
+ it "sets lang to de in metadata given Content-Language=de" do
71
+ input = double("input", content_type: "text/csv", headers: {content_language: "de"}, charset: nil)
72
+ expect_any_instance_of(RDF::Tabular::Metadata).to receive(:lang=).with("de")
73
+ RDF::Tabular::Reader.new(input) {|r| r.each_statement {}}
74
+ end
75
+ it "does not set lang with two languages in metadata given Content-Language=de, en" do
76
+ input = double("input", content_type: "text/csv", headers: {content_language: "de, en"}, charset: nil)
77
+ expect_any_instance_of(RDF::Tabular::Metadata).not_to receive(:lang=)
78
+ RDF::Tabular::Reader.new(input) {|r| r.each_statement {}}
79
+ end
80
+ end
81
+
82
+ context "non-file input" do
83
+ let(:expected) {
84
+ JSON.parse(%({
85
+ "table": [
86
+ {
87
+ "url": "http://example.org/default-metadata",
88
+ "row": [
89
+ {
90
+ "url": "http://example.org/default-metadata#row=2",
91
+ "rownum": 1,
92
+ "describes": [
93
+ {
94
+ "country": "AD",
95
+ "name": "Andorra"
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ "url": "http://example.org/default-metadata#row=3",
101
+ "rownum": 2,
102
+ "describes": [
103
+ {
104
+ "country": "AF",
105
+ "name": "Afghanistan"
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "url": "http://example.org/default-metadata#row=4",
111
+ "rownum": 3,
112
+ "describes": [
113
+ {
114
+ "country": "AI",
115
+ "name": "Anguilla"
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ "url": "http://example.org/default-metadata#row=5",
121
+ "rownum": 4,
122
+ "describes": [
123
+ {
124
+ "country": "AL",
125
+ "name": "Albania"
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ ]
132
+ }))
133
+ }
134
+ {
135
+ StringIO: StringIO.new(File.read(File.expand_path("../data/country-codes-and-names.csv", __FILE__))),
136
+ ArrayOfArrayOfString: CSV.new(File.open(File.expand_path("../data/country-codes-and-names.csv", __FILE__))).to_a,
137
+ String: File.read(File.expand_path("../data/country-codes-and-names.csv", __FILE__)),
138
+ }.each do |name, input|
139
+ it name do
140
+ RDF::Tabular::Reader.new(input, noProv: true, debug: @debug) do |reader|
141
+ expect(JSON.parse(reader.to_json)).to produce(expected,
142
+ debug: @debug,
143
+ result: expected,
144
+ noProv: true,
145
+ metadata: reader.metadata
146
+ )
147
+ end
148
+ end
149
+ end
150
+ end
151
+
50
152
  context "Test Files" do
51
153
  test_files = {
52
154
  "tree-ops.csv" => "tree-ops-standard.ttl",
data/spec/suite_helper.rb CHANGED
@@ -45,7 +45,8 @@ module RDF::Util
45
45
  }
46
46
  #puts "use #{filename_or_url} locally"
47
47
  document_options[:headers][:content_type] = case filename_or_url.to_s
48
- when /\.csv$/ then 'text/csv'
48
+ when /\.csv$/ then 'text/csv'
49
+ when /\.tsv$/ then 'text/tsv'
49
50
  when /\.json$/ then 'application/json'
50
51
  when /\.jsonld$/ then 'application/ld+json'
51
52
  else 'unknown'
metadata CHANGED
@@ -1,210 +1,211 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-tabular
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-02 00:00:00.000000000 Z
11
+ date: 2015-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcp47
15
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.3'
20
- - - '>='
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: 0.3.3
23
- requirement: !ruby/object:Gem::Requirement
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
24
26
  requirements:
25
- - - ~>
27
+ - - "~>"
26
28
  - !ruby/object:Gem::Version
27
29
  version: '0.3'
28
- - - '>='
30
+ - - ">="
29
31
  - !ruby/object:Gem::Version
30
32
  version: 0.3.3
31
- prerelease: false
32
- type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rdf
35
- version_requirements: !ruby/object:Gem::Requirement
35
+ requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ~>
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.1'
40
- - - '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: 1.1.7
43
- requirement: !ruby/object:Gem::Requirement
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - ~>
47
+ - - "~>"
46
48
  - !ruby/object:Gem::Version
47
49
  version: '1.1'
48
- - - '>='
50
+ - - ">="
49
51
  - !ruby/object:Gem::Version
50
52
  version: 1.1.7
51
- prerelease: false
52
- type: :runtime
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rdf-xsd
55
- version_requirements: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- version: '1.1'
60
55
  requirement: !ruby/object:Gem::Requirement
61
56
  requirements:
62
- - - ~>
57
+ - - "~>"
63
58
  - !ruby/object:Gem::Version
64
59
  version: '1.1'
65
- prerelease: false
66
60
  type: :runtime
67
- - !ruby/object:Gem::Dependency
68
- name: json-ld
61
+ prerelease: false
69
62
  version_requirements: !ruby/object:Gem::Requirement
70
63
  requirements:
71
- - - ~>
64
+ - - "~>"
72
65
  - !ruby/object:Gem::Version
73
66
  version: '1.1'
67
+ - !ruby/object:Gem::Dependency
68
+ name: json-ld
74
69
  requirement: !ruby/object:Gem::Requirement
75
70
  requirements:
76
- - - ~>
71
+ - - "~>"
77
72
  - !ruby/object:Gem::Version
78
73
  version: '1.1'
79
- prerelease: false
80
74
  type: :runtime
81
- - !ruby/object:Gem::Dependency
82
- name: addressable
75
+ prerelease: false
83
76
  version_requirements: !ruby/object:Gem::Requirement
84
77
  requirements:
85
- - - ~>
78
+ - - "~>"
86
79
  - !ruby/object:Gem::Version
87
- version: '2.3'
80
+ version: '1.1'
81
+ - !ruby/object:Gem::Dependency
82
+ name: addressable
88
83
  requirement: !ruby/object:Gem::Requirement
89
84
  requirements:
90
- - - ~>
85
+ - - "~>"
91
86
  - !ruby/object:Gem::Version
92
87
  version: '2.3'
93
- prerelease: false
94
88
  type: :runtime
95
- - !ruby/object:Gem::Dependency
96
- name: yard
89
+ prerelease: false
97
90
  version_requirements: !ruby/object:Gem::Requirement
98
91
  requirements:
99
- - - ~>
92
+ - - "~>"
100
93
  - !ruby/object:Gem::Version
101
- version: '0.8'
94
+ version: '2.3'
95
+ - !ruby/object:Gem::Dependency
96
+ name: yard
102
97
  requirement: !ruby/object:Gem::Requirement
103
98
  requirements:
104
- - - ~>
99
+ - - "~>"
105
100
  - !ruby/object:Gem::Version
106
101
  version: '0.8'
107
- prerelease: false
108
102
  type: :development
109
- - !ruby/object:Gem::Dependency
110
- name: rdf-spec
103
+ prerelease: false
111
104
  version_requirements: !ruby/object:Gem::Requirement
112
105
  requirements:
113
- - - ~>
106
+ - - "~>"
114
107
  - !ruby/object:Gem::Version
115
- version: '1.1'
108
+ version: '0.8'
109
+ - !ruby/object:Gem::Dependency
110
+ name: rdf-spec
116
111
  requirement: !ruby/object:Gem::Requirement
117
112
  requirements:
118
- - - ~>
113
+ - - "~>"
119
114
  - !ruby/object:Gem::Version
120
115
  version: '1.1'
121
- prerelease: false
122
116
  type: :development
123
- - !ruby/object:Gem::Dependency
124
- name: rdf-turtle
117
+ prerelease: false
125
118
  version_requirements: !ruby/object:Gem::Requirement
126
119
  requirements:
127
- - - ~>
120
+ - - "~>"
128
121
  - !ruby/object:Gem::Version
129
122
  version: '1.1'
123
+ - !ruby/object:Gem::Dependency
124
+ name: rdf-turtle
130
125
  requirement: !ruby/object:Gem::Requirement
131
126
  requirements:
132
- - - ~>
127
+ - - "~>"
133
128
  - !ruby/object:Gem::Version
134
129
  version: '1.1'
135
- prerelease: false
136
130
  type: :development
137
- - !ruby/object:Gem::Dependency
138
- name: rdf-isomorphic
131
+ prerelease: false
139
132
  version_requirements: !ruby/object:Gem::Requirement
140
133
  requirements:
141
- - - ~>
134
+ - - "~>"
142
135
  - !ruby/object:Gem::Version
143
136
  version: '1.1'
137
+ - !ruby/object:Gem::Dependency
138
+ name: rdf-isomorphic
144
139
  requirement: !ruby/object:Gem::Requirement
145
140
  requirements:
146
- - - ~>
141
+ - - "~>"
147
142
  - !ruby/object:Gem::Version
148
143
  version: '1.1'
149
- prerelease: false
150
144
  type: :development
151
- - !ruby/object:Gem::Dependency
152
- name: sparql
145
+ prerelease: false
153
146
  version_requirements: !ruby/object:Gem::Requirement
154
147
  requirements:
155
- - - ~>
148
+ - - "~>"
156
149
  - !ruby/object:Gem::Version
157
150
  version: '1.1'
151
+ - !ruby/object:Gem::Dependency
152
+ name: sparql
158
153
  requirement: !ruby/object:Gem::Requirement
159
154
  requirements:
160
- - - ~>
155
+ - - "~>"
161
156
  - !ruby/object:Gem::Version
162
157
  version: '1.1'
163
- prerelease: false
164
158
  type: :development
165
- - !ruby/object:Gem::Dependency
166
- name: rspec
159
+ prerelease: false
167
160
  version_requirements: !ruby/object:Gem::Requirement
168
161
  requirements:
169
- - - ~>
162
+ - - "~>"
170
163
  - !ruby/object:Gem::Version
171
- version: '3.0'
164
+ version: '1.1'
165
+ - !ruby/object:Gem::Dependency
166
+ name: rspec
172
167
  requirement: !ruby/object:Gem::Requirement
173
168
  requirements:
174
- - - ~>
169
+ - - "~>"
175
170
  - !ruby/object:Gem::Version
176
171
  version: '3.0'
177
- prerelease: false
178
172
  type: :development
179
- - !ruby/object:Gem::Dependency
180
- name: rspec-its
173
+ prerelease: false
181
174
  version_requirements: !ruby/object:Gem::Requirement
182
175
  requirements:
183
- - - ~>
176
+ - - "~>"
184
177
  - !ruby/object:Gem::Version
185
- version: '1.0'
178
+ version: '3.0'
179
+ - !ruby/object:Gem::Dependency
180
+ name: rspec-its
186
181
  requirement: !ruby/object:Gem::Requirement
187
182
  requirements:
188
- - - ~>
183
+ - - "~>"
189
184
  - !ruby/object:Gem::Version
190
185
  version: '1.0'
191
- prerelease: false
192
186
  type: :development
193
- - !ruby/object:Gem::Dependency
194
- name: webmock
187
+ prerelease: false
195
188
  version_requirements: !ruby/object:Gem::Requirement
196
189
  requirements:
197
- - - ~>
190
+ - - "~>"
198
191
  - !ruby/object:Gem::Version
199
- version: '1.17'
192
+ version: '1.0'
193
+ - !ruby/object:Gem::Dependency
194
+ name: webmock
200
195
  requirement: !ruby/object:Gem::Requirement
201
196
  requirements:
202
- - - ~>
197
+ - - "~>"
203
198
  - !ruby/object:Gem::Version
204
199
  version: '1.17'
205
- prerelease: false
206
200
  type: :development
207
- description: RDF::Tabular processes tabular data with metadata creating RDF or JSON output.
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '1.17'
207
+ description: RDF::Tabular processes tabular data with metadata creating RDF or JSON
208
+ output.
208
209
  email: public-rdf-ruby@w3.org
209
210
  executables: []
210
211
  extensions: []
@@ -238,24 +239,24 @@ homepage: http://github.com/ruby-rdf/rdf-tabular
238
239
  licenses:
239
240
  - Public Domain
240
241
  metadata: {}
241
- post_install_message:
242
+ post_install_message:
242
243
  rdoc_options: []
243
244
  require_paths:
244
245
  - lib
245
246
  required_ruby_version: !ruby/object:Gem::Requirement
246
247
  requirements:
247
- - - '>='
248
+ - - ">="
248
249
  - !ruby/object:Gem::Version
249
250
  version: 2.0.0
250
251
  required_rubygems_version: !ruby/object:Gem::Requirement
251
252
  requirements:
252
- - - '>='
253
+ - - ">="
253
254
  - !ruby/object:Gem::Version
254
255
  version: '0'
255
256
  requirements: []
256
- rubyforge_project:
257
- rubygems_version: 2.4.5
258
- signing_key:
257
+ rubyforge_project:
258
+ rubygems_version: 2.4.3
259
+ signing_key:
259
260
  specification_version: 4
260
261
  summary: Tabular Data RDF Reader and JSON serializer.
261
262
  test_files: