ecm_news 0.1.8.pre → 0.1.9.pre
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/app/models/ecm/news/item.rb +22 -24
- data/app/views/ecm/news/items/_item.html.erb +1 -2
- data/app/views/ecm/news/items/_item_for_preview.html.erb +2 -5
- data/app/views/ecm/news/items/_item_for_render_news.html.erb +2 -5
- data/app/views/ecm/news/items/index.html.erb +1 -0
- data/lib/ecm/news/active_admin/ecm_news_items.rb +10 -9
- data/lib/ecm/news/configuration.rb +9 -0
- data/lib/ecm/news/version.rb +1 -1
- data/lib/generators/ecm/news/install/templates/ecm_news.rb +18 -0
- metadata +22 -35
data/app/models/ecm/news/item.rb
CHANGED
@@ -1,52 +1,50 @@
|
|
1
1
|
class Ecm::News::Item < ActiveRecord::Base
|
2
2
|
# database settings
|
3
3
|
self.table_name = 'ecm_news_items'
|
4
|
-
|
4
|
+
|
5
5
|
# acts as markup
|
6
6
|
acts_as_markup :language => :variable, :columns => [ :body ]
|
7
|
-
|
7
|
+
|
8
8
|
# acts as published
|
9
9
|
include ActsAsPublished::ActiveRecord
|
10
10
|
acts_as_published
|
11
|
-
|
11
|
+
|
12
12
|
# attributes
|
13
|
-
attr_accessible :body,
|
14
|
-
:link_to_more,
|
13
|
+
attr_accessible :body,
|
14
|
+
:link_to_more,
|
15
15
|
:locale,
|
16
16
|
:markup_language,
|
17
|
-
:published_at,
|
18
|
-
:slug,
|
17
|
+
:published_at,
|
18
|
+
:slug,
|
19
19
|
:title
|
20
|
-
|
20
|
+
|
21
21
|
# callbacks
|
22
|
-
after_initialize :set_defaults
|
23
|
-
|
24
|
-
# constants
|
25
|
-
MARKUP_LANGAUGES = %w(markdown textile rdoc)
|
26
|
-
|
22
|
+
after_initialize :set_defaults
|
23
|
+
|
27
24
|
# friendly id
|
28
25
|
extend FriendlyId
|
29
26
|
friendly_id :title, :use => :slugged
|
30
|
-
|
27
|
+
|
31
28
|
# validations
|
32
29
|
validates :title, :presence => true, :uniqueness => true
|
33
|
-
validates :locale, :presence => true,
|
30
|
+
validates :locale, :presence => true,
|
34
31
|
:inclusion => I18n.available_locales.map(&:to_s)
|
35
32
|
validates :body, :presence => true
|
36
|
-
validates :markup_language, :presence => true,
|
37
|
-
:inclusion =>
|
38
|
-
|
33
|
+
validates :markup_language, :presence => true,
|
34
|
+
:inclusion => Ecm::News::Configuration.markup_languages.map(&:to_s)
|
35
|
+
|
39
36
|
# public methods
|
40
|
-
|
37
|
+
|
41
38
|
def to_s
|
42
39
|
title
|
43
|
-
end
|
44
|
-
|
40
|
+
end
|
41
|
+
|
45
42
|
private
|
46
|
-
|
43
|
+
|
47
44
|
def set_defaults
|
48
45
|
if self.new_record?
|
49
|
-
self.markup_language ||=
|
50
|
-
end
|
46
|
+
self.markup_language ||= Ecm::News::Configuration.default_markup_language
|
47
|
+
end
|
51
48
|
end
|
52
49
|
end
|
50
|
+
|
@@ -1,11 +1,8 @@
|
|
1
1
|
<div class="news-item preview">
|
2
2
|
<h2 class="item-title"><%= item.title %></h2>
|
3
3
|
<small class="item-published_at"><%= I18n.l(item.published_at) %></small>
|
4
|
-
|
5
|
-
<p class="item-body"><%= truncate(mu(item, :body), :length => 250, :separator => ' ').html_safe %></p>
|
6
|
-
|
7
|
-
|
4
|
+
<p class="item-body"><%= truncate(mu(item, :body), :length => Ecm::News::Configuration.news_item_preview_length, :separator => ' ').html_safe %></p>
|
8
5
|
<%= link_to(item, :class => 'btn more-link') do %><i class="icon-arrow-right"></i> <%= I18n.t('ecm.news.item.actions.more') %><% end %>
|
9
|
-
|
10
6
|
<hr />
|
11
7
|
</div>
|
8
|
+
|
@@ -1,11 +1,8 @@
|
|
1
1
|
<div class="news-item small-preview">
|
2
2
|
<h2 class="item-title"><%= item.title %></h2>
|
3
3
|
<small class="item-published_at"><%= I18n.l(item.published_at) %></small>
|
4
|
-
|
5
|
-
<p class="item-body"><%= truncate(mu(item, :body), :length => 250, :separator => ' ').html_safe %></p>
|
6
|
-
|
7
|
-
|
4
|
+
<p class="item-body"><%= truncate(mu(item, :body), :length => Ecm::News::Configuration.news_item_preview_length, :separator => ' ').html_safe %></p>
|
8
5
|
<%= link_to(item, :class => 'btn more-link') do %><i class="icon-arrow-right"></i> <%= I18n.t('ecm.news.item.actions.more') %><% end %>
|
9
|
-
|
10
6
|
<hr />
|
11
7
|
</div>
|
8
|
+
|
@@ -6,12 +6,12 @@ include ActsAsPublished::ActiveAdminHelper
|
|
6
6
|
|
7
7
|
# menu entry settings
|
8
8
|
menu :parent => Proc.new { I18n.t('ecm.news.active_admin.menu') }.call
|
9
|
-
|
9
|
+
|
10
10
|
# scopes
|
11
11
|
scope :all
|
12
12
|
scope :published
|
13
13
|
scope :unpublished
|
14
|
-
|
14
|
+
|
15
15
|
form do |f|
|
16
16
|
f.inputs do
|
17
17
|
f.input :title
|
@@ -19,14 +19,14 @@ include ActsAsPublished::ActiveAdminHelper
|
|
19
19
|
f.input :body
|
20
20
|
f.input :published, :as => :boolean
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
f.inputs do
|
24
|
-
f.input :markup_language, :as => :select, :collection => Ecm::News::
|
24
|
+
f.input :markup_language, :as => :select, :collection => Ecm::News::Configuration.markup_languages.map(&:to_s)
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
f.actions
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
index do
|
31
31
|
selectable_column
|
32
32
|
column :title
|
@@ -39,7 +39,7 @@ include ActsAsPublished::ActiveAdminHelper
|
|
39
39
|
column :updated_at
|
40
40
|
default_actions
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
show :title => :to_s do
|
44
44
|
attributes_table do
|
45
45
|
row :title
|
@@ -50,11 +50,12 @@ include ActsAsPublished::ActiveAdminHelper
|
|
50
50
|
row :created_at
|
51
51
|
row :updated_at
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
panel Ecm::News::Item.human_attribute_name(:body) do
|
55
55
|
div do
|
56
56
|
mu(ecm_news_item, :body)
|
57
|
-
end
|
57
|
+
end
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end if defined?(::ActiveAdmin)
|
61
|
+
|
@@ -9,6 +9,15 @@ module Ecm
|
|
9
9
|
yield self
|
10
10
|
end
|
11
11
|
|
12
|
+
mattr_accessor :default_markup_language
|
13
|
+
@@default_markup_language = nil
|
14
|
+
|
15
|
+
mattr_accessor :markup_languages
|
16
|
+
@@markup_languages = []
|
17
|
+
|
18
|
+
mattr_accessor :news_item_preview_length
|
19
|
+
@@news_item_preview_length = nil
|
20
|
+
|
12
21
|
mattr_accessor :render_news_default_count
|
13
22
|
@@render_news_default_count = 2
|
14
23
|
end
|
data/lib/ecm/news/version.rb
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
Ecm::News.configure do |config|
|
2
|
+
# Number of characters to render in news preview
|
3
|
+
#
|
4
|
+
# default: config.news_preview_length = 250
|
5
|
+
config.news_item_preview_length = 250
|
6
|
+
|
2
7
|
# Number of items that will be shown in #render_news
|
8
|
+
#
|
9
|
+
# default: config.render_news_default_count = 2
|
3
10
|
config.render_news_default_count = 2
|
11
|
+
|
12
|
+
# Accepted markup languages
|
13
|
+
#
|
14
|
+
# default: config.markup_languages = %w[ markdown rdoc textile ]
|
15
|
+
config.markup_languages = %w[ markdown rdoc textile ]
|
16
|
+
|
17
|
+
# Default markup language
|
18
|
+
#
|
19
|
+
# default: config.default_markup_language = 'textile'
|
20
|
+
config.default_markup_language = 'textile'
|
4
21
|
end
|
22
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecm_news
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 961916008
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
9
|
+
- 9
|
10
10
|
- pre
|
11
|
-
version: 0.1.
|
11
|
+
version: 0.1.9.pre
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Roberto Vasquez Angel
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2013-
|
19
|
+
date: 2013-02-07 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: rails
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 25
|
30
30
|
segments:
|
31
31
|
- 3
|
32
32
|
- 2
|
33
|
-
-
|
34
|
-
version: 3.2.
|
33
|
+
- 11
|
34
|
+
version: 3.2.11
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
55
|
none: false
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ~>
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
hash: 961916004
|
60
60
|
segments:
|
@@ -199,11 +199,12 @@ dependencies:
|
|
199
199
|
requirements:
|
200
200
|
- - ~>
|
201
201
|
- !ruby/object:Gem::Version
|
202
|
-
hash:
|
202
|
+
hash: 63
|
203
203
|
segments:
|
204
204
|
- 2
|
205
|
+
- 12
|
205
206
|
- 0
|
206
|
-
version:
|
207
|
+
version: 2.12.0
|
207
208
|
type: :development
|
208
209
|
version_requirements: *id013
|
209
210
|
- !ruby/object:Gem::Dependency
|
@@ -236,7 +237,7 @@ dependencies:
|
|
236
237
|
type: :development
|
237
238
|
version_requirements: *id015
|
238
239
|
- !ruby/object:Gem::Dependency
|
239
|
-
name:
|
240
|
+
name: guard-rspec
|
240
241
|
prerelease: false
|
241
242
|
requirement: &id016 !ruby/object:Gem::Requirement
|
242
243
|
none: false
|
@@ -250,25 +251,9 @@ dependencies:
|
|
250
251
|
type: :development
|
251
252
|
version_requirements: *id016
|
252
253
|
- !ruby/object:Gem::Dependency
|
253
|
-
name:
|
254
|
+
name: guard-bundler
|
254
255
|
prerelease: false
|
255
256
|
requirement: &id017 !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
|
-
requirements:
|
258
|
-
- - "="
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
hash: 11
|
261
|
-
segments:
|
262
|
-
- 0
|
263
|
-
- 5
|
264
|
-
- 0
|
265
|
-
version: 0.5.0
|
266
|
-
type: :development
|
267
|
-
version_requirements: *id017
|
268
|
-
- !ruby/object:Gem::Dependency
|
269
|
-
name: guard-rspec
|
270
|
-
prerelease: false
|
271
|
-
requirement: &id018 !ruby/object:Gem::Requirement
|
272
257
|
none: false
|
273
258
|
requirements:
|
274
259
|
- - ">="
|
@@ -278,21 +263,23 @@ dependencies:
|
|
278
263
|
- 0
|
279
264
|
version: "0"
|
280
265
|
type: :development
|
281
|
-
version_requirements: *
|
266
|
+
version_requirements: *id017
|
282
267
|
- !ruby/object:Gem::Dependency
|
283
|
-
name:
|
268
|
+
name: rb-inotify
|
284
269
|
prerelease: false
|
285
|
-
requirement: &
|
270
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
286
271
|
none: false
|
287
272
|
requirements:
|
288
|
-
- -
|
273
|
+
- - ~>
|
289
274
|
- !ruby/object:Gem::Version
|
290
|
-
hash:
|
275
|
+
hash: 47
|
291
276
|
segments:
|
292
277
|
- 0
|
293
|
-
|
278
|
+
- 8
|
279
|
+
- 8
|
280
|
+
version: 0.8.8
|
294
281
|
type: :development
|
295
|
-
version_requirements: *
|
282
|
+
version_requirements: *id018
|
296
283
|
description: News module for active admin.
|
297
284
|
email:
|
298
285
|
- roberto@vasquez-angel.de
|