fetch-api 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc8cbe5804a5286df86b5840189dbbe3c1cfc77e68bfd33b0ba3244be99af5c2
4
- data.tar.gz: f72c409553a6b531803d084d8e862c77329ef785579e9a11b5a461fadd481ca3
3
+ metadata.gz: 4686aace90255f6eceef759fe22002292101a0cb5cac4db2be0cbdf21cf398fa
4
+ data.tar.gz: 6dda2ecd4cde88807c27261f3d4eb866387b6e913e824cc0797e09618383284d
5
5
  SHA512:
6
- metadata.gz: 6051e1551078686b6624604b23966804684f7a764ffb76c467e79cf5bfd09e0025c8dd315803b0e7c8b1fe83874e349984c1a3fa325306fb4c09d1f855524e0c
7
- data.tar.gz: 6340aa6ca403e46a023753fd08144081009512a3b97c12a3b035ac58aa951e49e1218e7d543a52151d9600022ed40773f00c655926eaa5d59b7fc9c3f9fc8ca3
6
+ metadata.gz: f5f6ba84be5732b1784ee0f67b4ea3b2e35a7e6b34d04c0b5808587f0d71bfc253f408bd3c7596cad79b2eddb7dbb6b794dfcf5adc34df77491a152c7a15120d
7
+ data.tar.gz: 41a3bab80a11cc7f0fc432504cc73d996e1d3b4dfad72b33ccd957bf77acff5bc0bfc00f50145d2dc561366f50b61885ae976650965a1aa408f5e748009aaec2
data/lib/fetch/headers.rb CHANGED
@@ -3,48 +3,49 @@ module Fetch
3
3
  include Enumerable
4
4
 
5
5
  def initialize(init = [])
6
- @entries = []
6
+ @data = {}
7
7
 
8
8
  init.each do |k, v|
9
9
  append k, v
10
10
  end
11
11
  end
12
12
 
13
- attr_reader :entries
14
-
15
13
  def append(key, value)
16
- @entries << [key.to_s.downcase, value]
14
+ (@data[key.to_s.downcase] ||= []) << value
17
15
  end
18
16
 
19
17
  def delete(key)
20
- @entries.delete_if {|k,| k == key.to_s.downcase }
18
+ @data.delete key.to_s.downcase
19
+ end
20
+
21
+ def entries
22
+ @data.map {|k, vs| [k, vs.join(', ')] }
21
23
  end
22
24
 
23
25
  def get(key)
24
- @entries.select {|k,| k == key.to_s.downcase }.map(&:last).join(', ')
26
+ @data[key.to_s.downcase]&.join(', ')
25
27
  end
26
28
 
27
29
  def has(key)
28
- @entries.any? {|k,| k == key.to_s.downcase }
30
+ @data.key?(key.to_s.downcase)
29
31
  end
30
32
 
31
33
  def keys
32
- @entries.map(&:first)
34
+ @data.keys
33
35
  end
34
36
 
35
37
  def set(key, value)
36
- delete key
37
- append key, value
38
+ @data[key.to_s.downcase] = [value]
38
39
  end
39
40
 
40
41
  def values
41
- @entries.map(&:last)
42
+ @data.values.map { _1.join(', ') }
42
43
  end
43
44
 
44
45
  def each(&block)
45
46
  return enum_for(:each) unless block_given?
46
47
 
47
- @entries.each(&block)
48
+ entries.each(&block)
48
49
  end
49
50
  end
50
51
  end
data/lib/fetch/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fetch
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fetch-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keita Urashima