tripod 0.7.23 → 0.7.24

Sign up to get free protection for your applications and to get access to all the features.
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