valdemaximus-xx 0.6.4 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.4
1
+ 0.7.0
@@ -19,30 +19,38 @@ class Hash
19
19
  elements
20
20
  end
21
21
 
22
+ def to_url_params_str
23
+ elements = []
24
+ self.each_pair do |key, value|
25
+ url_node_str(key, value, elements)
26
+ end
27
+ elements
28
+ end
29
+
22
30
  private
23
- # def url_node(key, value, elements, curr_path=nil)
24
- # if value.class != Hash && value.class != Array && curr_path.nil?
25
- # elements << "#{CGI::escape(key.to_s)}=#{CGI::escape(value.to_s)}"
26
- # elsif value.class != Hash && value.class != Array
27
- # elements << curr_path + CGI::escape("[#{key.to_s}]"+ '=' + CGI::escape(value.to_s))
28
- # elsif value.class == Hash
29
- # value.each_pair do |k, v|
30
- # if curr_path.nil?
31
- # url_node(k,v, elements, CGI::escape(key.to_s))
32
- # else
33
- # url_node(k,v, elements, curr_path + "[#{CGI::escape(key.to_s)}]")
34
- # end
35
- # end
36
- # elsif value.class == Array
37
- # value.each do |v|
38
- # if curr_path.nil?
39
- # url_node('',v, elements, CGI::escape(key.to_s))
40
- # else
41
- # url_node('',v, elements, curr_path + "[#{CGI::escape(key.to_s)}]")
42
- # end
43
- # end
44
- # end
45
- # end
31
+ def url_node_str(key, value, elements, curr_path=nil)
32
+ if value.class != Hash && value.class != Array && curr_path.nil?
33
+ elements << "#{CGI::escape(key.to_s)}=#{CGI::escape(value.to_s)}"
34
+ elsif value.class != Hash && value.class != Array
35
+ elements << curr_path + CGI::escape("[#{key.to_s}]"+ '=' + CGI::escape(value.to_s))
36
+ elsif value.class == Hash
37
+ value.each_pair do |k, v|
38
+ if curr_path.nil?
39
+ url_node_str(k,v, elements, CGI::escape(key.to_s))
40
+ else
41
+ url_node_str(k,v, elements, curr_path + "[#{CGI::escape(key.to_s)}]")
42
+ end
43
+ end
44
+ elsif value.class == Array
45
+ value.each do |v|
46
+ if curr_path.nil?
47
+ url_node_str('',v, elements, CGI::escape(key.to_s))
48
+ else
49
+ url_node_str('',v, elements, curr_path + "[#{CGI::escape(key.to_s)}]")
50
+ end
51
+ end
52
+ end
53
+ end
46
54
 
47
55
 
48
56
  def url_node(key, value, elements, curr_path=nil)
@@ -0,0 +1,12 @@
1
+ module ValdeMaximus
2
+ class UriUtil
3
+ CONTENT_TYPE = 'application/x-www-form-urlencoded'
4
+
5
+ def self.to_url_param(params, sep = '&')
6
+ params_array = params.map do |k,v|
7
+ v.inject([]){|c, val| c << "#{CGI.escape(k.to_s)}=#{CGI.escape(val.to_s)}"}.join(sep)
8
+ end
9
+ params_array.join(sep)
10
+ end
11
+ end
12
+ end
@@ -8,4 +8,5 @@ require "#{File.dirname(__FILE__)}/extensions/hash"
8
8
  require "#{File.dirname(__FILE__)}/extensions/time"
9
9
  require "#{File.dirname(__FILE__)}/extensions/hash_key"
10
10
  require "#{File.dirname(__FILE__)}/extensions/parse"
11
+ require "#{File.dirname(__FILE__)}/extensions/uri_util"
11
12
  require "#{File.dirname(__FILE__)}/helper_methods"
data/test/tc_hash.rb CHANGED
@@ -5,10 +5,10 @@ require "extensions/hash"
5
5
  require "extensions/string"
6
6
 
7
7
  class TestToAndFromUrl < Test::Unit::TestCase
8
- # def test_hash
9
- # params = {:hello => 'joe', :fun => {:stuff => {:basketball => :sports, :football => 'sports'}, :trip => 'Florida'}}
10
- # pp(params.to_url_params)
11
- # end
8
+ def test_hash
9
+ params = {:hello => 'joe', :fun => {:stuff => {:basketball => :sports, :football => 'sports'}, :trip => 'Florida'}}
10
+ pp(params.to_url_params)
11
+ end
12
12
  #
13
13
  # def test_simple_hash
14
14
  # params = {:hello => 'joe', :fun => 'trips', :trip => 'Florida'}
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{valdemaximus-xx}
8
- s.version = "0.6.4"
8
+ s.version = "0.7.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tom Johnson"]
12
- s.date = %q{2009-10-31}
12
+ s.date = %q{2009-12-17}
13
13
  s.description = %q{Extensions of standard ruby objects}
14
14
  s.email = %q{valde.maximus@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  "lib/extensions/pp_s.rb",
32
32
  "lib/extensions/string.rb",
33
33
  "lib/extensions/time.rb",
34
+ "lib/extensions/uri_util.rb",
34
35
  "lib/helper_methods.rb",
35
36
  "lib/valdemaximus-xx.rb",
36
37
  "test/tc_hash.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valdemaximus-xx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Johnson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-31 00:00:00 -06:00
12
+ date: 2009-12-17 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -37,6 +37,7 @@ files:
37
37
  - lib/extensions/pp_s.rb
38
38
  - lib/extensions/string.rb
39
39
  - lib/extensions/time.rb
40
+ - lib/extensions/uri_util.rb
40
41
  - lib/helper_methods.rb
41
42
  - lib/valdemaximus-xx.rb
42
43
  - test/tc_hash.rb