confluence-soap 0.0.7 → 0.0.8

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
  SHA1:
3
- metadata.gz: 2764dfcb327101f95a5add4d63b972c8e88b1a25
4
- data.tar.gz: 562eb62fdca0d1513918dbfb1735af9a65794418
3
+ metadata.gz: 5dd3ae54fb12362a0f0e89e5d5d01451edd1519f
4
+ data.tar.gz: 30d78f9164051adceb7759a9b307de247be9ea57
5
5
  SHA512:
6
- metadata.gz: c4e1e94eca44a3693e562cb4e196cc8afb0c1ba7e8b41b7b2cbc5d9391084ea1e095b749b1095e1baa18b781cdc489d9b1fc3fe45228e3057b1ec2d274291e4c
7
- data.tar.gz: d8dbef33ef3c01c00c30a9674ba498eda501c3d25cb93e9b744faab2c50f69ba920da0810d510dcb0c106b5e8ba8db772e1e977f4c36e5a09d57c07043ae9ad2
6
+ metadata.gz: 1d4a364b0a3962ae83c3034544155c2532632f6e0bc0f47d6896a6d8cf9897c16d0c3d78e5d27bcd4744987b9fa9b1463542715120d65d8d98622df7ef65995e
7
+ data.tar.gz: 8791722d3061ebbe9015cf6594b3302d7715b6e8d789b0f991d363f214f9e035b3fe9ebcd2e25973ddf8cf7366fd58195946a921ac8216445b6bea9ed8cb8094
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "confluence-soap"
8
- s.version = "0.0.5"
8
+ s.version = "0.0.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ping Yu", "Eric Himmelreich"]
12
- s.date = "2014-01-28"
12
+ s.date = "2014-01-29"
13
13
  s.description = ""
14
14
  s.email = ["ping@intridea.com", "eric@intridea.com"]
15
15
  s.extra_rdoc_files = [
@@ -3,20 +3,26 @@ require 'savon'
3
3
  class ConfluenceSoap
4
4
  attr_reader :client, :token, :user
5
5
 
6
- Page = Struct.new(:content, :content_status, :created, :creator, :current, :home_page, :id,
7
- :modified, :modifier, :parent_id, :permissions, :space, :title, :url, :version) do
8
- def self.from_hash h
9
- values = h.values_at(*Page.members.map {|m|m.to_sym}).map {|v| v.is_a?(Hash) ? v[:value]||'' : v}
6
+ Page = Struct.new(:content, :content_status, :created, :creator, :current,
7
+ :home_page, :id, :modified, :modifier, :parent_id,
8
+ :permissions, :space, :title, :url, :version) do
9
+
10
+ def self.from_hash(h)
11
+ values =
12
+ h.values_at(*Page.members.map { |m| m.to_sym })
13
+ .map { |v| v.is_a?(Hash) ? v[:value] || '' : v }
14
+
10
15
  self.new *values
11
16
  end
12
17
 
13
- SKIPPED_KEYS = [:content_status, :created, :creator, :current, :home_page, :modified, :modifier, :url]
18
+ SKIPPED_KEYS = [:content_status, :created, :creator, :current, :home_page,
19
+ :modified, :modifier, :url]
14
20
  def to_soap
15
- to_h.reject {|k,v| v.nil? || SKIPPED_KEYS.include?(k)}
21
+ to_h.reject { |k, v| v.nil? || SKIPPED_KEYS.include?(k) }
16
22
  end
17
23
  end
18
24
 
19
- def initialize url, user, password
25
+ def initialize(url, user, password)
20
26
  @user = user
21
27
  @password = password
22
28
  @client = Savon.client(wsdl: url) do
@@ -25,7 +31,7 @@ class ConfluenceSoap
25
31
  @token = login(user, password)
26
32
  end
27
33
 
28
- def login user, password
34
+ def login(user, password)
29
35
  response = @client.call :login, message: {in0: user, in1: password}
30
36
  @token = response.body[:login_response][:login_return]
31
37
  end
@@ -34,36 +40,36 @@ class ConfluenceSoap
34
40
  @client.call :logout, message: {in0: @token} if @token
35
41
  end
36
42
 
37
- def get_pages space
43
+ def get_pages(space)
38
44
  response = @client.call :get_pages, auth_message({in1: space})
39
45
  pages = parse_array_response :get_pages, response
40
46
  pages.map { |page| Page.from_hash(page) }
41
47
  end
42
48
 
43
- def get_page page_id
49
+ def get_page(page_id)
44
50
  response = @client.call :get_page, auth_message({in1: page_id})
45
51
  Page.from_hash parse_response :get_page, response
46
52
  end
47
53
 
48
- def get_children page_id
54
+ def get_children(page_id)
49
55
  response = @client.call :get_children, auth_message({in1: page_id})
50
56
  pages = parse_array_response :get_children, response
51
57
  pages.map { |page| Page.from_hash(page) }
52
58
  end
53
59
 
54
- def store_page page
60
+ def store_page(page)
55
61
  response = @client.call :store_page, auth_message({in1: page.to_soap})
56
62
  Page.from_hash parse_response :store_page, response
57
63
  end
58
64
 
59
- def update_page page
65
+ def update_page(page)
60
66
  response =
61
67
  @client.call(:update_page,
62
68
  auth_message({in1: page.to_soap, in2: {minorEdit: true} }))
63
69
  Page.from_hash parse_response :update_page, response
64
70
  end
65
71
 
66
- def remove_page page_id
72
+ def remove_page(page_id)
67
73
  response = @client.call :remove_page, auth_message({in1: page_id})
68
74
  Page.from_hash parse_response :remove_page, response
69
75
  end
@@ -93,12 +99,12 @@ class ConfluenceSoap
93
99
  parse_response(:remove_label_by_name, response)
94
100
  end
95
101
 
96
- def has_user user
102
+ def has_user(user)
97
103
  response = @client.call(:has_user, auth_message({in1: user}))
98
104
  parse_response(:has_user, response)
99
105
  end
100
106
 
101
- def execute &block
107
+ def execute(&block)
102
108
  yield self
103
109
  rescue Savon::SOAPFault => e
104
110
  if e.to_hash[:fault][:faultstring] =~ /InvalidSessionException/
@@ -115,8 +121,11 @@ class ConfluenceSoap
115
121
  login(@user, @password)
116
122
  end
117
123
 
118
- def parse_array_response method, response
119
- parse_response(method, response)["#{method}_return".to_sym] || []
124
+ def parse_array_response(method, response)
125
+ parsed_response =
126
+ parse_response(method, response)["#{method}_return".to_sym] || []
127
+
128
+ parsed_response.respond_to?(:to_hash) ? [parsed_response] : parsed_response
120
129
  end
121
130
 
122
131
  def auth_message(params = {})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confluence-soap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ping Yu
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.1.11
113
+ rubygems_version: 2.0.14
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: ruby client for confluence soap API