simple-pages-rails 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/simple_pages/page.rb +0 -20
- data/app/views/simple_pages/pages/_form.html.erb +3 -2
- data/app/views/simple_pages/pages/edit.html.erb +1 -0
- data/app/views/simple_pages/pages/new.html.erb +1 -0
- data/config/locales/pages.en.yml +6 -4
- data/config/locales/pages.zh-TW.yml +6 -4
- data/lib/simple-pages-rails/version.rb +1 -1
- data/lib/simple_pages/models/page_url.rb +31 -0
- data/lib/simple_pages.rb +2 -0
- metadata +5 -4
@@ -4,31 +4,11 @@ module SimplePages
|
|
4
4
|
|
5
5
|
attr_accessible :title, :excerpt, :content, :published_at, :layout_at
|
6
6
|
|
7
|
-
validates :url, presence: true
|
8
7
|
validates :title, presence: true
|
9
8
|
|
10
|
-
acts_as_url :title
|
11
|
-
|
12
9
|
scope :published, lambda { where('published_at <= ?', Time.zone.now) }
|
13
10
|
scope :layout_at, lambda { |location| where(layout_at: location) }
|
14
11
|
|
15
|
-
class << self
|
16
|
-
def find_or_create_by_url(attrs)
|
17
|
-
url = attrs.delete :url
|
18
|
-
page = where(url: url).first
|
19
|
-
if page.nil?
|
20
|
-
page = create(attrs)
|
21
|
-
page.url = url
|
22
|
-
page.save
|
23
|
-
end
|
24
|
-
page
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_param
|
29
|
-
url
|
30
|
-
end
|
31
|
-
|
32
12
|
SimplePages.page_modules.each { |module_name| include module_name }
|
33
13
|
end
|
34
14
|
end
|
@@ -1,6 +1,7 @@
|
|
1
|
-
<%= f.error_notification %>
|
2
|
-
|
3
1
|
<div class="form-inputs">
|
2
|
+
<% if can? :update_url, f.object %>
|
3
|
+
<%= f.input :url, input_html: { class: 'span10' } %>
|
4
|
+
<% end %>
|
4
5
|
<%= f.input :title, input_html: { class: 'span10' } %>
|
5
6
|
<%= f.input :excerpt, as: :text, input_html: { rows: 5, class: 'span10' } %>
|
6
7
|
<%= f.input :content, input_html: { class: 'ckeditor' } %>
|
@@ -14,6 +14,7 @@
|
|
14
14
|
|
15
15
|
<div>
|
16
16
|
<%= simple_form_for @page, as: :page, html: { class: 'form-horizontal' } do |f| %>
|
17
|
+
<%= f.error_notification %>
|
17
18
|
<%= render 'form', f: f, author_options: @author_options, layout_at_options: @layout_at_options %>
|
18
19
|
<div class="form-actions">
|
19
20
|
<%= submit_button f %>
|
@@ -11,6 +11,7 @@
|
|
11
11
|
|
12
12
|
<div>
|
13
13
|
<%= simple_form_for @page, as: :page, html: { class: 'form-horizontal' } do |f| %>
|
14
|
+
<%= f.error_notification %>
|
14
15
|
<%= render 'form', f: f, author_options: @author_options, layout_at_options: @layout_at_options %>
|
15
16
|
<div class="form-actions">
|
16
17
|
<%= submit_button f %>
|
data/config/locales/pages.en.yml
CHANGED
@@ -27,14 +27,16 @@ en:
|
|
27
27
|
|
28
28
|
simple_form:
|
29
29
|
labels:
|
30
|
-
|
30
|
+
page:
|
31
31
|
hints:
|
32
|
-
|
32
|
+
page:
|
33
|
+
url: 'Only characters(a-zA-Z), numbers(0-9), dash(-) and underline(_) are allowed. It will be given if left blank.'
|
34
|
+
published_at: 'It will not show up if blank.'
|
33
35
|
placeholders:
|
34
|
-
|
36
|
+
page:
|
35
37
|
|
36
38
|
helpers:
|
37
39
|
submit:
|
38
|
-
|
40
|
+
page:
|
39
41
|
create: 'Create %{model}'
|
40
42
|
update: 'Update %{model}'
|
@@ -27,14 +27,16 @@ zh-TW:
|
|
27
27
|
|
28
28
|
simple_form:
|
29
29
|
labels:
|
30
|
-
|
30
|
+
page:
|
31
31
|
hints:
|
32
|
-
|
32
|
+
page:
|
33
|
+
url: '僅限使用英文字母( a-zA-Z )、數字( 0-9 )、破折號( - )與底線( _ )。若不輸入,則由系統自行賦予。'
|
34
|
+
published_at: '若沒有設定時間,則不會顯示在網站中。'
|
33
35
|
placeholders:
|
34
|
-
|
36
|
+
page:
|
35
37
|
|
36
38
|
helpers:
|
37
39
|
submit:
|
38
|
-
|
40
|
+
page:
|
39
41
|
create: '建立%{model}'
|
40
42
|
update: '更新%{model}'
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module SimplePages
|
4
|
+
module Models
|
5
|
+
module PageUrl
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
included do
|
8
|
+
attr_accessible :url
|
9
|
+
validates :url, format: { with: /[\w\d-_]{3,}/ }, allow_blank: true
|
10
|
+
acts_as_url :title, sync_url: true, only_when_blank: true
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
def find_or_create_by_url(attrs)
|
15
|
+
url = attrs.delete :url
|
16
|
+
page = where(url: url).first
|
17
|
+
if page.nil?
|
18
|
+
page = create(attrs)
|
19
|
+
page.url = url
|
20
|
+
page.save
|
21
|
+
end
|
22
|
+
page
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_param
|
27
|
+
url
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/simple_pages.rb
CHANGED
@@ -4,6 +4,7 @@ require 'simple_pages/models/page_attachment'
|
|
4
4
|
require 'simple_pages/models/page_author'
|
5
5
|
require 'simple_pages/models/page_locale'
|
6
6
|
require 'simple_pages/models/page_owner'
|
7
|
+
require 'simple_pages/models/page_url'
|
7
8
|
|
8
9
|
module SimplePages
|
9
10
|
mattr_accessor :controller_modules
|
@@ -22,6 +23,7 @@ module SimplePages
|
|
22
23
|
|
23
24
|
mattr_accessor :page_modules
|
24
25
|
@@page_modules = [
|
26
|
+
SimplePages::Models::PageUrl,
|
25
27
|
SimplePages::Models::PageOwner,
|
26
28
|
SimplePages::Models::PageLocale,
|
27
29
|
SimplePages::Models::PageAttachment
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-pages-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -255,6 +255,7 @@ files:
|
|
255
255
|
- lib/simple_pages/models/page_author.rb
|
256
256
|
- lib/simple_pages/models/page_locale.rb
|
257
257
|
- lib/simple_pages/models/page_owner.rb
|
258
|
+
- lib/simple_pages/models/page_url.rb
|
258
259
|
- lib/tasks/simple_pages_tasks.rake
|
259
260
|
- script/rails
|
260
261
|
- simple-pages-rails.gemspec
|
@@ -320,7 +321,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
320
321
|
version: '0'
|
321
322
|
segments:
|
322
323
|
- 0
|
323
|
-
hash: -
|
324
|
+
hash: -3329774996417494791
|
324
325
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
325
326
|
none: false
|
326
327
|
requirements:
|
@@ -329,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
330
|
version: '0'
|
330
331
|
segments:
|
331
332
|
- 0
|
332
|
-
hash: -
|
333
|
+
hash: -3329774996417494791
|
333
334
|
requirements: []
|
334
335
|
rubyforge_project:
|
335
336
|
rubygems_version: 1.8.24
|