tripod 0.7.23 → 0.7.24

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/Gemfile CHANGED
@@ -4,6 +4,6 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :test do
7
- gem "rspec", "~> 2.12"
7
+ gem "rspec", "~> 2.14"
8
8
  gem "webmock"
9
9
  end
@@ -14,12 +14,12 @@ module Tripod::SparqlClient
14
14
  # @param [ String ] accept_header The accept header to send with the request
15
15
  # @param [ Hash ] any extra params to send with the request
16
16
  # @return [ RestClient::Response ]
17
- def self.query(sparql, accept_header, extra_params={})
17
+ def self.query(sparql, accept_header, extra_params={}, response_limit_bytes = :default)
18
18
 
19
19
  params = {:query => sparql}.merge(extra_params)
20
20
  request_url = Tripod.query_endpoint + '?' + params.to_query
21
21
  streaming_opts = {:accept => accept_header, :timeout_seconds => Tripod.timeout_seconds}
22
- streaming_opts.merge!(:response_limit_bytes => Tripod.response_limit_bytes) if Tripod.response_limit_bytes
22
+ streaming_opts.merge!(_response_limit_options(response_limit_bytes)) if Tripod.response_limit_bytes
23
23
 
24
24
  # Hash.to_query from active support core extensions
25
25
  stream_data = -> {
@@ -56,6 +56,16 @@ module Tripod::SparqlClient
56
56
  JSON.parse(query_response)["results"]["bindings"]
57
57
  end
58
58
 
59
+ def self._response_limit_options(response_limit_bytes)
60
+ case response_limit_bytes
61
+ when Integer
62
+ {response_limit_bytes: response_limit_bytes}
63
+ when :default
64
+ {response_limit_bytes: Tripod.response_limit_bytes}
65
+ when :no_response_limit
66
+ {}
67
+ end
68
+ end
59
69
  end
60
70
 
61
71
  module Update
@@ -74,7 +84,7 @@ module Tripod::SparqlClient
74
84
  :url => Tripod.update_endpoint,
75
85
  :timeout => Tripod.timeout_seconds,
76
86
  :payload => sparql,
77
- :headers => {
87
+ :headers => {
78
88
  :content_type => 'application/sparql-update'
79
89
  }
80
90
  )
@@ -7,7 +7,7 @@ module Tripod
7
7
  # opts
8
8
  #  :accept => "*/*"
9
9
  # :timeout_seconds = 10
10
- # :limit_bytes = nil
10
+ # :response_limit_bytes = nil
11
11
  def self.get_data(request_url, opts={})
12
12
 
13
13
  accept = opts[:accept] || "*/*"
@@ -1,3 +1,3 @@
1
1
  module Tripod
2
- VERSION = "0.7.23"
2
+ VERSION = "0.7.24"
3
3
  end
@@ -17,17 +17,59 @@ describe Tripod::SparqlClient do
17
17
  p
18
18
  end
19
19
 
20
- it "should use Tripod::Streaming to get the data" do
21
-
22
- Tripod::Streaming.should_receive(:get_data).with(
23
- Tripod.query_endpoint + "?query=#{CGI.escape(query)}",
24
- {
25
- accept: "application/sparql-results+json",
26
- timeout_seconds: Tripod.timeout_seconds,
27
- response_limit_bytes: Tripod.response_limit_bytes
28
- }
29
- ).and_return("some data")
30
- Tripod::SparqlClient::Query.query(query, "application/sparql-results+json")
20
+ describe "using Tripod::Streaming to get the data" do
21
+ before(:each) do
22
+ Tripod::Streaming.stub(get_data: "some data")
23
+ end
24
+
25
+ example do
26
+ Tripod::SparqlClient::Query.query(query, "application/sparql-results+json")
27
+
28
+ expect(Tripod::Streaming).to have_received(:get_data).with(
29
+ Tripod.query_endpoint + "?query=#{CGI.escape(query)}",
30
+ {
31
+ accept: "application/sparql-results+json",
32
+ timeout_seconds: Tripod.timeout_seconds,
33
+ response_limit_bytes: Tripod.response_limit_bytes
34
+ }
35
+ )
36
+ end
37
+
38
+ context "with an integer response limit (number of bytes)" do
39
+ it "uses the limit" do
40
+ Tripod::SparqlClient::Query.query(
41
+ query, "application/sparql-results+json", {}, 1024
42
+ )
43
+
44
+ expect(Tripod::Streaming).to have_received(:get_data).with(
45
+ kind_of(String), hash_including(response_limit_bytes: 1024)
46
+ )
47
+ end
48
+ end
49
+
50
+ context "with a :default response limit" do
51
+ it "uses the Tripod response limit" do
52
+ Tripod::SparqlClient::Query.query(
53
+ query, "application/sparql-results+json", {}, :default
54
+ )
55
+
56
+ expect(Tripod::Streaming).to have_received(:get_data).with(
57
+ kind_of(String), hash_including(:response_limit_bytes)
58
+ )
59
+ end
60
+ end
61
+
62
+ context "with a :no_response_limit response limit" do
63
+ it "doesn't pass a limit" do
64
+ Tripod::SparqlClient::Query.query(
65
+ query, "application/sparql-results+json", {}, :no_response_limit
66
+ )
67
+
68
+ expect(Tripod::Streaming).to have_received(:get_data).with(
69
+ kind_of(String), hash_not_including(:response_limit_bytes)
70
+ )
71
+ end
72
+ end
31
73
  end
32
74
 
33
75
  it "should execute the query and return the format requested" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tripod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.23
4
+ version: 0.7.24
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-09-16 00:00:00.000000000 Z
14
+ date: 2013-10-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
18
- requirement: &70241410836880 !ruby/object:Gem::Requirement
18
+ requirement: &70219995371320 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70241410836880
26
+ version_requirements: *70219995371320
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
- requirement: &70241410851460 !ruby/object:Gem::Requirement
29
+ requirement: &70219995370780 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '3.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70241410851460
37
+ version_requirements: *70219995370780
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: equivalent-xml
40
- requirement: &70241410849600 !ruby/object:Gem::Requirement
40
+ requirement: &70219995370360 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *70241410849600
48
+ version_requirements: *70219995370360
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rdf
51
- requirement: &70241410846180 !ruby/object:Gem::Requirement
51
+ requirement: &70219995369820 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: '1.0'
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *70241410846180
59
+ version_requirements: *70219995369820
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rdf-rdfxml
62
- requirement: &70241410860620 !ruby/object:Gem::Requirement
62
+ requirement: &70219995369400 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: '0'
68
68
  type: :runtime
69
69
  prerelease: false
70
- version_requirements: *70241410860620
70
+ version_requirements: *70219995369400
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rdf-turtle
73
- requirement: &70241410859520 !ruby/object:Gem::Requirement
73
+ requirement: &70219995368940 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '0'
79
79
  type: :runtime
80
80
  prerelease: false
81
- version_requirements: *70241410859520
81
+ version_requirements: *70219995368940
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: rdf-json
84
- requirement: &70241410858340 !ruby/object:Gem::Requirement
84
+ requirement: &70219995368520 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
- version_requirements: *70241410858340
92
+ version_requirements: *70219995368520
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: json-ld
95
- requirement: &70241410857500 !ruby/object:Gem::Requirement
95
+ requirement: &70219995368020 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ~>
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: 0.9.1
101
101
  type: :runtime
102
102
  prerelease: false
103
- version_requirements: *70241410857500
103
+ version_requirements: *70219995368020
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: guid
106
- requirement: &70241410856080 !ruby/object:Gem::Requirement
106
+ requirement: &70219995367600 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: '0'
112
112
  type: :runtime
113
113
  prerelease: false
114
- version_requirements: *70241410856080
114
+ version_requirements: *70219995367600
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: dalli
117
- requirement: &70241410868200 !ruby/object:Gem::Requirement
117
+ requirement: &70219995367060 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ~>
@@ -122,7 +122,7 @@ dependencies:
122
122
  version: '2.6'
123
123
  type: :runtime
124
124
  prerelease: false
125
- version_requirements: *70241410868200
125
+ version_requirements: *70219995367060
126
126
  description: RDF ruby ORM
127
127
  email:
128
128
  - ric@swirrl.com