ems 0.1.6 → 0.1.7

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.
@@ -4,12 +4,12 @@ module Ems
4
4
  before_filter :authenticate_user!
5
5
  # Also make sure we either have to check cancan or skipit, emtpy is too risky
6
6
  check_authorization
7
-
7
+
8
8
  # # Global cancan failure recovery
9
9
  # rescue_from CanCan::AccessDenied do |exception|
10
10
  # redirect_to main_app.new_user_session_path, :alert => exception.message
11
11
  # end
12
-
12
+
13
13
  # We need to make sure that we are using the ems abilities in the EMS
14
14
  def current_ability
15
15
  @current_ability ||= Ability.new(current_user)
@@ -1,53 +1,53 @@
1
1
  module Ems
2
2
  class ArticlesController < ApplicationController
3
- load_and_authorize_resource
4
-
3
+ load_and_authorize_resource :class => Ems::Article
4
+
5
5
  # GET /articles
6
6
  # GET /articles.json
7
7
  def index
8
8
  @articles = Article.all
9
-
9
+
10
10
  respond_to do |format|
11
11
  format.html # index.html.erb
12
12
  format.json { render json: @articles }
13
13
  end
14
14
  end
15
-
15
+
16
16
  # GET /articles/1
17
17
  # GET /articles/1.json
18
18
  def show
19
19
  @article = Article.find(params[:id])
20
-
20
+
21
21
  respond_to do |format|
22
22
  format.html # show.html.erb
23
23
  format.json { render json: @article }
24
24
  end
25
25
  end
26
-
26
+
27
27
  # GET /articles/new
28
28
  # GET /articles/new.json
29
29
  def new
30
30
  @article = Article.new(:category => Category.find(params[:category_id]))
31
31
  @article.assets.build
32
32
  @article.category = Category.find params[:category_id]
33
-
33
+
34
34
  respond_to do |format|
35
35
  format.html # new.html.erb
36
36
  format.json { render json: @article }
37
37
  end
38
38
  end
39
-
39
+
40
40
  # GET /articles/1/edit
41
41
  def edit
42
42
  @article = Article.find(params[:id])
43
43
  @article.assets.build
44
44
  end
45
-
45
+
46
46
  # POST /articles
47
47
  # POST /articles.json
48
48
  def create
49
49
  @article = Article.new(params[:article])
50
-
50
+
51
51
  respond_to do |format|
52
52
  if @article.save
53
53
  format.html { redirect_to edit_category_article_path(@article.category, @article), notice: 'Article was successfully created.' }
@@ -58,12 +58,12 @@ module Ems
58
58
  end
59
59
  end
60
60
  end
61
-
61
+
62
62
  # PUT /articles/1
63
63
  # PUT /articles/1.json
64
64
  def update
65
65
  @article = Article.find(params[:id])
66
-
66
+
67
67
  respond_to do |format|
68
68
  if @article.update_attributes(params[:article])
69
69
  format.html { redirect_to edit_category_article_path(@article.category, @article), notice: 'Article was successfully updated.' }
@@ -74,14 +74,14 @@ module Ems
74
74
  end
75
75
  end
76
76
  end
77
-
77
+
78
78
  # DELETE /articles/1
79
79
  # DELETE /articles/1.json
80
80
  def destroy
81
81
  @article = Article.find(params[:id])
82
82
  category = @article.category
83
83
  @article.destroy
84
-
84
+
85
85
  respond_to do |format|
86
86
  format.html { redirect_to category_articles_path(category), notice: 'Article was successfully deleted.' }
87
87
  format.json { head :no_content }
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class CategoriesController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Category
4
4
  # GET /categories
5
5
  # GET /categories.json
6
6
  def index
@@ -1,11 +1,11 @@
1
1
  module Ems
2
2
  class ChannelsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Channel
4
4
  # GET /channels
5
5
  # GET /channels.json
6
6
  def index
7
7
  @channels = Channel.all
8
-
8
+
9
9
  respond_to do |format|
10
10
  format.html # index.html.erb
11
11
  format.json { render json: @channels }
@@ -1,14 +1,14 @@
1
1
  module Ems
