refinerycms-feedsucker 1.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.
- data/app/controllers/admin/feedsucker_feeds_controller.rb +7 -0
- data/app/controllers/feedsucker_feeds_controller.rb +30 -0
- data/app/models/feedsucker_feed.rb +70 -0
- data/app/models/feedsucker_post.rb +22 -0
- data/app/views/admin/feedsucker_feeds/_feedsucker_feed.html.erb +18 -0
- data/app/views/admin/feedsucker_feeds/_form.html.erb +29 -0
- data/app/views/admin/feedsucker_feeds/_sortable_list.html.erb +4 -0
- data/app/views/admin/feedsucker_feeds/edit.html.erb +1 -0
- data/app/views/admin/feedsucker_feeds/index.html.erb +56 -0
- data/app/views/admin/feedsucker_feeds/new.html.erb +1 -0
- data/app/views/feedsucker_feeds/index.html.erb +11 -0
- data/app/views/feedsucker_feeds/show.html.erb +40 -0
- data/config/locales/en.yml +24 -0
- data/config/locales/es.yml +24 -0
- data/config/locales/lolcat.yml +24 -0
- data/config/locales/nb.yml +20 -0
- data/config/locales/nl.yml +20 -0
- data/config/routes.rb +11 -0
- data/lib/generators/refinerycms_feedsucker_feeds_generator.rb +6 -0
- data/lib/refinerycms-feedsucker_feeds.rb +19 -0
- data/lib/tasks/feedsucker_feeds.rake +20 -0
- metadata +101 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
class FeedsuckerFeedsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :find_all_feedsucker_feeds
|
4
|
+
before_filter :find_page
|
5
|
+
|
6
|
+
def index
|
7
|
+
# you can use meta fields from your model instead (e.g. browser_title)
|
8
|
+
# by swapping @page for @feedsucker_feed in the line below:
|
9
|
+
present(@page)
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
@feedsucker_feed = FeedsuckerFeed.find(params[:id])
|
14
|
+
|
15
|
+
# you can use meta fields from your model instead (e.g. browser_title)
|
16
|
+
# by swapping @page for @feedsucker_feed in the line below:
|
17
|
+
present(@page)
|
18
|
+
end
|
19
|
+
|
20
|
+
protected
|
21
|
+
|
22
|
+
def find_all_feedsucker_feeds
|
23
|
+
@feedsucker_feeds = FeedsuckerFeed.find(:all, :order => "position ASC")
|
24
|
+
end
|
25
|
+
|
26
|
+
def find_page
|
27
|
+
@page = Page.find_by_link_url("/feedsucker_feeds")
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'rexml/document'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
class FeedsuckerFeed < ActiveRecord::Base
|
5
|
+
|
6
|
+
acts_as_indexed :fields => [:title, :nicetitle, :url]
|
7
|
+
has_many :posts, :class_name =>'FeedsuckerPost'
|
8
|
+
|
9
|
+
|
10
|
+
validates :title, :presence => true, :uniqueness => true
|
11
|
+
validates :url, :presence => true, :uniqueness => true
|
12
|
+
|
13
|
+
def before_create
|
14
|
+
self.number_of_posts ||= 0 # Load all entries/posts by default
|
15
|
+
self.delete_preview ||= true # delete all old posts by default
|
16
|
+
end
|
17
|
+
|
18
|
+
def suck!
|
19
|
+
#items = self.xpath_post_url ? xml_feed_items : rss_or_atom_feed_items
|
20
|
+
items = xml_feed_items
|
21
|
+
if items.any?
|
22
|
+
last_item = self.number_of_posts > 0 ? self.number_of_posts : items.size
|
23
|
+
self.posts.destroy_all if self.delete_preview
|
24
|
+
items[0..last_item-1].each do |item|
|
25
|
+
unless FeedsuckerPost.find_by_url(item[:post_url])
|
26
|
+
self.posts << FeedsuckerPost.create(
|
27
|
+
:feedsucker_feed_id => self.id,
|
28
|
+
:blog_title => item[:blog_title],
|
29
|
+
:blog_url => item[:blog_url],
|
30
|
+
:title => item[:post_title],
|
31
|
+
:content => item[:post_content],
|
32
|
+
:date => item[:post_date],
|
33
|
+
:url => item[:post_url])
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.suck_all!
|
40
|
+
self.find(:all).each {|feed| feed.suck!}
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
def xml_feed_items
|
45
|
+
xmldata = Net::HTTP.get_response(URI.parse(self.url)).body
|
46
|
+
xmldoc = REXML::Document.new(xmldata)
|
47
|
+
xpath_defaults = xpath_defaults_for(xmldoc)
|
48
|
+
xpath = self.xpath_post_url || xpath_defaults[:post_url]
|
49
|
+
items = REXML::XPath.match(xmldoc, xpath).map {|url| {:post_url => url.to_s}}
|
50
|
+
%w{post_title post_content post_date
|
51
|
+
blog_title blog_url}.each do |suffix|
|
52
|
+
xpath = self.send("xpath_#{suffix}") || xpath_defaults[suffix.to_sym]
|
53
|
+
REXML::XPath.match(xmldoc, xpath).each_with_index do |value, index|
|
54
|
+
items[index][suffix.to_sym] = value.to_s
|
55
|
+
end
|
56
|
+
end
|
57
|
+
items
|
58
|
+
end
|
59
|
+
|
60
|
+
def xpath_defaults_for(xmldoc)
|
61
|
+
# TODO: xpaths if xmldoc is an Atom feed
|
62
|
+
{ :blog_title => '//channel/title/text()',
|
63
|
+
:blog_url => '//channel/link/text()',
|
64
|
+
:post_title => '//item/title/text()',
|
65
|
+
:post_url => '//item/link/text()',
|
66
|
+
:post_date => '//item/pubDate/text()',
|
67
|
+
:post_content => '//item/description/text()' }
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class FeedsuckerPost < ActiveRecord::Base
|
2
|
+
|
3
|
+
belongs_to :feed, :class_name => 'FeedsuckerFeed', :foreign_key => 'feedsucker_feed_id'
|
4
|
+
validates_presence_of :feed
|
5
|
+
|
6
|
+
def method_missing(method, *args, &block)
|
7
|
+
if (method.to_s =~ /^(.+)_without_tags$/)
|
8
|
+
if str = self.send($1)
|
9
|
+
str.gsub!(/<.*?>/,'')
|
10
|
+
begin
|
11
|
+
strip_tags(str)
|
12
|
+
rescue
|
13
|
+
ActionController::Base.helpers.strip_tags(str)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
else
|
17
|
+
super
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<li class='clearfix record <%= cycle("on", "on-hover") %>' id="<%= dom_id(feedsucker_feed) -%>">
|
2
|
+
<span class='title'>
|
3
|
+
<%= feedsucker_feed.title %>
|
4
|
+
<span class="preview"> </span>
|
5
|
+
</span>
|
6
|
+
<span class='actions'>
|
7
|
+
<%= link_to refinery_icon_tag("application_go.png"), feedsucker_feed_url(feedsucker_feed),
|
8
|
+
:title => t('.view_live_html'),
|
9
|
+
:target => "_blank" %>
|
10
|
+
<%= link_to refinery_icon_tag("application_edit.png"), edit_admin_feedsucker_feed_path(feedsucker_feed),
|
11
|
+
:title => t('.edit') %>
|
12
|
+
<%= link_to refinery_icon_tag("delete.png"), admin_feedsucker_feed_path(feedsucker_feed),
|
13
|
+
:class => "cancel confirm-delete",
|
14
|
+
:title => t('.delete'),
|
15
|
+
:confirm => t('message', :scope => 'shared.admin.delete', :title => feedsucker_feed.title),
|
16
|
+
:method => :delete %>
|
17
|
+
</span>
|
18
|
+
</li>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<%= form_for [:admin, @feedsucker_feed] do |f| -%>
|
2
|
+
<%= render :partial => "/shared/admin/error_messages", :locals => {
|
3
|
+
:object => @feedsucker_feed,
|
4
|
+
:include_object_name => true
|
5
|
+
} %>
|
6
|
+
|
7
|
+
<div class='field'>
|
8
|
+
<%= f.label :title -%>
|
9
|
+
<%= f.text_field :title, :class => 'larger widest' -%>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div class='field'>
|
13
|
+
<%= f.label :nicetitle -%>
|
14
|
+
<%= f.text_field :nicetitle -%>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<div class='field'>
|
18
|
+
<%= f.label :url -%>
|
19
|
+
<%= f.text_field :url -%>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<%= render :partial => "/shared/admin/form_actions",
|
23
|
+
:locals => {
|
24
|
+
:f => f,
|
25
|
+
:continue_editing => false,
|
26
|
+
:delete_title => t('delete', :scope => 'admin.feedsucker_feeds.feedsucker_feed'),
|
27
|
+
:delete_confirmation => t('message', :scope => 'shared.admin.delete', :title => @feedsucker_feed.title)
|
28
|
+
} %>
|
29
|
+
<% end -%>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => "form" %>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
<div id='records'>
|
2
|
+
<% if searching? %>
|
3
|
+
<h2><%= t('results_for', :scope => 'shared.admin.search', :query => params[:search]) %></h2>
|
4
|
+
<% end %>
|
5
|
+
<% if @feedsucker_feeds.any? %>
|
6
|
+
<%= will_paginate @feedsucker_feeds %>
|
7
|
+
|
8
|
+
<%= render :partial => "sortable_list" %>
|
9
|
+
|
10
|
+
<%= will_paginate @feedsucker_feeds %>
|
11
|
+
<% else %>
|
12
|
+
<p>
|
13
|
+
<% unless searching? %>
|
14
|
+
<strong>
|
15
|
+
<%= t('.no_items_yet') %>
|
16
|
+
</strong>
|
17
|
+
<% else %>
|
18
|
+
<%= t('no_results', :scope => 'shared.admin.search') %>
|
19
|
+
<% end %>
|
20
|
+
</p>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
<div id='actions'>
|
24
|
+
<ul>
|
25
|
+
<% if Admin::FeedsuckerFeedsController.searchable? %>
|
26
|
+
<li>
|
27
|
+
<%= render :partial => "/shared/admin/search",
|
28
|
+
:locals => {
|
29
|
+
:url => admin_feedsucker_feeds_url
|
30
|
+
} %>
|
31
|
+
</li>
|
32
|
+
<% end %>
|
33
|
+
<li>
|
34
|
+
<%= link_to t('.create_new'), new_admin_feedsucker_feed_url,
|
35
|
+
:class => "add_icon" %>
|
36
|
+
</li>
|
37
|
+
<% if !searching? and FeedsuckerFeed.count > 1 and Admin::FeedsuckerFeedsController.sortable? %>
|
38
|
+
<li>
|
39
|
+
<%= link_to t('.reorder', :what => "Feedsucker Feeds"),
|
40
|
+
admin_feedsucker_feeds_url,
|
41
|
+
:id => "reorder_action",
|
42
|
+
:class => "reorder_icon" %>
|
43
|
+
|
44
|
+
<%= link_to t('.reorder_done', :what => "Feedsucker Feeds"),
|
45
|
+
admin_feedsucker_feeds_url,
|
46
|
+
:id => "reorder_action_done",
|
47
|
+
:style => "display: none;",
|
48
|
+
:class => "reorder_icon" %>
|
49
|
+
</li>
|
50
|
+
<% end %>
|
51
|
+
</ul>
|
52
|
+
</div>
|
53
|
+
<%= render :partial => "/shared/admin/make_sortable",
|
54
|
+
:locals => {
|
55
|
+
:tree => false
|
56
|
+
} if !searching? and FeedsuckerFeed.count > 1 %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => "form" %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% content_for :body_content_left do %>
|
2
|
+
<ul id="feedsucker_feeds">
|
3
|
+
<% @feedsucker_feeds.each do |feedsucker_feed| %>
|
4
|
+
<li>
|
5
|
+
<%= link_to feedsucker_feed.title, feedsucker_feed_url(feedsucker_feed) %>
|
6
|
+
</li>
|
7
|
+
<% end %>
|
8
|
+
</ul>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<%= render :partial => "/shared/content_page" %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<% content_for :body_content_title do %>
|
2
|
+
<%= @feedsucker_feed.title %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<% content_for :body_content_left do %>
|
6
|
+
|
7
|
+
<section>
|
8
|
+
<h1>Title</h1>
|
9
|
+
<p> <%=raw @feedsucker_feed.title %>
|
10
|
+
</p>
|
11
|
+
</section>
|
12
|
+
|
13
|
+
<section>
|
14
|
+
<h1>Nicetitle</h1>
|
15
|
+
<p> <%=raw @feedsucker_feed.nicetitle %>
|
16
|
+
</p>
|
17
|
+
</section>
|
18
|
+
|
19
|
+
<section>
|
20
|
+
<h1>Url</h1>
|
21
|
+
<p> <%=raw @feedsucker_feed.url %>
|
22
|
+
</p>
|
23
|
+
</section>
|
24
|
+
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<% content_for :body_content_right do %>
|
28
|
+
<aside>
|
29
|
+
<h2><%= t('.other') %></h2>
|
30
|
+
<ul id="feedsucker_feeds">
|
31
|
+
<% @feedsucker_feeds.each do |feedsucker_feed| %>
|
32
|
+
<li>
|
33
|
+
<%= link_to feedsucker_feed.title, feedsucker_feed_url(feedsucker_feed) %>
|
34
|
+
</li>
|
35
|
+
<% end %>
|
36
|
+
</ul>
|
37
|
+
</aside>
|
38
|
+
<% end %>
|
39
|
+
|
40
|
+
<%= render :partial => "/shared/content_page" %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
en:
|
2
|
+
shared:
|
3
|
+
admin:
|
4
|
+
image_picker:
|
5
|
+
image: image
|
6
|
+
plugins:
|
7
|
+
feedsucker_feeds:
|
8
|
+
title: Feedsucker Feeds
|
9
|
+
admin:
|
10
|
+
feedsucker_feeds:
|
11
|
+
index:
|
12
|
+
title: Feedsucker Feeds
|
13
|
+
create_new: Add New Feedsucker Feed
|
14
|
+
reorder: Reorder Feedsucker Feeds
|
15
|
+
reorder_done: Done Reordering Feedsucker Feeds
|
16
|
+
sorry_no_results: Sorry! There are no results found.
|
17
|
+
no_items_yet: There are no Feedsucker Feeds yet. Click "Add New Feedsucker Feed" to add your first feedsucker feed.
|
18
|
+
feedsucker_feed:
|
19
|
+
view_live_html: View this feedsucker feed live <br/><em>(opens in a new window)</em>
|
20
|
+
edit: Edit this feedsucker feed
|
21
|
+
delete: Remove this feedsucker feed forever
|
22
|
+
feedsucker_feeds:
|
23
|
+
show:
|
24
|
+
other: Other Feedsucker Feeds
|
@@ -0,0 +1,24 @@
|
|
1
|
+
es:
|
2
|
+
shared:
|
3
|
+
admin:
|
4
|
+
image_picker:
|
5
|
+
image: image
|
6
|
+
plugins:
|
7
|
+
feedsucker_feeds:
|
8
|
+
title: Feeds
|
9
|
+
admin:
|
10
|
+
feedsucker_feeds:
|
11
|
+
index:
|
12
|
+
title: Feeds
|
13
|
+
create_new: Añadir nuevo feed
|
14
|
+
reorder: Reordenar feeds
|
15
|
+
reorder_done: Ya he terminado
|
16
|
+
sorry_no_results: ¡Lo sentimos, no hay resultados!
|
17
|
+
no_items_yet: Todavía no se ha creado ningún feed. Haz clic en "Añadir nuevo feed" para crear el primero
|
18
|
+
feedsucker_feed:
|
19
|
+
view_live_html: Ver este feed en la página </em>(en una nueva ventana)</em>
|
20
|
+
edit: Editar este feed
|
21
|
+
delete: Eliminar este feed
|
22
|
+
feedsucker_feeds:
|
23
|
+
show:
|
24
|
+
other: Otros feeds
|
@@ -0,0 +1,24 @@
|
|
1
|
+
lolcat:
|
2
|
+
shared:
|
3
|
+
admin:
|
4
|
+
image_picker:
|
5
|
+
image: IMAGE
|
6
|
+
plugins:
|
7
|
+
feedsucker_feeds:
|
8
|
+
title: Feedsucker Feeds
|
9
|
+
admin:
|
10
|
+
feedsucker_feeds:
|
11
|
+
index:
|
12
|
+
title: Feedsucker Feeds
|
13
|
+
create_new: CREATE NEW Feedsucker Feed
|
14
|
+
reorder: REORDR Feedsucker Feeds
|
15
|
+
reorder_done: DUN REORDERIN Feedsucker Feeds
|
16
|
+
sorry_no_results: SRY! THAR R NO RESULTS FINDZ.
|
17
|
+
no_items_yet: THAR R NO Feedsucker Feeds YET. CLICK "CREATE NEW Feedsucker Feed" 2 ADD UR FURST feedsucker feed.
|
18
|
+
feedsucker_feed:
|
19
|
+
view_live_html: VIEW DIS feedsucker feed LIV <BR/><EM>(OPENS IN NEW WINDOW)</EM>
|
20
|
+
edit: EDIT DIS feedsucker feed
|
21
|
+
delete: REMOOV DIS feedsucker feed FOREVR
|
22
|
+
feedsucker_feeds:
|
23
|
+
show:
|
24
|
+
other: OTHR Feedsucker Feeds
|
@@ -0,0 +1,20 @@
|
|
1
|
+
nb:
|
2
|
+
plugins:
|
3
|
+
feedsucker_feeds:
|
4
|
+
title: Feedsucker Feeds
|
5
|
+
admin:
|
6
|
+
feedsucker_feeds:
|
7
|
+
index:
|
8
|
+
title: Feedsucker Feeds
|
9
|
+
create_new: Lag en ny Feedsucker Feed
|
10
|
+
reorder: Endre rekkefølgen på Feedsucker Feeds
|
11
|
+
reorder_done: Ferdig å endre rekkefølgen Feedsucker Feeds
|
12
|
+
sorry_no_results: Beklager! Vi fant ikke noen resultater.
|
13
|
+
no_items_yet: Det er ingen Feedsucker Feeds enda. Klikk på "Lag en ny Feedsucker Feed" for å legge til din første feedsucker feed.
|
14
|
+
feedsucker_feed:
|
15
|
+
view_live_html: Vis hvordan denne feedsucker feed ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
|
16
|
+
edit: Rediger denne feedsucker feed
|
17
|
+
delete: Fjern denne feedsucker feed permanent
|
18
|
+
feedsucker_feeds:
|
19
|
+
show:
|
20
|
+
other: Andre Feedsucker Feeds
|
@@ -0,0 +1,20 @@
|
|
1
|
+
nl:
|
2
|
+
plugins:
|
3
|
+
feedsucker_feeds:
|
4
|
+
title: Feedsucker Feeds
|
5
|
+
admin:
|
6
|
+
feedsucker_feeds:
|
7
|
+
index:
|
8
|
+
title: Feedsucker Feeds
|
9
|
+
create_new: Maak een nieuwe Feedsucker Feed
|
10
|
+
reorder: Wijzig de volgorde van de Feedsucker Feeds
|
11
|
+
reorder_done: Klaar met het wijzingen van de volgorde van de Feedsucker Feeds
|
12
|
+
sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
|
13
|
+
no_items_yet: Er zijn nog geen Feedsucker Feeds. Druk op 'Maak een nieuwe Feedsucker Feed' om de eerste aan te maken.
|
14
|
+
feedsucker_feed:
|
15
|
+
view_live_html: Bekijk deze feedsucker feed op de website <br/><em>(opent een nieuw venster)</em>
|
16
|
+
edit: Bewerk deze feedsucker feed
|
17
|
+
delete: Verwijder deze feedsucker feed voor eeuwig
|
18
|
+
feedsucker_feeds:
|
19
|
+
show:
|
20
|
+
other: Andere Feedsucker Feeds
|
data/config/routes.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
Refinery::Application.routes.draw do
|
2
|
+
resources :feedsucker_feeds, :only => [:index, :show]
|
3
|
+
|
4
|
+
scope(:path => 'refinery', :as => 'admin', :module => 'admin') do
|
5
|
+
resources :feedsucker_feeds, :except => :show do
|
6
|
+
collection do
|
7
|
+
post :update_positions
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'refinery'
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
module FeedsuckerFeeds
|
5
|
+
class Engine < Rails::Engine
|
6
|
+
initializer "static assets" do |app|
|
7
|
+
app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public"
|
8
|
+
end
|
9
|
+
|
10
|
+
config.after_initialize do
|
11
|
+
Refinery::Plugin.register do |plugin|
|
12
|
+
plugin.name = "feedsucker_feeds"
|
13
|
+
plugin.activity = {
|
14
|
+
:class => FeedsuckerFeed}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
namespace :refinery do
|
2
|
+
|
3
|
+
namespace :feedsucker do
|
4
|
+
|
5
|
+
# call this task my running: rake refinery:feedsucker_feeds:my_task
|
6
|
+
# desc "Description of my task below"
|
7
|
+
# task :my_task => :environment do
|
8
|
+
# # add your logic here
|
9
|
+
# end
|
10
|
+
|
11
|
+
desc "Suck all feeds"
|
12
|
+
task :suck_all => :environment do
|
13
|
+
FeedsuckerFeed.find(:all).each do |feed|
|
14
|
+
feed.suck!
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: refinerycms-feedsucker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: "1.0"
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- The Cocktail
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2011-02-01 00:00:00 +01:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: refinerycms
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 41
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 9
|
32
|
+
- 9
|
33
|
+
version: 0.9.9
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
description: Ruby on Rails Feedsucker engine for Refinery CMS
|
37
|
+
email:
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files:
|
45
|
+
- lib/generators/refinerycms_feedsucker_feeds_generator.rb
|
46
|
+
- lib/refinerycms-feedsucker_feeds.rb
|
47
|
+
- lib/tasks/feedsucker_feeds.rake
|
48
|
+
- config/locales/en.yml
|
49
|
+
- config/locales/es.yml
|
50
|
+
- config/locales/lolcat.yml
|
51
|
+
- config/locales/nb.yml
|
52
|
+
- config/locales/nl.yml
|
53
|
+
- config/routes.rb
|
54
|
+
- app/controllers/admin/feedsucker_feeds_controller.rb
|
55
|
+
- app/controllers/feedsucker_feeds_controller.rb
|
56
|
+
- app/models/feedsucker_feed.rb
|
57
|
+
- app/models/feedsucker_post.rb
|
58
|
+
- app/views/admin/feedsucker_feeds/_feedsucker_feed.html.erb
|
59
|
+
- app/views/admin/feedsucker_feeds/_form.html.erb
|
60
|
+
- app/views/admin/feedsucker_feeds/_sortable_list.html.erb
|
61
|
+
- app/views/admin/feedsucker_feeds/edit.html.erb
|
62
|
+
- app/views/admin/feedsucker_feeds/index.html.erb
|
63
|
+
- app/views/admin/feedsucker_feeds/new.html.erb
|
64
|
+
- app/views/feedsucker_feeds/index.html.erb
|
65
|
+
- app/views/feedsucker_feeds/show.html.erb
|
66
|
+
has_rdoc: true
|
67
|
+
homepage: http://github.com/thecocktail/refinerycms-feedsucker
|
68
|
+
licenses: []
|
69
|
+
|
70
|
+
post_install_message:
|
71
|
+
rdoc_options: []
|
72
|
+
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 3
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
version: "0"
|
93
|
+
requirements: []
|
94
|
+
|
95
|
+
rubyforge_project:
|
96
|
+
rubygems_version: 1.3.7
|
97
|
+
signing_key:
|
98
|
+
specification_version: 3
|
99
|
+
summary: Feedsucker engine for Refinery CMS
|
100
|
+
test_files: []
|
101
|
+
|