governor 0.5.3 → 0.5.4

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/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '~> 3.0.5'
3
+ gem 'rails', '>= 3.0.5'
4
4
 
5
5
  group :development, :test do
6
6
  gem 'jeweler', '~> 1.5.2'
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ./
3
3
  specs:
4
- governor (0.5.3)
5
- rails (~> 3.0.5)
4
+ governor (0.5.4)
5
+ rails (>= 3.0.5)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
@@ -122,7 +122,7 @@ DEPENDENCIES
122
122
  governor!
123
123
  jeweler (~> 1.5.2)
124
124
  mocha
125
- rails (~> 3.0.5)
125
+ rails (>= 3.0.5)
126
126
  rcov
127
127
  rspec-rails
128
128
  sqlite3
@@ -4,10 +4,6 @@
4
4
  for Rails, built for people who want to build their blog into their website,
5
5
  not build their website into their blog.
6
6
 
7
- I'm just getting started, but feel free to poke around. I'm sure that when
8
- this starts getting functional, I'll write some setup documentation here. And
9
- try the specs, they're fresh!
10
-
11
7
  == Dependencies
12
8
 
13
9
  * ActiveRecord
@@ -22,13 +18,7 @@ Gemfile.
22
18
 
23
19
  gem 'governor'
24
20
 
25
- Once you've installed the gem into your app, you need to run the generator:
26
-
27
- rails generate governor:install
28
-
29
- This will add an initializer which allows you some loose configuration of
30
- Governor. As Governor grows, the initializer will actually get some teeth. Now
31
- you're ready to add a model:
21
+ Now you're ready to add a model:
32
22
 
33
23
  rails generate governor:create_articles [CLASS_NAME]
34
24
 
@@ -42,27 +32,42 @@ Now that you have an article model and a set of routes, you're ready to plug
42
32
  it into your app. I'd recommend running `rake routes` to see what routes have
43
33
  been added, as they depend on the model name you chose.
44
34
 
45
- The Governor initialization will check if Devise is installed, and will try to
46
- Do The Right Thing if it is. If not, it'll yell at you, so be sure to set up
47
- your authorization rules in this file.
48
-
49
35
  == Authentication/Authorization
50
36
 
51
- For now, Governor checks with Devise to make sure someone's logged in before
52
- creating an article, and verifies that the logged in user is an article's
53
- author before allowing them to edit. You might have your own rules that you'd
54
- rather apply. You'll have to wait until a future version if you want something
55
- different, sorry.
37
+ Governor checks to see if any of the popular authentication schemes are in
38
+ place, and should work with Devise, Authlogic, and Clearance. If you're using
39
+ something else, It's fairly easy to plug in to Governor. Running the following
40
+ generator will add an initializer to your app:
41
+
42
+ rails generate governor:configure
43
+
44
+ Here's a snippet from the initializer:
45
+
46
+ # How to reference the author of an article
47
+ Governor.author = Proc.new do
48
+ if defined?(Devise)
49
+ send("current_#{Devise.default_scope}")
50
+ elsif respond_to?(:current_user)
51
+ current_user
52
+ else
53
+ raise "Please define Governor.author. Run `rails generator governor:configure` to install an initializer."
54
+ end
55
+ end
56
+
57
+ Replace the block with your own code. This will allow you to define
58
+ app-specific definitions for the author of an article; authorization rules for
59
+ editing/deleting articles; and what the application should do if someone
60
+ breaks those rules.
56
61
 
57
62
  == Roadmap
58
63
 
59
64
  Less of a roadmap as a politician's promise of what will exist in future
60
65
  versions of Governor:
61
66
 
