summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client/wiki_page.rb
blob: 98d96fe62113436204e0747201d944d9c693fdbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
module Gitlab
  module GitalyClient
    class WikiPage
      FIELDS = %i(title format url_path path name historical raw_data).freeze

      attr_accessor(*FIELDS)

      def initialize(params)
        params = params.with_indifferent_access

        FIELDS.each do |field|
          instance_variable_set("@#{field}", params[field])
        end

        # All gRPC strings in a response are frozen, so we get an unfrozen
        # version here so appending to `raw_data` doesn't blow up.
        @raw_data = @raw_data.dup
      end

      def historical?
        @historical
      end

      def format
        @format.to_sym
      end
    end
  end
end