rails-ess 0.9.1

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/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rails-ess.gemspec
4
+ gemspec
5
+
6
+ gem "rspec"
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Hypecal
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,127 @@
1
+ rails-ess
2
+ ========
3
+
4
+ #### https://github.com/essfeed/rails-ess
5
+
6
+ [![ESS Feed Standard](http://essfeed.org/images/8/87/ESS_logo_32x32.png)](http://essfeed.org/)
7
+
8
+ Generate ESS XML feeds with Ruby-on-Rails
9
+
10
+ ## Installation
11
+
12
+ Add this line to your application's Gemfile:
13
+
14
+ gem 'rails-ess', '~> 0.9.1'
15
+
16
+ And then execute:
17
+
18
+ $ bundle
19
+
20
+ Or install it yourself as:
21
+
22
+ $ gem install rails-ess -v "0.9.0"
23
+
24
+ ## Usage
25
+
26
+ This little gem extends Rails so that it becomes easy to create ESS feeds
27
+ in your web application.
28
+
29
+ It adds the 'application/ess+xml' MIME type, which means that to add
30
+ an auto discovery link tag for an ESS feed, it's enough to add the
31
+ following to the head section of a web page:
32
+
33
+ ```ruby
34
+
35
+ auto_discovery_link_tag(:ess, {:controller => "events", :action => "feed"})
36
+
37
+ ```
38
+
39
+ And also, in a controller to respond with an ESS document:
40
+
41
+ ```ruby
42
+
43
+ def feed
44
+ @events = Event.all(:limit => 20)
45
+
46
+ respond_to do |format|
47
+ format.html
48
+ format.ess { render :layout => false } #feed.ess.builder
49
+ end
50
+ end
51
+
52
+ ```
53
+
54
+ This gem also adds a helper method which can be used in builder
55
+ templates:
56
+
57
+ ```ruby
58
+
59
+ ess_feed(:push => true, :request => request) do |ess|
60
+ ess.channel do |channel|
61
+ channel.title "National Stadium Football events"
62
+ channel.link "http://sample.com/feeds/sample.ess"
63
+
64
+ ...
65
+
66
+ @events.each do |event|
67
+ channel.add_feed do |feed|
68
+ feed.title event.title
69
+ feed.uri event.link
70
+ feed.description event.description
71
+
72
+ feed.tags do |tags|
73
+ tags.tag "Sport"
74
+ tags.tag "Team Sport"
75
+ tags.tag "Stadium"
76
+ end
77
+
78
+ ...
79
+
80
+ end
81
+ end
82
+ end
83
+ end
84
+
85
+ ```
86
+
87
+ More information on building a feed in Ruby can be found in the README
88
+ of the 'ess' gem: https://github.com/essfeed/ruby-ess .
89
+
90
+ More information on ESS and what tags and options are available can
91
+ be found on http://essfeed.org/ .
92
+
93
+ ## Contributing
94
+
95
+ Contributions to the project are welcome. Feel free to fork and improve. I accept pull requests and issues,
96
+ especially when tests are included.
97
+
98
+ 1. Fork it
99
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
100
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
101
+ 4. Push to the branch (`git push origin my-new-feature`)
102
+ 5. Create new Pull Request
103
+
104
+ # License
105
+
106
+ (The MIT License)
107
+
108
+ Copyright (c) 2013 Hypecal
109
+
110
+ Permission is hereby granted, free of charge, to any person obtaining
111
+ a copy of this software and associated documentation files (the
112
+ 'Software'), to deal in the Software without restriction, including
113
+ without limitation the rights to use, copy, modify, merge, publish,
114
+ distribute, sublicense, and/or sell copies of the Software, and to
115
+ permit persons to whom the Software is furnished to do so, subject to
116
+ the following conditions:
117
+
118
+ The above copyright notice and this permission notice shall be
119
+ included in all copies or substantial portions of the Software.
120
+
121
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
122
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
123
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
124
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
125
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
126
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
127
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,5 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
@@ -0,0 +1,25 @@
1
+ require 'action_view'
2
+ require 'ess'
3
+
4
+ module ActionView
5
+ module Helpers
6
+ module ESSFeedHelper
7
+ def ess_feed(options = {}, &block)
8
+ xml = eval("xml", block.binding)
9
+ maker_options = options.clone
10
+ maker_options[:push => "false"]
11
+ maker_options[:aggregators => nil]
12
+ ess = ESS::Maker.make(maker_options, &block)
13
+ output = ess.to_xml!
14
+ if options[:aggregators] || options[:push]
15
+ ESS::Pusher.push_to_aggregators(options.merge(:data => output))
16
+ end
17
+ xml << output
18
+ end
19
+ end
20
+
21
+ autoload :ESSFeedHelper
22
+ include ESSFeedHelper
23
+ end
24
+ end
25
+
@@ -0,0 +1,5 @@
1
+ module ESS
2
+ module Rails
3
+ VERSION = "0.9.1"
4
+ end
5
+ end
data/lib/rails-ess.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "action_dispatch"
2
+ require "rails-ess/version"
3
+ require "rails-ess/ess_feed_helper"
4
+
5
+ Mime::Type.register "application/ess+xml", :ess
6
+
data/rails-ess.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rails-ess/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "rails-ess"
8
+ gem.version = ESS::Rails::VERSION
9
+ gem.authors = ["Marjan Povolni","Brice Pissard"]
10
+ gem.email = ["marian.povolny@gmail.com"]
11
+ gem.description = %q{This gem extends Rails with the support for ESS feed generation using Builder like sintax.}
12
+ gem.summary = %q{Rails extensions for ESS XML Feeds}
13
+ gem.homepage = "https://github.com/essfeed/rails-ess"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_runtime_dependency "ess", "0.9.1"
21
+ gem.add_runtime_dependency "rails"
22
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-ess
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Marjan Povolni
9
+ - Brice Pissard
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-05-20 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: ess
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - '='
21
+ - !ruby/object:Gem::Version
22
+ version: 0.9.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '='
29
+ - !ruby/object:Gem::Version
30
+ version: 0.9.1
31
+ - !ruby/object:Gem::Dependency
32
+ name: rails
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ description: This gem extends Rails with the support for ESS feed generation using
48
+ Builder like sintax.
49
+ email:
50
+ - marian.povolny@gmail.com
51
+ executables: []
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - .gitignore
56
+ - .rspec
57
+ - Gemfile
58
+ - LICENSE.txt
59
+ - README.md
60
+ - Rakefile
61
+ - lib/rails-ess.rb
62
+ - lib/rails-ess/ess_feed_helper.rb
63
+ - lib/rails-ess/version.rb
64
+ - rails-ess.gemspec
65
+ homepage: https://github.com/essfeed/rails-ess
66
+ licenses: []
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ requirements: []
84
+ rubyforge_project:
85
+ rubygems_version: 1.8.24
86
+ signing_key:
87
+ specification_version: 3
88
+ summary: Rails extensions for ESS XML Feeds
89
+ test_files: []