Module: Oss::Util
- Extended by:
- Util
- Defined in:
- lib/oss/util.rb
Instance Method Summary collapse
- #camelize(str) ⇒ Object
- #hash_filter(input_hash, key_map, target_hash = Hash.new) ⇒ Object
-
#oss_headers_to_s(input_hash, key_map) ⇒ Object
x-oss:value.
- #set_query_string(path, query) ⇒ Object
Instance Method Details
#camelize(str) ⇒ Object
5 6 7 |
# File 'lib/oss/util.rb', line 5 def camelize(str) str.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase } end |
#hash_filter(input_hash, key_map, target_hash = Hash.new) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/oss/util.rb', line 9 def hash_filter(input_hash, key_map, target_hash = Hash.new) key_map.each do |key, value| unless input_hash[key].nil? target_hash[value] = input_hash[key] end end target_hash end |
#oss_headers_to_s(input_hash, key_map) ⇒ Object
x-oss:value
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/oss/util.rb', line 19 def oss_headers_to_s(input_hash, key_map) header_array = Array.new # sort by hash value sorted = Hash[key_map.sort_by{|k,v| v}] sorted.each do |key, value| unless input_hash[key].nil? header_array << "#{value}:#{input_hash[key]}" end end header_array.join("\n") end |
#set_query_string(path, query) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/oss/util.rb', line 33 def set_query_string(path, query) return path if query.nil? attrs = Array.new new_path = "#{path}" # sort by hash value sorted = Hash[query.sort_by{|k,v| k}] sorted.each do |k, v| # query key ruby hash _ to - attrs << "#{k.to_s.gsub('_', '-')}=#{v}" end # create http request query string if attrs.length > 0 new_path << "?#{attrs.join('&')}" end new_path end |