Sha256: 1698a668765573d2fe437bde233e4ba5288046d750f9a79dfa564e1dbce24495

Contents?: true

Size: 954 Bytes

Versions: 4

Compression:

Stored size: 954 Bytes

Contents

module Jets::CLI::Curl::Adapter::Cookies
  class Parser
    def initialize(cookie_string)
      @cookie_string = cookie_string
    end

    def parse
      if @cookie_string.include?("=")
        parse_inline_cookies
      else
        parse_cookies_from_file
      end
    end

    private

    def skip_line?(line)
      line.empty? || line.start_with?("#")
    end

    def parse_inline_cookies
      cookies = []

      @cookie_string.split(";").each do |cookie|
        cookie = cookie.strip
        cookies << cookie unless skip_line?(cookie)
      end

      cookies
    end

    def parse_cookies_from_file
      cookies = []

      if File.exist?(@cookie_string)
        File.open(@cookie_string, "r").each_line do |line|
          line = line.chomp.strip
          cookies << line unless skip_line?(line)
        end
      else
        warn "Error: File '#{@cookie_string}' not found."
        exit 1
      end

      cookies
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/cli/curl/adapter/cookies/parser.rb
jets-6.0.4 lib/jets/cli/curl/adapter/cookies/parser.rb
jets-6.0.3 lib/jets/cli/curl/adapter/cookies/parser.rb
jets-6.0.2 lib/jets/cli/curl/adapter/cookies/parser.rb