tendersync 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/lib/tendersync/document.rb +4 -3
- data/lib/tendersync/runner.rb +8 -6
- data/lib/tendersync/session.rb +5 -1
- data/lib/tendersync.rb +1 -1
- data/tendersync.gemspec +2 -2
- metadata +2 -2
data/History.txt
CHANGED
data/lib/tendersync/document.rb
CHANGED
@@ -134,10 +134,11 @@ class Tendersync::Document
|
|
134
134
|
Dir.glob("#{section}/*").each { |f| yield Tendersync::Document.read_from_file(f) }
|
135
135
|
end
|
136
136
|
|
137
|
-
def self.index_for(section_id, section_name)
|
137
|
+
def self.index_for(section_id, section_name, permalink = nil)
|
138
|
+
permalink ||= "#{section_id}-table-of-contents"
|
138
139
|
new(:section => section_id,
|
139
140
|
:title => "#{section_name} Table of Contents",
|
140
|
-
:permalink =>
|
141
|
+
:permalink => permalink,
|
141
142
|
:keywords => "toc index")
|
142
143
|
end
|
143
144
|
|
@@ -161,7 +162,7 @@ class Tendersync::Document
|
|
161
162
|
private
|
162
163
|
|
163
164
|
def create_toc(groups)
|
164
|
-
groups
|
165
|
+
groups << Group::Default # array of groups
|
165
166
|
link_root = {}
|
166
167
|
self.class.each(section) do |document|
|
167
168
|
next if document.permalink =~ /-table-of-contents$/
|
data/lib/tendersync/runner.rb
CHANGED
@@ -22,13 +22,13 @@ class Tendersync::Runner
|
|
22
22
|
op.on( '--docurl', '=URL', String, "* tender site URL" ) { |dir| settings['docurl'] = dir }
|
23
23
|
op.separator ""
|
24
24
|
op.separator "Indexing Options:"
|
25
|
-
op.on('
|
25
|
+
op.on( '--group', '=TITLE;regex', String, "*map of regex to group title for TOC groups") do | g |
|
26
26
|
pair = g.split(';')
|
27
27
|
settings['groups'] << [pair.first, pair.last]
|
28
28
|
end
|
29
|
-
op.on('
|
30
|
-
|
31
|
-
|
29
|
+
op.on( '--name', '=PERMALINK', String, "override the default name of the index page") { |n| @index_name = n }
|
30
|
+
op.on( '--depth', '=DEPTH', String, "*Number of levels to descend into a document being indexed") { | g | settings['depth'] = g.to_i }
|
31
|
+
|
32
32
|
%Q{
|
33
33
|
* saved in .tendersync file for subsequent default
|
34
34
|
|
@@ -126,9 +126,11 @@ class Tendersync::Runner
|
|
126
126
|
if @dry_run
|
127
127
|
puts "would post #{document.section}/#{document.permalink} to tender."
|
128
128
|
else
|
129
|
+
puts "uploading #{document.permalink}..."
|
129
130
|
$session.post(document)
|
130
131
|
end
|
131
132
|
}
|
133
|
+
puts "...done"
|
132
134
|
end
|
133
135
|
alias push post
|
134
136
|
|
@@ -182,9 +184,9 @@ class Tendersync::Runner
|
|
182
184
|
end
|
183
185
|
section_details = $session.all_sections
|
184
186
|
sections.each do |section|
|
185
|
-
doc = Tendersync::Document.index_for
|
187
|
+
doc = Tendersync::Document.index_for(section, section_details[section], @index_name)
|
186
188
|
puts "indexing #{section}: #{doc.section}/#{doc.permalink}"
|
187
|
-
doc.refresh_index
|
189
|
+
doc.refresh_index(groups, settings['depth'] || 1)
|
188
190
|
doc.save
|
189
191
|
end
|
190
192
|
end
|
data/lib/tendersync/session.rb
CHANGED
@@ -27,7 +27,11 @@ class Tendersync::Session
|
|
27
27
|
|
28
28
|
def get(url)
|
29
29
|
login
|
30
|
-
|
30
|
+
begin
|
31
|
+
page = @agent.get(url)
|
32
|
+
rescue WWW::Mechanize::ResponseCodeError => e
|
33
|
+
raise Tendersync::Runner::Error, "Unable to get #{url}"
|
34
|
+
end
|
31
35
|
def page.links_like(r)
|
32
36
|
result = []
|
33
37
|
links.each { |l| result << l.href if l.href =~ r }
|
data/lib/tendersync.rb
CHANGED
data/tendersync.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{tendersync}
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Bill Kayser"]
|
9
|
-
s.date = %q{2009-08-
|
9
|
+
s.date = %q{2009-08-26}
|
10
10
|
s.default_executable = %q{tendersync}
|
11
11
|
s.description = %q{Tendersync is a utility for syncing files from ENTP's Tender site for managing customer facing documentation. It can be used to pull and push documents to a local repository as well as create indexes for each documentation section.
|
12
12
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tendersync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bill Kayser
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-26 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|