shabng 0.0.8 → 0.0.9
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/DOC/CommandRef.rdoc +20 -0
- data/HISTORY +4 -0
- data/bin/shabng +22 -2
- data/lib/post.rb +22 -1
- data/shabng.gemspec +2 -2
- metadata +4 -4
data/DOC/CommandRef.rdoc
CHANGED
@@ -39,6 +39,26 @@ And you'll see a list of all your posts. Now, when editing, you can choose the a
|
|
39
39
|
|
40
40
|
Just follow the instructions to complete the steps.
|
41
41
|
|
42
|
+
== Adding Files to a Post
|
43
|
+
You can now add assets to your post. It's a two-step process. First create your post (as above), then you can add files, including images, video, audio and other general files. To add a new asset, execute the command:
|
44
|
+
|
45
|
+
shabng new asset [num]
|
46
|
+
|
47
|
+
Use the ID number for the post you wish to add assets to. You'll be asked to provide the path to the file you wish to upload:
|
48
|
+
|
49
|
+
shabng new asset 1
|
50
|
+
Enter path to file: ~/Desktop/test.png
|
51
|
+
|
52
|
+
If the file exists at the path you provide, it will be uploaded. You can then issue a list command to see the assets attached to this post:
|
53
|
+
|
54
|
+
shabng list assets 1
|
55
|
+
Here are your assets for post 1...
|
56
|
+
[2] - AVEGH.vcf - http://shabng.com/assets/1/2
|
57
|
+
[3] - headshotJan09.jpg - http://shabng.com/assets/1/3
|
58
|
+
[4] - test.png - http://shabng.com/assets/1/4
|
59
|
+
|
60
|
+
The provided URL is what you'll use in your post.
|
61
|
+
|
42
62
|
== Going live with a post
|
43
63
|
|
44
64
|
When you're ready to go live with your post, issue the push command:
|
data/HISTORY
CHANGED
@@ -11,3 +11,7 @@
|
|
11
11
|
|
12
12
|
==0.0.8 - November 14, 2010
|
13
13
|
* Addition of sequence attribute for categories (same technique and reason as for posts...)
|
14
|
+
|
15
|
+
==0.0.9
|
16
|
+
* Fixed bug with listing of categories (says you're looking at posts...)
|
17
|
+
* Initial support for images, using the new asset command. In this iteration, assets are tied to posts. You can upload images, video, files, audio... a URL is supplied in the list assets [num] command which you can then use in your post.
|
data/bin/shabng
CHANGED
@@ -6,7 +6,7 @@ require 'rest-client'
|
|
6
6
|
require 'console_editor'
|
7
7
|
require 'xmlsimple'
|
8
8
|
#require 'ap'
|
9
|
-
require 'post.rb'
|
9
|
+
require '../lib/post.rb'
|
10
10
|
|
11
11
|
SB_VERSION = "0.0.8"
|
12
12
|
|
@@ -60,12 +60,21 @@ arg3 = ARGV[2]
|
|
60
60
|
|
61
61
|
if arg == "list"
|
62
62
|
# list all blog posts
|
63
|
-
puts "Here are your blog postings..."
|
64
63
|
@post = Post.new(@urlstring, @apikey)
|
65
64
|
if arg2.nil? || arg2 == "posts"
|
65
|
+
puts "Here are your blog postings..."
|
66
66
|
@post.list("posts")
|
67
67
|
elsif arg2 == "categories"
|
68
|
+
puts "Here are your categories..."
|
68
69
|
@post.list("categories")
|
70
|
+
elsif arg2 == "assets"
|
71
|
+
if arg3.nil?
|
72
|
+
puts "Here are all your assets..."
|
73
|
+
@post.list("assets")
|
74
|
+
else
|
75
|
+
puts "Here are your assets for post #{arg3}..."
|
76
|
+
@post.list("assets", arg3)
|
77
|
+
end
|
69
78
|
end
|
70
79
|
|
71
80
|
elsif arg == "new"
|
@@ -89,6 +98,17 @@ elsif arg == "new"
|
|
89
98
|
category = STDIN.gets.chomp
|
90
99
|
@post = Post.new(@urlstring, @apikey)
|
91
100
|
@post.newcat(category)
|
101
|
+
elsif arg2 == "asset"
|
102
|
+
if arg3.nil?
|
103
|
+
puts "Specify an ID number for a post provided by the list command."
|
104
|
+
else
|
105
|
+
print "Enter path to file: "
|
106
|
+
asset = File.expand_path(STDIN.gets.chomp)
|
107
|
+
if File.exists?(asset)
|
108
|
+
@post = Post.new(@urlstring, @apikey)
|
109
|
+
@post.upload(asset, arg3)
|
110
|
+
end
|
111
|
+
end
|
92
112
|
end
|
93
113
|
|
94
114
|
elsif arg == "edit"
|
data/lib/post.rb
CHANGED
@@ -20,7 +20,7 @@ class Post
|
|
20
20
|
puts "Blog post has been saved with ID " + post["id"].first["content"]
|
21
21
|
end
|
22
22
|
|
23
|
-
def list(action)
|
23
|
+
def list(action, id=nil)
|
24
24
|
if action == "posts"
|
25
25
|
docs = RestClient.get @urlstring + "/posts", :params=>{:api_key=>@apikey}
|
26
26
|
posts = XmlSimple.xml_in(docs)
|
@@ -38,7 +38,24 @@ class Post
|
|
38
38
|
post["category"].each do |c|
|
39
39
|
puts "[" + c["sequence"].first["content"] + "] " + c["name"].first
|
40
40
|
end
|
41
|
+
elsif action == "assets"
|
42
|
+
if id.nil?
|
43
|
+
xml = RestClient.get @urlstring + "/assets", :params=>{:api_key => @apikey}
|
44
|
+
else
|
45
|
+
xml = RestClient.get @urlstring + "/assets", :params=>{:api_key => @apikey, :id => id}
|
46
|
+
end
|
47
|
+
assets = XmlSimple.xml_in(xml)
|
48
|
+
|
49
|
+
#require 'ap'
|
50
|
+
|
51
|
+
assets["array"].first["array"].each do |a|
|
52
|
+
if a.nil? == false
|
53
|
+
# ap(a)
|
54
|
+
puts "[" + a["sequence"].first["content"] + "] - " + a["asset-file-name"].first + " - " + "http://shabng.com/assets/" + a["post-id"].first["content"] + "/" + a["sequence"].first["content"]
|
55
|
+
end
|
56
|
+
end
|
41
57
|
end
|
58
|
+
|
42
59
|
end
|
43
60
|
|
44
61
|
def edit(action, sel)
|
@@ -100,6 +117,10 @@ class Post
|
|
100
117
|
puts "New category has been saved!"
|
101
118
|
end
|
102
119
|
|
120
|
+
def upload(asset, id)
|
121
|
+
xml = RestClient.post @urlstring + "/assets", :api_key => @apikey, :post=>{:id=>id, :asset=>File.new(asset, "rb")}
|
122
|
+
end
|
123
|
+
|
103
124
|
def push(sel)
|
104
125
|
save = RestClient.put @urlstring + "/posts/" + sel, :api_key => @apikey, :post => {:status=>"Published"}
|
105
126
|
puts "Your post is now live."
|
data/shabng.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
|
|
7
7
|
## If your rubyforge_project name is different, then edit it and comment out
|
8
8
|
## the sub! line in the Rakefile
|
9
9
|
s.name = 'shabng'
|
10
|
-
s.version = '0.0.
|
11
|
-
s.date = '2010-11-
|
10
|
+
s.version = '0.0.9'
|
11
|
+
s.date = '2010-11-16'
|
12
12
|
s.rubyforge_project = 'shabng'
|
13
13
|
|
14
14
|
## Make sure your summary is short. The description may be as long
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shabng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 9
|
10
|
+
version: 0.0.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Aaron Vegh
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-16 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|