ecm_news 0.1.8.pre → 0.1.9.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 => MARKUP_LANGAUGES
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 ||= 'textile'
50
- end
46
+ self.markup_language ||= Ecm::News::Configuration.default_markup_language
47
+ end
51
48
  end
52
49
  end
50
+
@@ -1,8 +1,7 @@
1
1
  <div class="news-item show">
2
2
  <h1><%= item.title %></h1>
3
3
  <small class="item-published_at"><%= I18n.l(item.published_at) %></small>
4
-
5
4
  <p class="item-body"><%= mu(item, :body) %></p>
6
-
7
5
  <hr />
8
6
  </div>
7
+
@@ -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
+
@@ -3,3 +3,4 @@
3
3
  <%= render :partial => 'item_for_preview', :collection => @items, :as => :item %>
4
4
 
5
5
  <%= paginate @items, :theme => 'twitter-bootstrap' %>
6
+
@@ -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::Item::MARKUP_LANGAUGES
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
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module News
3
- VERSION = "0.1.8.pre"
3
+ VERSION = "0.1.9.pre"
4
4
  end
5
5
  end
@@ -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: 961916012
4
+ hash: 961916008
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
9
+ - 9
10
10
  - pre
11
- version: 0.1.8.pre
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-01-20 00:00:00 Z
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: 1
29
+ hash: 25
30
30
  segments:
31
31
  - 3
32
32
  - 2
33
- - 7
34
- version: 3.2.7
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: 3
202
+ hash: 63
203
203
  segments:
204
204
  - 2
205
+ - 12
205
206
  - 0
206
- version: "2.0"
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: ffaker
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: forgery
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: *id018
266
+ version_requirements: *id017
282
267
  - !ruby/object:Gem::Dependency
283
- name: guard-bundler
268
+ name: rb-inotify
284
269
  prerelease: false
285
- requirement: &id019 !ruby/object:Gem::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: 3
275
+ hash: 47
291
276
  segments:
292
277
  - 0
293
- version: "0"
278
+ - 8
279
+ - 8
280
+ version: 0.8.8
294
281
  type: :development
295
- version_requirements: *id019
282
+ version_requirements: *id018
296
283
  description: News module for active admin.
297
284
  email:
298
285
  - roberto@vasquez-angel.de