summon 1.2.0 → 1.2.1

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.
@@ -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