ecm_news2 1.0.0

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.
@@ -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: