ecm_news2 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 92117ec33a4996ea9fd8f734fc64fc37cdfc5c33
4
+ data.tar.gz: 15df3bdbade4410589f2cce1ed29eda1fafeb480
5
+ SHA512:
6
+ metadata.gz: 9176da2d8544f1d4df6de194dbb1e0108c63aef136b666ad8e6dc234a4ff24112ae99aae0935786c2eedb30c1178eb5b7e386f392ded5cd2bd1bbf65bcd3f9bd
7
+ data.tar.gz: f6de96a1bf4e47e1dad03fa07cd69ebc48b0f8efe512d319a6431515b62d03755f2faca6bae8f5a5d54cb4d64058223f03ff2beb4397aacde237ba076133dabe
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,44 @@
1
+ = ECM News 2
2
+
3
+ News module for active admin. This version supports rails 4.x and twitter bootstrap 3. For legacy support use ecm_news
4
+
5
+ = Installation
6
+
7
+ Add the gem to your bundle:
8
+
9
+ # Gemfile
10
+ gem 'ecm_news2'
11
+
12
+ Install your bundle:
13
+
14
+ > bundle install
15
+
16
+ Generate initializer:
17
+
18
+ > rails generate ecm:news:install
19
+
20
+ Generate the locales
21
+ > rails generate ecm:news:locales
22
+
23
+ Add migrations:
24
+
25
+ > rake ecm_news_engine:install:migrations
26
+
27
+ Migrate:
28
+
29
+ > rake db:migrate
30
+
31
+ Add the routes:
32
+
33
+ # config/routes.rb
34
+ Ecm::News::Routing.routes(self)
35
+
36
+ = Usage
37
+
38
+ = Helpers
39
+
40
+ <%= render_news(count) %>
41
+
42
+ = License
43
+
44
+ This project rocks and uses MIT-LICENSE.
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'ECM News 2'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+
24
+
25
+
26
+ Bundler::GemHelper.install_tasks
27
+
28
+ require 'rails/dummy/tasks'
@@ -0,0 +1,88 @@
1
+ include ActsAsPublished::ActiveAdminHelper
2
+ include Ecm::Pictures::ActiveAdmin::PictureableHelper
3
+
4
+ ::ActiveAdmin.register Ecm::News::Item do
5
+ # acts as published
6
+ acts_as_published_actions
7
+
8
+ permit_params :attached_pictures_attributes,
9
+ :body,
10
+ :link_to_more,
11
+ :locale,
12
+ :markup_language,
13
+ :pictures_attributes,
14
+ :published,
15
+ :published_at,
16
+ :slug,
17
+ :title,
18
+ pictures_attributes: [
19
+ :description,
20
+ :_destroy,
21
+ :id,
22
+ :image,
23
+ :markup_language,
24
+ :name,
25
+ :picture_gallery_id,
26
+ :position
27
+ ],
28
+ attached_pictures_attributes: []
29
+
30
+ # menu entry settings
31
+ menu :parent => Proc.new { I18n.t('ecm.news.active_admin.menu') }.call
32
+
33
+ # scopes
34
+ scope :all
35
+ scope :published
36
+ scope :unpublished
37
+
38
+ form do |f|
39
+ f.inputs do
40
+ f.input :title
41
+ f.input :locale, :as => :select, :collection => I18n.available_locales.map(&:to_s)
42
+ f.input :body
43
+ f.input :published, :as => :boolean
44
+ end
45
+
46
+ f.inputs do
47
+ f.input :markup_language, :as => :select, :collection => Ecm::News::Configuration.markup_languages.map(&:to_s)
48
+ end
49
+
50
+ form_inputs_for_pictureable(f)
51
+
52
+ f.actions
53
+ end
54
+
55
+ index do
56
+ selectable_column
57
+ column :title
58
+ column :locale
59
+ column :body do |item|
60
+ truncate(mu(item, :body), :length => 250, :separator => ' ').html_safe
61
+ end
62
+ acts_as_published_columns
63
+ column :created_at
64
+ column :updated_at
65
+ actions
66
+ end
67
+
68
+ show :title => :to_s do
69
+ attributes_table do
70
+ row :title
71
+ row :locale
72
+ row :published_at
73
+ row :link_to_more
74
+ row :markup_language
75
+ row :created_at
76
+ row :updated_at
77
+ end
78
+
79
+ panel Ecm::News::Item.human_attribute_name(:body) do
80
+ div do
81
+ mu(ecm_news_item, :body)
82
+ end # div
83
+ end # panel
84
+
85
+ panel_for_pictureable
86
+ end # show
87
+ end if defined?(::ActiveAdmin)
88
+
@@ -0,0 +1,9 @@
1
+ class Ecm::News::ItemsController < Ecm::Pictures::Configuration.base_controller.constantize
2
+ def index
3
+ @items = Ecm::News::Item.published.where(:locale => I18n.locale.to_s).order("published_at DESC").page(params[:page]).per(5)
4
+ end
5
+
6
+ def show
7
+ @item = Ecm::News::Item.published.where(:locale => I18n.locale.to_s).find(params[:id])
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ module Ecm::NewsHelper
2
+ def render_news(count = nil)
3
+ count = count ||= Ecm::News::Configuration.render_news_default_count
4
+ items = Ecm::News::Item.published.where(:locale => I18n.locale.to_s).order("published_at DESC").limit(count)
5
+ return I18n.t('ecm.news.item.messages.empty') if items.empty?
6
+ output = ''
7
+ output << render(:partial => 'ecm/news/items/item_for_render_news', :collection => items, :as => :item)
8
+ output << render(:partial => 'ecm/news/render_news_footer')
9
+ return output.html_safe
10
+ end
11
+ end
12
+
@@ -0,0 +1,7 @@
1
+ module MarkupHelper
2
+ def mu(object, method)
3
+ handler = object.send(method)
4
+ erb_string = ::ERB.new(object[method.to_sym].to_s, 0).result(binding())
5
+ return handler.class.new(erb_string).to_html.html_safe
6
+ end
7
+ end
@@ -0,0 +1,66 @@
1
+ class Ecm::News::Item < ActiveRecord::Base
2
+ # associations
3
+ has_many :attached_pictures, :as => :pictureable,
4
+ :class_name => Ecm::Pictures::AttachedPicture,
5
+ :dependent => :destroy
6
+ has_many :pictures, :through => :attached_pictures,
7
+ :class_name => Ecm::Pictures::Picture
8
+
9
+ accepts_nested_attributes_for :attached_pictures, :allow_destroy => true
10
+ accepts_nested_attributes_for :pictures, :allow_destroy => true
11
+
12
+ # acts as markup
13
+ acts_as_markup :language => :variable, :columns => [ :body ]
14
+
15
+ # acts as published
16
+ include ActsAsPublished::ActiveRecord
17
+ acts_as_published
18
+
19
+ # attributes
20
+ attr_accessible :attached_pictures_attributes,
21
+ :body,
22
+ :link_to_more,
23
+ :locale,
24
+ :markup_language,
25
+ :pictures_attributes,
26
+ :published,
27
+ :published_at,
28
+ :slug,
29
+ :title if respond_to?(:attr_accessible)
30
+
31
+ # callbacks
32
+ after_initialize :set_defaults
33
+
34
+ # friendly id
35
+ extend FriendlyId
36
+ friendly_id :title, :use => [:slugged, :finders]
37
+
38
+ # validations
39
+ validates :title, :presence => true, :uniqueness => true
40
+ validates :locale, :presence => true,
41
+ :inclusion => I18n.available_locales.map(&:to_s)
42
+ validates :body, :presence => true
43
+ validates :markup_language, :presence => true,
44
+ :inclusion => Ecm::News::Configuration.markup_languages.map(&:to_s)
45
+
46
+ def human
47
+ title
48
+ end
49
+
50
+ def preview_picture
51
+ pictures.first
52
+ end
53
+
54
+ def to_s
55
+ human
56
+ end
57
+
58
+ private
59
+
60
+ def set_defaults
61
+ if self.new_record?
62
+ self.markup_language ||= Ecm::News::Configuration.default_markup_language
63
+ end
64
+ end
65
+ end
66
+
@@ -0,0 +1,2 @@
1
+ <%= link_to(ecm_news_items_path, :class => 'btn list-link') do %><i class="icon-list"></i>&nbsp;<%= I18n.t('ecm.news.item.actions.all') %><% end %>
2
+
@@ -0,0 +1,9 @@
1
+ <div class="news-item show">
2
+ <h1><%= item.title %></h1>
3
+ <small class="item-published_at"><%= I18n.l(item.published_at) %></small>
4
+ <% if item.preview_picture.present? %>
5
+ <img class="img-responsive" src="<%= item.preview_picture.image.url %>" alt="...">
6
+ <% end %>
7
+ <p class="item-body"><%= mu(item, :body) %></p>
8
+ </div>
9
+
@@ -0,0 +1,8 @@
1
+ <div class="news-item small-preview">
2
+ <h2 class="item-title"><%= item.title %></h2>
3
+ <small class="item-published_at"><%= I18n.l(item.published_at) %></small>
4
+ <p class="item-body"><%= truncate(mu(item, :body), :length => Ecm::News::Configuration.news_item_preview_length, :separator => ' ').html_safe %></p>
5
+ <%= link_to(item, :class => 'btn more-link') do %><i class="icon-arrow-right"></i> <%= I18n.t('ecm.news.item.actions.more') %><% end %>
6
+ <hr />
7
+ </div>
8
+
@@ -0,0 +1,20 @@
1
+ <div class="media">
2
+ <div class="media-left">
3
+ <% if item.preview_picture.present? %>
4
+ <%= link_to(item, class: 'col-lg-2') do %>
5
+ <img class="media-object thumbnail img-responsive" src="<%= item.preview_picture.image.url(:default_thumb) %>" alt="...">
6
+ <% end %>
7
+ <% else %>
8
+ <div class="col-lg-2"></div>
9
+ <% end %>
10
+ </div>
11
+ <div class="media-body">
12
+ <h4 class="media-heading"><%= item.title %></h4>
13
+ <div class="news-body truncate lines-3 bottom-margin-1">
14
+ <%= mu(item, :body) %>
15
+ </div>
16
+ <div class="object-actions">
17
+ <%= link_to(t('ecm.news.item.actions.more'), item, class: 'btn btn-primary') %>
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,8 @@
1
+ <% content_for :meta_description, I18n.t('ecm.news.news') %>
2
+ <% content_for :title, I18n.t('ecm.news.news') %>
3
+ <h1><%= I18n.t('ecm.news.news') %></h1>
4
+
5
+ <%= render :partial => 'item_in_list', :collection => @items, :as => :item %>
6
+
7
+ <%= paginate @items, :theme => 'twitter-bootstrap' %>
8
+
@@ -0,0 +1,12 @@
1
+ <% content_for :meta_description, @item.title %>
2
+ <% content_for :title, @item.title %>
3
+
4
+ <%= render @item %>
5
+
6
+ <div class="actions well">
7
+ <div class="page-actions">
8
+ <div class="btn-group" role="group">
9
+ <%= link_to t('back'), :back, class: 'btn btn-default' %>
10
+ </div>
11
+ </div>
12
+ </div>
@@ -0,0 +1,26 @@
1
+ de:
2
+ active_admin:
3
+ scopes:
4
+ all: Alle
5
+ published: Veröffentlicht
6
+ unpublished: Nicht veröffentlicht
7
+ ecm:
8
+ news:
9
+ active_admin:
10
+ menu: News
11
+ item:
12
+ actions:
13
+ all: Alle News anzeigen
14
+ back: Zurück
15
+ more: Weiterlesen
16
+ messages:
17
+ empty: Keine News gefunden.
18
+ news: News
19
+ views:
20
+ pagination:
21
+ first: "&laquo; Erste Seite"
22
+ last: "Letzte Seite &raquo;"
23
+ previous: "&lsaquo; Zurück"
24
+ next: "Vor &rsaquo;"
25
+ truncate: "..."
26
+
@@ -0,0 +1,26 @@
1
+ en:
2
+ active_admin:
3
+ scopes:
4
+ all: All
5
+ published: Published
6
+ unpublished: Not published
7
+ ecm:
8
+ news:
9
+ active_admin:
10
+ menu: news
11
+ item:
12
+ actions:
13
+ all: show all
14
+ back: back
15
+ more: continue reading
16
+ messages:
17
+ empty: no news found.
18
+ news: news
19
+ views:
20
+ pagination:
21
+ first: "&laquo; First"
22
+ last: "Last &raquo;"
23
+ previous: "&lsaquo; Prev"
24
+ next: "Next &rsaquo;"
25
+ truncate: "..."
26
+
@@ -0,0 +1,22 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ models:
5
+ ecm/news/item:
6
+ one: Newseintrag
7
+ other: Newseinträge
8
+ attributes:
9
+ ecm/news/item:
10
+ body: Inhalt
11
+ created_at: Erstellt am
12
+ link_to_more: Vorschau verlinken
13
+ locale: Sprache
14
+ markup_language: Markup Sprache
15
+ published: Veröffentlicht?
16
+ published_at: Veröffentlicht am
17
+ slug: Freundliche ID
18
+ title: Titel
19
+ updated_at: Aktualisiert am
20
+ routes:
21
+ ecm_news_items: news-eintraege
22
+
@@ -0,0 +1,22 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ models:
5
+ ecm/news/item:
6
+ one: news item
7
+ other: news items
8
+ attributes:
9
+ ecm/news/item:
10
+ body: body
11
+ created_at: created at
12
+ link_to_more: link to more?
13
+ locale: language
14
+ markup_language: markup language
15
+ published: published?
16
+ published_at: published at
17
+ slug: friendly id
18
+ title: title
19
+ updated_at: updated at
20
+ routes:
21
+ ecm_news_items: news-items
22
+
@@ -0,0 +1,19 @@
1
+ class CreateEcmNewsItems < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_news_items do |t|
4
+ t.string :title
5
+ t.string :locale
6
+ t.text :body
7
+ t.timestamp :published_at
8
+ t.boolean :link_to_more
9
+
10
+ # acts as markup
11
+ t.string :markup_language
12
+
13
+ # friendly id
14
+ t.string :slug
15
+
16
+ t.timestamps
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,33 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+ require 'active_support/hash_with_indifferent_access'
4
+
5
+ module Ecm
6
+ module News
7
+ module Configuration
8
+ def configure
9
+ yield self
10
+ end
11
+
12
+ mattr_accessor :default_markup_language do
13
+ 'textile'
14
+ end
15
+
16
+ mattr_accessor :markup_languages do
17
+ []
18
+ end
19
+
20
+ mattr_accessor :news_item_preview_length do
21
+ 250
22
+ end
23
+
24
+ mattr_accessor :render_news_default_count do
25
+ 2
26
+ end
27
+
28
+ mattr_accessor :base_controller do
29
+ 'ApplicationController'
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,12 @@
1
+ module Ecm
2
+ module News
3
+ class Engine < ::Rails::Engine
4
+ initializer :ecm_news_engine do
5
+ ActiveAdmin.setup do |config|
6
+ config.load_paths << File.join(self.root, 'app/admin')
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
12
+
@@ -0,0 +1,24 @@
1
+ module Ecm
2
+ module News
3
+ class Routing
4
+ # Creates the routes for news items. You can pass options to
5
+ # specify the actions for news items.
6
+ #
7
+ # Ecm::News::Routing.routes(self, { :item_actions => [ :show ]})
8
+ #
9
+ # This will only create the show action for items, but omit the index
10
+ # action.
11
+ def self.routes(router, options = {})
12
+ options.reverse_merge!(
13
+ { :item_actions => [:index, :show]
14
+ }
15
+ )
16
+
17
+ router.resources :ecm_news_items, :only => options[:item_actions],
18
+ :controller => 'ecm/news/items' do
19
+ router.get 'page/:page', :action => :index, :on => :collection
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module News
3
+ VERSION = "1.0.0"
4
+ end
5
+ end
6
+
@@ -0,0 +1,19 @@
1
+ require 'acts_as_markup'
2
+ require 'acts_as_published'
3
+ require 'friendly_id'
4
+ require 'kaminari'
5
+ require 'bootstrap-kaminari-views'
6
+
7
+ require 'ecm/news/engine'
8
+ require 'ecm/news/configuration'
9
+ require 'ecm/news/routing'
10
+
11
+ module Ecm
12
+ module News
13
+ extend Configuration
14
+
15
+ def self.table_name_prefix
16
+ 'ecm_news_'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ module Ecm
2
+ module News
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc "Generates the intializer"
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_intializer
10
+ copy_file "ecm_news.rb", "config/initializers/ecm_news.rb"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,28 @@
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
+
7
+ # Number of items that will be shown in #render_news
8
+ #
9
+ # default: config.render_news_default_count = 2
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'
21
+
22
+ # Set the base controller for the contact form
23
+ #
24
+ # Default: config.base_controller = 'ApplicationController'
25
+ #
26
+ config.base_controller = 'ApplicationController'
27
+ end
28
+
@@ -0,0 +1,18 @@
1
+ module Ecm
2
+ module News
3
+ module Generators
4
+ class LocalesGenerator < Rails::Generators::Base
5
+ desc "Copies the locale files to your application"
6
+
7
+ source_root File.expand_path('../../../../../../config/locales', __FILE__)
8
+
9
+ def generate_locales
10
+ copy_file "ecm.news.en.yml", "config/locales/ecm.news.en.yml"
11
+ copy_file "ecm.news.de.yml", "config/locales/ecm.news.de.yml"
12
+ copy_file "ecm.news.item.en.yml", "config/locales/ecm.news.item.en.yml"
13
+ copy_file "ecm.news.item.de.yml", "config/locales/ecm.news.item.de.yml"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,33 @@
1
+ namespace :ecm_news do
2
+ namespace :db do
3
+ desc "Purges and creates example data"
4
+ task :populate!, [] => [:environment] do |t, args|
5
+
6
+ Rake::Task["ecm_news:db:clear!"].execute
7
+ Rake::Task["ecm_news:db:populate"].execute
8
+ end
9
+
10
+ desc "Clears all data!"
11
+ task :clear!, [] => [:environment] do |t, args|
12
+ Ecm::News::Item.delete_all
13
+ end
14
+
15
+ desc "Creates example_data"
16
+ task :populate, [] => [:environment] do |t, args|
17
+ require "ffaker"
18
+ require "forgery"
19
+
20
+ # Create example news items
21
+ 100.times do
22
+ Ecm::News::Item.create! do |i|
23
+ i.title = Faker::Lorem.paragraph(1).split(" ")[0..3].join(" ")
24
+ i.locale = I18n.available_locales.choice.to_s
25
+ i.body = Faker::Lorem.paragraph(rand(9) + 1)
26
+ i.link_to_more = [true, false].choice
27
+ i.published = [true, false].choice
28
+ i.markup_language = Ecm::News::Item::MARKUP_LANGAUGES.choice
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
metadata ADDED
@@ -0,0 +1,428 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_news2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Roberto Vasquez Angel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-10-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 5.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 5.0.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: activeadmin
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 1.0.0.pre2
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.0.pre2
47
+ - !ruby/object:Gem::Dependency
48
+ name: acts_as_markup
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: acts_as_published
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 1.0.1
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.1
75
+ - !ruby/object:Gem::Dependency
76
+ name: friendly_id
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: kaminari
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: bootstrap-kaminari-views
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: ecm_pictures2
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rails-dummy
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: sqlite3
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: devise
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: twitter-bootstrap-rails
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: thin
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: yard
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: coffee-rails
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ - !ruby/object:Gem::Dependency
230
+ name: less-rails
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: sass-rails
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ - !ruby/object:Gem::Dependency
258
+ name: therubyracer
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: capybara
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ - !ruby/object:Gem::Dependency
286
+ name: rspec-rails
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ type: :development
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ - !ruby/object:Gem::Dependency
300
+ name: shoulda-matchers
301
+ requirement: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: 2.8.0
306
+ type: :development
307
+ prerelease: false
308
+ version_requirements: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - "~>"
311
+ - !ruby/object:Gem::Version
312
+ version: 2.8.0
313
+ - !ruby/object:Gem::Dependency
314
+ name: factory_girl_rails
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: '0'
327
+ - !ruby/object:Gem::Dependency
328
+ name: guard-rails
329
+ requirement: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - ">="
332
+ - !ruby/object:Gem::Version
333
+ version: '0'
334
+ type: :development
335
+ prerelease: false
336
+ version_requirements: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - ">="
339
+ - !ruby/object:Gem::Version
340
+ version: '0'
341
+ - !ruby/object:Gem::Dependency
342
+ name: guard-rspec
343
+ requirement: !ruby/object:Gem::Requirement
344
+ requirements:
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
348
+ type: :development
349
+ prerelease: false
350
+ version_requirements: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ - !ruby/object:Gem::Dependency
356
+ name: guard-bundler
357
+ requirement: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: '0'
362
+ type: :development
363
+ prerelease: false
364
+ version_requirements: !ruby/object:Gem::Requirement
365
+ requirements:
366
+ - - ">="
367
+ - !ruby/object:Gem::Version
368
+ version: '0'
369
+ description: News module for active admin.
370
+ email:
371
+ - roberto@vasquez-angel.de
372
+ executables: []
373
+ extensions: []
374
+ extra_rdoc_files: []
375
+ files:
376
+ - MIT-LICENSE
377
+ - README.rdoc
378
+ - Rakefile
379
+ - app/admin/ecm_news_items.rb
380
+ - app/controllers/ecm/news/items_controller.rb
381
+ - app/helpers/ecm/news_helper.rb
382
+ - app/helpers/markup_helper.rb
383
+ - app/models/ecm/news/item.rb
384
+ - app/views/ecm/news/_render_news_footer.html.erb
385
+ - app/views/ecm/news/items/_item.html.erb
386
+ - app/views/ecm/news/items/_item_for_render_news.html.erb
387
+ - app/views/ecm/news/items/_item_in_list.html.erb
388
+ - app/views/ecm/news/items/index.html.erb
389
+ - app/views/ecm/news/items/show.html.erb
390
+ - config/locales/ecm.news.de.yml
391
+ - config/locales/ecm.news.en.yml
392
+ - config/locales/ecm.news.item.de.yml
393
+ - config/locales/ecm.news.item.en.yml
394
+ - db/migrate/001_create_ecm_news_items.rb
395
+ - lib/ecm/news/configuration.rb
396
+ - lib/ecm/news/engine.rb
397
+ - lib/ecm/news/routing.rb
398
+ - lib/ecm/news/version.rb
399
+ - lib/ecm_news2.rb
400
+ - lib/generators/ecm/news/install/install_generator.rb
401
+ - lib/generators/ecm/news/install/templates/ecm_news.rb
402
+ - lib/generators/ecm/news/locales/locales_generator.rb
403
+ - lib/tasks/ecm_news_tasks.rake
404
+ homepage: https://github.com/robotex82/ecm_news
405
+ licenses: []
406
+ metadata: {}
407
+ post_install_message:
408
+ rdoc_options: []
409
+ require_paths:
410
+ - lib
411
+ required_ruby_version: !ruby/object:Gem::Requirement
412
+ requirements:
413
+ - - ">="
414
+ - !ruby/object:Gem::Version
415
+ version: '0'
416
+ required_rubygems_version: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '0'
421
+ requirements: []
422
+ rubyforge_project:
423
+ rubygems_version: 2.4.8
424
+ signing_key:
425
+ specification_version: 4
426
+ summary: News module for active admin.
427
+ test_files: []
428
+ has_rdoc: