orange 0.3.5 → 0.3.6
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/lib/orange-core/packet.rb +2 -0
- data/lib/orange-core/resources/model_resource.rb +1 -0
- data/lib/orange-more/blog/cartons/blog_post.rb +11 -4
- data/lib/orange-more/blog/resources/blog_post_resource.rb +12 -5
- data/lib/orange-more/blog/resources/blog_resource.rb +1 -1
- data/lib/orange-more/blog/views/blog/blog_archive_view.haml +1 -1
- metadata +3 -3
data/lib/orange-core/packet.rb
CHANGED
@@ -128,6 +128,8 @@ module Orange
|
|
128
128
|
# Returns the content ready to be used by Rack (wrapped in an array)
|
129
129
|
# @return [Array] array of strings to be rendered
|
130
130
|
def content
|
131
|
+
# Stringify content if it isn't a string for some weird reason.
|
132
|
+
packet[:content] = packet[:content].to_s unless packet[:content].is_a? String
|
131
133
|
return [packet[:content]] if packet[:content]
|
132
134
|
return ['']
|
133
135
|
end
|
@@ -24,14 +24,21 @@ class OrangeBlogPost < Orange::Carton
|
|
24
24
|
self.attribute_set('slug', t.downcase.gsub(/[']+/, "").gsub(/[^a-z0-9]+/, "_"))
|
25
25
|
end
|
26
26
|
|
27
|
+
def published=(val)
|
28
|
+
if val == '1' || val === true
|
29
|
+
self.publish
|
30
|
+
else
|
31
|
+
self.attribute_set('published', false)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
27
35
|
def publish
|
28
|
-
self.published_at = Time.now
|
29
|
-
self.published
|
36
|
+
self.published_at = Time.now if self.published_at.blank?
|
37
|
+
self.attribute_set('published', true)
|
30
38
|
end
|
31
39
|
|
32
40
|
def publish!
|
33
|
-
self.
|
34
|
-
self.published = true
|
41
|
+
self.publish
|
35
42
|
self.save
|
36
43
|
end
|
37
44
|
|
@@ -11,22 +11,26 @@ module Orange
|
|
11
11
|
if packet.request.post?
|
12
12
|
m = model_class.get(packet['route.resource_id'])
|
13
13
|
if m
|
14
|
-
# orange[:cloud, true].microblog(packet, "I just posted a test blog post.")
|
15
14
|
m.publish!
|
15
|
+
cloud_publish(packet, m)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
packet.reroute(@my_orange_name, :orange)
|
19
19
|
end
|
20
20
|
|
21
|
+
def cloud_publish(packet, post)
|
22
|
+
orange[:cloud].microblog(packet, "New post on our blog: #{post.title} - http://#{packet['site'].url}#{orange[:blog].blog_url_for(packet)}/#{post.published_at.year}/#{post.published_at.month}/#{post.slug}") if post.published && !post.published_at.blank?
|
23
|
+
end
|
24
|
+
|
21
25
|
# Creates a new model object and saves it (if a post), then reroutes to the main page
|
22
26
|
# @param [Orange::Packet] packet the packet being routed
|
23
27
|
def onNew(packet, params)
|
24
|
-
params[:published] = false
|
25
|
-
params[:author] = packet['user', false] ? packet['user'].name : "Author"
|
28
|
+
params[:published] = false unless params.has_key?(:published) || params.has_key?("published")
|
29
|
+
params[:author] = packet['user', false] ? packet['user'].name : "Author" unless params.has_key?(:author) || params.has_key?("author")
|
26
30
|
|
27
31
|
blog = orange[:blog].blog_for_site(packet)
|
28
|
-
blog.posts.new(params)
|
29
|
-
|
32
|
+
post = blog.posts.new(params)
|
33
|
+
post
|
30
34
|
end
|
31
35
|
|
32
36
|
# Saves updates to an object specified by packet['route.resource_id'], then reroutes to main
|
@@ -34,7 +38,10 @@ module Orange
|
|
34
38
|
def onSave(packet, m, params = {})
|
35
39
|
m.update(params)
|
36
40
|
m.blog = orange[:blog].blog_for_site(packet) unless m.blog #ensure blog exists
|
41
|
+
|
37
42
|
m.save
|
43
|
+
cloud_publish(packet, m)
|
44
|
+
m
|
38
45
|
end
|
39
46
|
|
40
47
|
def find_list(packet, mode, id =false)
|
@@ -29,7 +29,7 @@ module Orange
|
|
29
29
|
opts.merge!( :blog_url => blog_url_for(packet))
|
30
30
|
parts = resource_path.split('/')
|
31
31
|
if parts.size == 2
|
32
|
-
post = blog.posts.
|
32
|
+
post = blog.posts.first(:id => parts[1].to_i)
|
33
33
|
elsif parts.size == 4
|
34
34
|
post = blog.posts.year_and_month(parts[1].to_i, parts[2].to_i).slug(parts[3])
|
35
35
|
end
|
@@ -3,4 +3,4 @@
|
|
3
3
|
.blog_post
|
4
4
|
%h2
|
5
5
|
%span #{post.created_at.strftime("%B %d, %Y")}
|
6
|
-
%a{:href => "#{blog_url}/#{post.
|
6
|
+
%a{:href => "#{blog_url}/#{post.published_at.year}/#{post.published_at.month}/#{post.slug}"}= post.title
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 6
|
9
|
+
version: 0.3.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David Haslem
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-06-
|
17
|
+
date: 2010-06-02 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|