summon 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- summon (1.2.0)
4
+ summon (1.2.1)
5
5
  json (>= 1.2.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
10
  diff-lcs (1.1.2)
11
- json (1.4.6)
11
+ json (1.5.1)
12
12
  rake (0.8.7)
13
13
  rspec (2.4.0)
14
14
  rspec-core (~> 2.4.0)
@@ -1,7 +1,7 @@
1
1
  require 'time'
2
2
  require 'uri'
3
3
  require 'openssl'
4
- require 'sha1'
4
+ require 'digest/sha1'
5
5
  require 'base64'
6
6
 
7
7
  module Summon::Transport
@@ -18,11 +18,11 @@ module Summon::Transport
18
18
  end
19
19
  end.reject{|o| o.nil? || o.empty?}.sort.join('&')
20
20
  end
21
-
21
+
22
22
  def urlencode(str)
23
- str.gsub(/[^a-zA-Z0-9_\.\-]/n) {|s| sprintf('%%%02x', s[0]) }
23
+ str.gsub(/[^a-zA-Z0-9_\.\-]/n) {|s| sprintf('%%%02x', s[0].ord) }
24
24
  end
25
-
25
+
26
26
  def urldecode(str)
27
27
  CGI.unescape(str)
28
28
  end
@@ -37,7 +37,7 @@ module Summon::Transport
37
37
  for param in qstr.split('&')
38
38
  m,k,v = *param.match(/^(.*?)=(.*?)$/)
39
39
  if current = result[k]
40
- result[k] = current.to_a
40
+ result[k] = current.kind_of?(Array) ? current : [current]
41
41
  result[k] << urldecode(v)
42
42
  else
43
43
  result[k] = urldecode(v)
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Summon
3
- VERSION = "1.2.0"
3
+ VERSION = "1.2.1"
4
4
  end
@@ -21,4 +21,10 @@ describe Summon::Transport::Qstring do
21
21
  from_query_string(nil).should be_empty
22
22
  from_query_string("").should be_empty
23
23
  end
24
+
25
+ it "encodes strings properly" do
26
+ to_query_string("foo" => "bar").should == "foo=bar"
27
+ to_query_string("foo" => "*").should == "foo=%2a"
28
+ end
29
+
24
30
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: summon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 1
10
+ version: 1.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Charles Lowell
@@ -16,11 +16,14 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-04-11 00:00:00 -05:00
19
+ date: 2011-05-23 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ name: json
24
+ prerelease: false
25
+ type: :runtime
26
+ requirement: &id001 !ruby/object:Gem::Requirement
24
27
  none: false
25
28
  requirements:
26
29
  - - ">="
@@ -31,12 +34,12 @@ dependencies:
31
34
  - 2
32
35
  - 0
33
36
  version: 1.2.0
34
- prerelease: false
35
- requirement: *id001
36
- type: :runtime
37
- name: json
37
+ version_requirements: *id001
38
38
  - !ruby/object:Gem::Dependency
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ name: rspec
40
+ prerelease: false
41
+ type: :development
42
+ requirement: &id002 !ruby/object:Gem::Requirement
40
43
  none: false
41
44
  requirements:
42
45
  - - ">="
@@ -47,12 +50,12 @@ dependencies:
47
50
  - 0
48
51
  - 0
49
52
  version: 2.0.0
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
50
56
  prerelease: false
51
- requirement: *id002
52
57
  type: :development
53
- name: rspec
54
- - !ruby/object:Gem::Dependency
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
58
+ requirement: &id003 !ruby/object:Gem::Requirement
56
59
  none: false
57
60
  requirements:
58
61
  - - ">="
@@ -61,10 +64,7 @@ dependencies:
61
64
  segments:
62
65
  - 0
63
66
  version: "0"
64
- prerelease: false
65
- requirement: *id003
66
- type: :development
67
- name: rake
67
+ version_requirements: *id003
68
68
  description: Ruby language bindings for Serials Solutions Summon Unified Discovery Service
69
69
  email:
70
70
  - cowboyd@thefrontside.net