• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

samvera / ldp / 7aae4f98-f021-4aa3-ade3-5b1586e22f3d

19 Aug 2024 06:45PM UTC coverage: 86.165%. Remained the same
7aae4f98-f021-4aa3-ade3-5b1586e22f3d

push

circleci

web-flow
Test with latest ruby and rails versions (#156)

492 of 571 relevant lines covered (86.16%)

38.96 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/lib/ldp/client/prefer_headers.rb
1
module Ldp
16✔
2
  class PreferHeaders
16✔
3
    attr_reader :headers_string
16✔
4

5
    def initialize(headers_string = "")
16✔
6
      @headers_string = headers_string
162✔
7
    end
8

9
    def omit
16✔
10
      @omit ||= options["omit"] || []
441✔
11
    end
12

13
    def include
16✔
14
      @include ||= options["include"] || []
444✔
15
    end
16

17
    def return
16✔
18
      @return ||= options["return"].first || ""
840✔
19
    end
20

21
    def include=(vals)
16✔
22
      @include = Array(vals)
141✔
23
      serialize
141✔
24
    end
25

26
    def omit=(vals)
16✔
27
      @omit = Array(vals)
138✔
28
      serialize
138✔
29
    end
30

31
    def return=(vals)
16✔
32
      @return = Array(vals).first
138✔
33
      serialize
138✔
34
    end
35

36
    def to_s
16✔
37
      headers_string.to_s
153✔
38
    end
39

40
    private
16✔
41

42
    def serialize
16✔
43
      head_string = []
417✔
44
      unless self.return.empty?
417✔
45
        head_string << "return=#{self.return}"
417✔
46
      end
47
      unless omit.empty?
417✔
48
        head_string << "omit=\"#{omit.join(" ")}\""
18✔
49
      end
50
      unless self.include.empty?
417✔
51
        head_string << "include=\"#{self.include.join(" ")}\""
21✔
52
      end
53
      @headers_string = head_string.join("; ")
417✔
54
    end
55

56
    def options
16✔
57
      headers_string.gsub('"', "")
315✔
58
                    .split(";")
59
                    .map { |x| x.strip.split("=") }
135✔
60
                    .map { |x| { x[0] => x[1].split(" ") } }
135✔
61
                    .inject({}, &:merge)
62
    end
63
  end
64
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc