davetron5000-gliffy 0.9.2 → 0.9.3
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/bin/gliffy +20 -13
- data/lib/gliffy/handle.rb +11 -0
- metadata +1 -1
data/bin/gliffy
CHANGED
@@ -168,7 +168,7 @@ command [:view,:get] do |c|
|
|
168
168
|
c.flag [:s,:size]
|
169
169
|
|
170
170
|
c.desc 'Version'
|
171
|
-
c.arg_name 'version number (
|
171
|
+
c.arg_name 'version number (1-based)'
|
172
172
|
c.flag [:v,:version]
|
173
173
|
|
174
174
|
c.desc 'Get the URL only'
|
@@ -178,30 +178,37 @@ command [:view,:get] do |c|
|
|
178
178
|
c.long_desc 'This is not strictly documented by the gliffy API, but, for public documents, this URL is more usable, as it can be requested any number of times. The non-public URLs contain signature information that makes them one-time-use only.'
|
179
179
|
c.switch [:p,:publicurl]
|
180
180
|
|
181
|
+
c.desc 'Command to run to open URL for editing in browser'
|
182
|
+
c.long_desc 'If defined, this command will be run with the URL for editing given to it. Hopefully, this will pop up Gliffy in your browser.'
|
183
|
+
c.default_value RUBY_PLATFORM =~ /^universal-darwin/ ? 'open' : nil
|
184
|
+
c.flag [:o,:openwith]
|
185
|
+
|
186
|
+
c.desc 'Just print the url/filename; don''t try to open it'
|
187
|
+
c.switch [:O,:noopen]
|
188
|
+
|
181
189
|
c.action do |global_options,options,args|
|
182
190
|
args.each do |document_id|
|
183
191
|
version = options[:v]
|
184
192
|
version_name = ''
|
185
193
|
version_name = "_V#{version}" if version
|
194
|
+
opened = false
|
195
|
+
location = nil
|
186
196
|
if options[:u]
|
187
|
-
|
197
|
+
location = $handle.document_get_url(document_id,options[:t].to_sym,options[:s].to_sym,version)
|
188
198
|
elsif options[:p]
|
189
|
-
|
190
|
-
if document.is_public?
|
191
|
-
# This isn't formally documented in the API so we put it here
|
192
|
-
puts "http://www.gliffy.com/pubdoc/#{document.document_id}/#{options[:s]}.jpg"
|
193
|
-
else
|
194
|
-
puts "Document is not public"
|
195
|
-
puts $handle.document_get_url(document_id,options[:t].to_sym,options[:s].to_sym,version)
|
196
|
-
end
|
199
|
+
location = $handle.document_get_public_url(document_id,options[:s].to_sym)
|
197
200
|
else
|
198
201
|
bytes = $handle.document_get(document_id,options[:t].to_sym,options[:s].to_sym,version)
|
199
|
-
|
200
|
-
File.open(
|
202
|
+
location = "#{document_id}_#{options[:s]}#{version_name}.#{options[:t]}"
|
203
|
+
File.open(location,'wb') do |f|
|
201
204
|
f.write(bytes)
|
202
205
|
end
|
203
|
-
puts "Wrote #{filename}"
|
204
206
|
end
|
207
|
+
if options[:o] && !options[:O]
|
208
|
+
opened = system "#{options[:o]} \"#{location}\""
|
209
|
+
puts "Couldn't run #{options[:o]} to open file/url" if !opened
|
210
|
+
end
|
211
|
+
puts location if !opened
|
205
212
|
end
|
206
213
|
end
|
207
214
|
end
|
data/lib/gliffy/handle.rb
CHANGED
@@ -159,6 +159,17 @@ module Gliffy
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
|
+
# Gets the public link to the document, which is static
|
163
|
+
# and not dependent on the key or authorization.
|
164
|
+
# This isn't formally part of the Gliffy API, but is
|
165
|
+
# convienient. The document must be public
|
166
|
+
# and you can only get it in JPG format.
|
167
|
+
# [+document_id+] identifier of the document
|
168
|
+
# [+size+] size to show, from biggest to smallest: :L, :M, :S, :T
|
169
|
+
def document_get_public_url(document_id,size=:L)
|
170
|
+
"http://www.gliffy.com/pubdoc/#{document_id}/#{size.to_s}.jpg"
|
171
|
+
end
|
172
|
+
|
162
173
|
# Get a link to a document
|
163
174
|
# [+document_id+] identifier of the document
|
164
175
|
# [+type+] document type. Types known to work:
|