confluencer 0.4.4 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.4
1
+ 0.4.6
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{confluencer}
8
- s.version = "0.4.4"
8
+ s.version = "0.4.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Gabor Ratky"]
12
- s.date = %q{2010-05-14}
12
+ s.date = %q{2010-05-17}
13
13
  s.description = %q{ActiveRecord-like classes to access Confluence through XMLRPC.}
14
14
  s.email = %q{rgabo@rgabostyle.com}
15
15
  s.extra_rdoc_files = [
@@ -54,7 +54,7 @@ Gem::Specification.new do |s|
54
54
  s.homepage = %q{http://github.com/rgabo/confluencer}
55
55
  s.rdoc_options = ["--charset=UTF-8"]
56
56
  s.require_paths = ["lib"]
57
- s.rubygems_version = %q{1.3.6}
57
+ s.rubygems_version = %q{1.3.7}
58
58
  s.summary = %q{Useful classes to manage Confluence.}
59
59
  s.test_files = [
60
60
  "spec/confluence/bookmark_spec.rb",
@@ -72,7 +72,7 @@ Gem::Specification.new do |s|
72
72
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
73
73
  s.specification_version = 3
74
74
 
75
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
75
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
76
76
  s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
77
77
  s.add_runtime_dependency(%q<log4r>, [">= 1.1.7"])
78
78
  else
@@ -44,12 +44,12 @@ module Confluence
44
44
  end
45
45
  end
46
46
 
47
- def store
47
+ def store(args = {})
48
48
  # always set .bookmarks as the parent page
49
49
  self.parent_id = Page.find(:space => space, :title => Space::BOOKMARKS_PAGE_TITLE).page_id
50
50
 
51
51
  # continue with storing the page
52
- super
52
+ super(args)
53
53
  end
54
54
 
55
55
  def to_hash
@@ -1,5 +1,7 @@
1
1
  module Confluence
2
2
  class Page < Record
3
+ INVALID_TITLE_CHARS = ":@/\\|^#;[]{}<>"
4
+
3
5
  class Details < Hash
4
6
  REGEXP = /\{details:label=([^\}]+)\}([^\{}]*)\{details\}/m
5
7
  PAIR_REGEXP = /([^:]+):([^\n]+)/m
@@ -81,7 +83,7 @@ module Confluence
81
83
  children.collect { |child| klass.find(:id => child["id"]) } if children
82
84
  end
83
85
 
84
- def store
86
+ def store(args = {})
85
87
  unless self.version
86
88
  # check for existing page by id or title
87
89
  existing_page = if page_id
@@ -92,8 +94,14 @@ module Confluence
92
94
 
93
95
  # take page_id and version from existing page if available
94
96
  if existing_page
95
- self.page_id = existing_page.page_id
96
- self.version = existing_page.version
97
+ if args[:recreate_if_exists]
98
+ # remove existing page
99
+ existing_page.remove
100
+ else
101
+ # update page with page_id and version info
102
+ self.page_id = existing_page.page_id
103
+ self.version = existing_page.version
104
+ end
97
105
  end
98
106
  end
99
107
 
@@ -136,4 +144,10 @@ module Confluence
136
144
  end
137
145
  end
138
146
  end
147
+ end
148
+
149
+ class String
150
+ def to_page_title
151
+ self.delete(Confluence::Page::INVALID_TITLE_CHARS).strip
152
+ end
139
153
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confluencer
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 3
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 4
9
- version: 0.4.4
9
+ - 6
10
+ version: 0.4.6
10
11
  platform: ruby
11
12
  authors:
12
13
  - Gabor Ratky
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-14 00:00:00 +02:00
18
+ date: 2010-05-17 00:00:00 +02:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: rspec
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 27
27
30
  segments:
28
31
  - 1
29
32
  - 3
@@ -35,9 +38,11 @@ dependencies:
35
38
  name: log4r
36
39
  prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
43
  - - ">="
40
44
  - !ruby/object:Gem::Version
45
+ hash: 29
41
46
  segments:
42
47
  - 1
43
48
  - 1
@@ -98,23 +103,27 @@ rdoc_options:
98
103
  require_paths:
99
104
  - lib
100
105
  required_ruby_version: !ruby/object:Gem::Requirement
106
+ none: false
101
107
  requirements:
102
108
  - - ">="
103
109
  - !ruby/object:Gem::Version
110
+ hash: 3
104
111
  segments:
105
112
  - 0
106
113
  version: "0"
107
114
  required_rubygems_version: !ruby/object:Gem::Requirement
115
+ none: false
108
116
  requirements:
109
117
  - - ">="
110
118
  - !ruby/object:Gem::Version
119
+ hash: 3
111
120
  segments:
112
121
  - 0
113
122
  version: "0"
114
123
  requirements: []
115
124
 
116
125
  rubyforge_project:
117
- rubygems_version: 1.3.6
126
+ rubygems_version: 1.3.7
118
127
  signing_key:
119
128
  specification_version: 3
120
129
  summary: Useful classes to manage Confluence.