fetch-api 0.3.0 → 0.3.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.
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