62
- * Strategies to play nice with different authentication/authorization schemes.
63
- * A fleshed-out Governor plugin API.
64
- * A few plugins: comments, LiveJournal synchronization, formatting engines,
65
- search, permalinks, feeds, and who knows what else.
67
+ * A better-documented plugin API.
68
+ * More plugins[https://github.com/carpeliam/governor/wiki/Plugins].
69
+ * The ability for a plugin to modify the rendering of an existing element on
70
+ the page.
66
71
  * A chicken in every pot and a car in every garage.
67
72
 
68
73
  Until v1.0 (or at least until things start to stabilize), I won't promise
@@ -86,6 +91,6 @@ developers. Still, if you're interested in improving this, let's talk.
86
91
 
87
92
  == Copyright
88
93
 
89
- Copyright (C) 2011 Liam Morley. See LICENSE.txt for
94
+ Copyright (c) 2011 Liam Morley. See LICENSE.txt for
90
95
  further details.
91
96
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.3
1
+ 0.5.4
@@ -15,6 +15,6 @@ module GovernorHelper
15
15
  end
16
16
 
17
17
  def show_time_ago(date)
18
- %{<acronym title="#{date.strftime '%A, %B %d, %Y at %I:%M %p'}">#{distance_of_time_in_words_to_now date}</acronym> ago}.html_safe
18
+ %{<time pubdate="" datetime="#{date.localtime.iso8601}" title="#{l date}">#{distance_of_time_in_words_to_now date} ago</time>}.html_safe
19
19
  end
20
20
  end
@@ -1,12 +1,16 @@
1
- <h1><%= link_to_unless_current article.title, article %></h1>
2
- <div class='subtitle'>
3
- <div class='desc'>
4
- <%= article.description %>
5
- <%= render_plugin_partial(:after_article_description, :locals => {:article => article}) %>
6
- </div>
7
- <div class='date'>
8
- posted <%= show_time_ago article.created_at %>
9
- </div>
10
- </div>
11
- <%= Governor::Formatters.format_article article %>
12
- <%= render_plugin_partial(:after_article_summary, :locals => {:article => article}) unless current_page?(article) %>
1
+ <article>
2
+ <header>
3
+ <h1><%= link_to_unless_current article.title, article %></h1>
4
+ <div class='subtitle'>
5
+ <div class='desc'>
6
+ <%= article.description %>
7
+ <%= render_plugin_partial(:after_article_description, :locals => {:article => article}) %>
8
+ </div>
9
+ <div class='date'>
10
+ posted <%= show_time_ago article.created_at %>
11
+ </div>
12
+ </div>
13
+ </header>
14
+ <%= Governor::Formatters.format_article article %>
15
+ <%= render_plugin_partial(:after_article_summary, :locals => {:article => article}) unless current_page?(article) %>
16
+ </article>
@@ -1,7 +1,5 @@
1
1
  <% if resources.blank? %><%= (@blank_msg or "There are no articles for this time period.") %><% end %>
2
2
  <%= render_plugin_partial :before_articles %>
3
- <%= render :partial => '/governor/articles/article', :collection => resources %>
3
+ <%= render :partial => 'governor/articles/article', :collection => resources %>
4
4
 
5
- <p>
6
- <%= will_paginate(resources) if respond_to?(:will_paginate) %>
7
- </p>
5
+ <%= will_paginate(resources) if respond_to?(:will_paginate) %>
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{governor}
8
- s.version = "0.5.3"
8
+ s.version = "0.5.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Liam Morley"]
12
- s.date = %q{2011-05-12}
12
+ s.date = %q{2011-05-14}
13
13
  s.description = %q{Because Blogojevich would be too tough to remember. It's a pluggable blogging system for Rails 3.}
14
14
  s.email = %q{liam@carpeliam.com}
15
15
  s.extra_rdoc_files = [
@@ -171,7 +171,7 @@ Gem::Specification.new do |s|
171
171
  s.specification_version = 3
172
172
 
173
173
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
174
- s.add_runtime_dependency(%q<rails>, ["~> 3.0.5"])
174
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.5"])
175
175
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
176
176
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
177
177
  s.add_development_dependency(%q<rspec-rails>, [">= 0"])
@@ -185,7 +185,7 @@ Gem::Specification.new do |s|
185
185
  s.add_development_dependency(%q<governor>, [">= 0"])
186
186
  s.add_development_dependency(%q<dynamic_form>, [">= 0"])
187
187
  else
188
- s.add_dependency(%q<rails>, ["~> 3.0.5"])
188
+ s.add_dependency(%q<rails>, [">= 3.0.5"])
189
189
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
190
190
  s.add_dependency(%q<sqlite3>, [">= 0"])
191
191
  s.add_dependency(%q<rspec-rails>, [">= 0"])
@@ -200,7 +200,7 @@ Gem::Specification.new do |s|
200
200
  s.add_dependency(%q<dynamic_form>, [">= 0"])
201
201
  end
202
202
  else
203
- s.add_dependency(%q<rails>, ["~> 3.0.5"])
203
+ s.add_dependency(%q<rails>, [">= 3.0.5"])
204
204
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
205
205
  s.add_dependency(%q<sqlite3>, [">= 0"])
206
206
  s.add_dependency(%q<rspec-rails>, [">= 0"])
@@ -8,7 +8,9 @@ module Governor
8
8
  @singular = (options[:singular] || @plural.to_s.singularize).to_sym
9
9
 
10
10
  @class_name = (options[:class_name] || resource.to_s.classify).to_s
11
- @ref = ActiveSupport::Dependencies.ref(@class_name)
11
+ @ref = defined?(ActiveSupport::Dependencies::ClassCache) ?
12
+ ActiveSupport::Dependencies::Reference.store(@class_name) :
13
+ ActiveSupport::Dependencies.ref(@class_name)
12
14
 
13
15
  @path = (options[:path] || resource).to_s
14
16
  @path_prefix = options[:path_prefix]
@@ -18,7 +20,11 @@ module Governor
18
20
 
19
21
  # Provides the resource class.
20
22
  def to
21
- @ref.get
23
+ if defined?(ActiveSupport::Dependencies::ClassCache)
24
+ @ref.get @class_name
25
+ else
26
+ @ref.get
27
+ end
22
28
  end
23
29
 
24
30
  # Presents a human-readable identifier of the resource type.
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- governor (0.5.3)
5
- rails (~> 3.0.5)
4
+ governor (0.5.4)
5
+ rails (>= 3.0.5)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: governor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 3
10
- version: 0.5.3
9
+ - 4
10
+ version: 0.5.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Liam Morley
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-12 00:00:00 -04:00
18
+ date: 2011-05-14 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -25,7 +25,7 @@ dependencies:
25
25
  version_requirements: &id001 !ruby/object:Gem::Requirement
26
26
  none: false
27
27
  requirements:
28
- - - ~>
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  hash: 13
31
31
  segments: