Class: Avm::EacRedmineBase0::Instances::RestApi::WikiPage

Inherits:
EntityBase
  • Object
show all
Defined in:
lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb

Constant Summary collapse

DATA_ROOT =
'wiki_page'

Instance Method Summary collapse

Methods inherited from EntityBase

#build_request, #data_from_response

Instance Method Details

#data_from_idHash

Returns:

  • (Hash)


13
14
15
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 13

def data_from_id
  data_from_response(request_json.response)
end

#id_from_dataInteger

Returns:

  • (Integer)


18
19
20
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 18

def id_from_data
  ::CGI.escape(title)
end

#parent_titleString?

Returns:

  • (String, nil)


32
33
34
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 32

def parent_title
  data.fetch(DATA_ROOT).if_key('parent').if_present { |v| v.if_key('title') }
end

#readString

Returns:

  • (String)


23
24
25
26
27
28
29
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 23

def read
  unless data.fetch(DATA_ROOT).key?('text')
    self.data_or_id = id
    self.internal_data = nil
  end
  data.fetch(DATA_ROOT).fetch('text')
end

#titleString

Returns:

  • (String)


42
43
44
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 42

def title
  data.fetch(DATA_ROOT).fetch('title')
end

#to_api_address_suffix_selfString

Returns:

  • (String)


37
38
39
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 37

def to_api_address_suffix_self
  "/wiki/#{id}"
end

#write(text) ⇒ +self+

Parameters:

  • content (String)

Returns:

  • (+self+)


48
49
50
51
52
53
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 48

def write(text)
  data_from_response(
    build_request(prefix).verb(:put).header('Content-type', 'application/json')
    .body_data(write_data(text).to_json).response
  )
end

#write_data(text) ⇒ Hash

Parameters:

  • text (String)

Returns:

  • (Hash)


57
58
59
60
61
# File 'lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb', line 57

def write_data(text)
  {
    DATA_ROOT => { 'text' => text }
  }
end