2
2
  class EmsController < ApplicationController
3
3
  skip_authorization_check :only => [:index]
4
-
4
+
5
5
  def index
6
6
  # Workaround for active admin routing problem.
7
7
  # see:
8
8
  # http://stackoverflow.com/questions/10684566/mountable-engine-routing-with-active-admin-on-rails
9
- # @todo find a nicer solution for this problem.
9
+ # TODO find a nicer solution for this problem.
10
10
  render :layout => 'ems/application'
11
11
  end
12
-
12
+
13
13
  end
14
14
  end
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class ImagesController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Image
4
4
  # GET /images
5
5
  # GET /images.json
6
6
  def index
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class NewsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::News
4
4
  # GET /news
5
5
  # GET /news.json
6
6
  def index
@@ -87,4 +87,4 @@ module Ems
87
87
  end
88
88
  end
89
89
  end
90
- end
90
+ end
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class ReportsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Report
4
4
  # GET /reports
5
5
  # GET /reports.json
6
6
  def index
@@ -1,8 +1,8 @@
1
1
  module Ems
2
2
  class TagsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Tag
4
4
  include TagQueryBuilder
5
-
5
+
6
6
  # GET /tags
7
7
  # GET /tags.json
8
8
  def index
@@ -28,4 +28,4 @@ module Ems
28
28
  # See the wiki for details: https://github.com/ryanb/cancan/wiki/Defining-Abilities
29
29
  end
30
30
  end
31
- end
31
+ end
@@ -1,6 +1,11 @@
1
1
  module Ems
2
2
 
3
3
  class Article < ActiveRecord::Base
4
+
5
+ attr_accessible :category_id, :channel_ids, :tag_ids, :title, :publish_from,
6
+ :status, :image, :standfirst, :content, :assets, :article_ids, :report_ids,
7
+ :news_ids, :hot, :featured
8
+
4
9
  # use friendly_id to handle our slugs
5
10
  extend FriendlyId
6
11
  friendly_id :title, use: :slugged
@@ -13,17 +18,16 @@ module Ems
13
18
  validates :channels, :presence => true, :if => :is_live?
14
19
  validates :publish_from, :presence => true, :if => :is_live?
15
20
  validates :status, :presence => true
16
-
21
+
17
22
  validates :image, :attachment_presence => true, :if => :is_live?
18
23
  validates :title, :presence => true, :if => :is_live?
19
24
  validates :standfirst, :presence => true, :if => :is_live?
20
25
  validates :content, :presence => true, :if => :is_live?
21
-
26
+
22
27
  validates_uniqueness_of :slug
23
28
  validates_inclusion_of :content_disposition, :in => [ :html, :markdown ], :message => "Value is not a valid content disposition"
24
29
  validates_inclusion_of :status, :in => [ :draft, :pending, :live ], :message => "Value is not a valid status"
25
-
26
-
30
+
27
31
  # searchable do
28
32
  # text :title, :stored => true
29
33
  # text :standfirst, :stored => true
@@ -35,7 +39,6 @@ module Ems
35
39
 
36
40
  # after methods
37
41
  after_initialize :init
38
-
39
42
 
40
43
  # relations
41
44
  belongs_to :category
@@ -52,7 +55,7 @@ module Ems
52
55
  accepts_nested_attributes_for :reports
53
56
  has_many :assets, :as => :assetable
54
57
  accepts_nested_attributes_for :assets, :allow_destroy => true
55
-
58
+
56
59
  # paperclip files
57
60
  has_attached_file :image, :styles => { :image564x252 => "564x252#", :image312x189 => "312x189#", :image312x126 => "312x126", :image228x126 => "228x126"}
58
61
 
@@ -87,7 +90,7 @@ module Ems
87
90
  def content_disposition= (value)
88
91
  write_attribute(:content_disposition, value.to_s)
89
92
  end
90
-
93
+
91
94
  def content_as_html
92
95
  Kramdown::Document.new(content, :input => "BeanKramdown").to_html
93
96
  end
@@ -97,15 +100,15 @@ module Ems
97
100
  def as_json(options={})
