tendersync 1.0.6 → 1.0.7
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.
- data/History.txt +5 -0
- data/lib/tendersync.rb +1 -1
- data/lib/tendersync/runner.rb +12 -6
- data/lib/tendersync/session.rb +27 -7
- data/tendersync.gemspec +2 -2
- metadata +2 -2
data/History.txt
CHANGED
data/lib/tendersync.rb
CHANGED
data/lib/tendersync/runner.rb
CHANGED
@@ -41,8 +41,9 @@ class Tendersync::Runner
|
|
41
41
|
post PATTERN -- post the matching documents to tender; use /regexp/ or glob
|
42
42
|
irb -- drops you into IRB with a tender session & related classes (for hacking/
|
43
43
|
one-time tasks). Programmers only.
|
44
|
-
create PERMALINK
|
45
|
-
|
44
|
+
create PERMALINK [ title ]
|
45
|
+
-- create a new tender document with the specified permalink in the section
|
46
|
+
specified by --section=... (must be only one.)
|
46
47
|
|
47
48
|
Version #{Tendersync::VERSION}
|
48
49
|
|
@@ -135,18 +136,23 @@ Version #{Tendersync::VERSION}
|
|
135
136
|
alias push post
|
136
137
|
|
137
138
|
def create
|
138
|
-
raise Error, "You must specify exactly one section to put the document in." if sections.length != 1
|
139
|
-
raise Error, "You must specify
|
139
|
+
raise Error, "You must specify exactly one section to put the document in." if sections.length != 1
|
140
|
+
raise Error, "You must specify one document permalink." if @args.length == 0
|
140
141
|
section,permalink = sections.first,@args.first
|
142
|
+
title = @args.last unless @args.length == 1#ignore the permalink and use default title
|
141
143
|
filename = "#{@root}/#{section}/#{permalink}"
|
144
|
+
filename = "#{section}/#{permalink}" if @root.nil?
|
145
|
+
puts "Checking for : #{filename}..."
|
146
|
+
puts "Creating default body as file not found to parse out text." unless File.exist?(filename)
|
142
147
|
text = File.read(filename) rescue ""
|
143
148
|
text = "Put Text Here" if text.strip.empty?
|
144
149
|
if $dry_run
|
145
150
|
puts "would create document #{permalink}\nin #{section} as #{filename}"
|
146
151
|
puts "\ntext:\n------------\n#{text}"
|
147
152
|
else
|
148
|
-
document = $session.create_document(section,permalink,text)
|
153
|
+
document = $session.create_document(section,permalink,text, title)
|
149
154
|
document.save
|
155
|
+
puts "Uploaded file successfully."
|
150
156
|
end
|
151
157
|
end
|
152
158
|
|
@@ -211,4 +217,4 @@ Version #{Tendersync::VERSION}
|
|
211
217
|
end
|
212
218
|
@settings
|
213
219
|
end
|
214
|
-
end
|
220
|
+
end
|
data/lib/tendersync/session.rb
CHANGED
@@ -60,22 +60,36 @@ class Tendersync::Session
|
|
60
60
|
end
|
61
61
|
sections
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
|
+
def edit_form_for(section, edit_page)
|
65
|
+
edit_page.forms.each do |form|
|
66
|
+
document = Tendersync::Document.from_form(section,form)
|
67
|
+
return document unless document.document_id.nil?
|
68
|
+
end
|
69
|
+
end
|
64
70
|
def pull_from_tender(*sections)
|
65
71
|
sections = all_sections.keys if sections.empty?
|
66
72
|
for section in sections do
|
67
73
|
documents(section).collect do |doc_url|
|
68
|
-
|
69
|
-
|
70
|
-
doc = page.form_with(:action => /edit/)
|
74
|
+
edit_page = edit_page_for(doc_url)
|
75
|
+
doc = edit_form_for(section, edit_page)
|
71
76
|
puts " #{doc.permalink}"
|
72
77
|
doc.save unless $dry_run
|
73
78
|
end
|
74
79
|
end
|
75
80
|
end
|
81
|
+
|
82
|
+
def get_section_id(section)
|
83
|
+
page = get("#{@site}/dashboard/sections/#{section}")
|
84
|
+
form = page.form_with(:action => "/dashboard/sections/#{section}")
|
85
|
+
form.form_node.to_s =~ /id="edit_section_(.*?)"/
|
86
|
+
$1
|
87
|
+
end
|
88
|
+
|
76
89
|
# Print out a list of all documents
|
77
90
|
def ls(*sections)
|
78
91
|
sections = all_sections.keys if sections.empty?
|
92
|
+
|
79
93
|
sections.each do | section |
|
80
94
|
puts "Section #{section}"
|
81
95
|
documents(section).map {|url| url =~ %r{/([^/]*)$} && $1 }.each do |link|
|
@@ -91,18 +105,24 @@ class Tendersync::Session
|
|
91
105
|
document.to_form(form)
|
92
106
|
form.submit unless $dry_run
|
93
107
|
end
|
94
|
-
def create_document(section,permalink,body)
|
108
|
+
def create_document(section,permalink,body, title)
|
95
109
|
login
|
96
110
|
form = get("#{@site}/faq/new").form_with(:action => "/faqs")
|
111
|
+
|
112
|
+
puts "Using default Title..." if title.nil?
|
113
|
+
title = "New Tendersync::Document" if title.nil?
|
97
114
|
document = Tendersync::Document.new(
|
98
115
|
:section => section,
|
99
|
-
:title =>
|
116
|
+
:title => title,
|
100
117
|
:permalink => permalink,
|
101
118
|
:body => body
|
102
119
|
)
|
103
120
|
document.to_form(form)
|
104
121
|
return if $dry_run
|
105
|
-
|
122
|
+
|
123
|
+
id = get_section_id(section)
|
124
|
+
|
125
|
+
form.radiobuttons_with(:value => id).first.click
|
106
126
|
form.submit
|
107
127
|
Tendersync::Document.from_form(section,edit_page_for("#{@site}/faqs/#{section}/#{permalink}").form_with(:action => /edit/))
|
108
128
|
end
|
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.7"
|
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{2010-01-
|
9
|
+
s.date = %q{2010-01-20}
|
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.7
|
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: 2010-01-
|
12
|
+
date: 2010-01-20 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|