98
101
  super( options.merge( :include => [ :category, :channels, :tags, :images ] ) )
99
102
  end
100
-
103
+
101
104
  #
102
105
  def is_live?
103
106
  self.status === :live
104
107
  end
105
-
108
+
106
109
  # base queries
107
110
  class << self
108
-
111
+
109
112
  def base_query(category=nil)
110
113
  q = self.joins(:category).where("publish_from <= :publish_from", {:publish_from => Time.now.strftime("%Y/%m/%d %H:00:00")}).where(:status => 'live')
111
114
  q = q.where('ems_categories.id' => category.id) if category
@@ -1,5 +1,8 @@
1
1
  module Ems
2
2
  class Category < ActiveRecord::Base
3
+
4
+ attr_accessible :name, :strapline
5
+
3
6
  # use friendly_id to handle our slugs
4
7
  extend FriendlyId
5
8
  friendly_id :name, use: :slugged
@@ -1,11 +1,14 @@
1
1
  module Ems
2
2
  class Channel < ActiveRecord::Base
3
+
4
+ attr_accessible :name, :category_ids, :articles, :news, :reports
5
+
3
6
  extend FriendlyId
4
7
  friendly_id :name, use: :slugged
5
8
  def should_generate_new_friendly_id?
6
9
  new_record?
7
10
  end
8
-
11
+
9
12
  # Validators
10
13
  validates_uniqueness_of :slug
11
14
  validates :slug, :presence => true
@@ -13,7 +16,7 @@ module Ems
13
16
 
14
17
  has_and_belongs_to_many :categories, :join_table => 'ems_categories_channels'
15
18
  accepts_nested_attributes_for :categories
16
-
19
+
17
20
  has_and_belongs_to_many :articles, :join_table => 'ems_articles_channels'
18
21
  accepts_nested_attributes_for :articles
19
22
  has_and_belongs_to_many :news, :join_table => 'ems_channels_news'
@@ -1,5 +1,6 @@
1
1
  module Ems
2
2
  class Role < ActiveRecord::Base
3
+ attr_accessible :name
3
4
  has_and_belongs_to_many :users, :class_name => Ems.user_class, :join_table => 'ems_roles_users'
4
5
  end
5
6
  end
@@ -1,11 +1,14 @@
1
1
  module Ems
2
2
  class Tag < ActiveRecord::Base
3
+
4
+ attr_accessible :title, :description
5
+
3
6
  extend FriendlyId
4
7
  friendly_id :title, use: :slugged
5
8
  def should_generate_new_friendly_id?
6
9
  new_record?
7
10
  end
8
-
11
+
9
12
  has_and_belongs_to_many :articles, :join_table => 'ems_articles_tags'
10
13
  accepts_nested_attributes_for :articles
11
14
 
@@ -13,7 +16,7 @@ module Ems
13
16
  validates_uniqueness_of :slug
14
17
  validates :slug, :presence => true
15
18
  validates :title, :presence => true
16
-
19
+
17
20
  #
18
21
  # @param options
19
22
  def as_json(options={})
@@ -22,5 +22,4 @@
22
22
  =yield
23
23
 
24
24
  %footer#footer
25
- %p
26
- \Powered by EMS
25
+ %p= "Powered by EMS #{Ems::VERSION}"
@@ -1,3 +1,3 @@
1
1
  module Ems
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
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-07-25 00:00:00.000000000 Z
12
+ date: 2012-09-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -552,7 +552,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
552
552
  version: '0'
553
553
  segments:
554
554
  - 0
555
- hash: 150353376208711007
555
+ hash: 1341355416954403944
556
556
  required_rubygems_version: !ruby/object:Gem::Requirement
557
557
  none: false
558
558
  requirements:
@@ -561,10 +561,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
561
561
  version: '0'
562
562
  segments:
563
563
  - 0
564
- hash: 150353376208711007
564
+ hash: 1341355416954403944
565
565
  requirements: []
566
566
  rubyforge_project:
567
- rubygems_version: 1.8.24
567
+ rubygems_version: 1.8.19
568
568
  signing_key:
569
569
  specification_version: 3
570
570
  summary: Editorial Management System