active_scaffold_export_vho 3.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.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 vhochstein
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.
data/README ADDED
@@ -0,0 +1,5 @@
1
+ This is my version of the active_scaffold_export plugin.
2
+
3
+ It works with Rails 2.3 and both rails-2.3 and master branches of ActiveScaffold.
4
+
5
+ I have renamed the old activescaffoldexport plugin to follow the same pattern as the other ActiveScaffold related plugins.
data/Rakefile ADDED
@@ -0,0 +1,55 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ require './lib/active_scaffold_export/version.rb'
14
+
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "active_scaffold_export_vho"
18
+ gem.version = ActiveScaffoldExport::Version::STRING
19
+ gem.homepage = "http://github.com/vhochstein/active_scaffold_export"
20
+ gem.license = "MIT"
21
+ gem.summary = %Q{Exporting Records with ActiveScaffold}
22
+ gem.description = %Q{Exporting Records with ActiveScaffold}
23
+ gem.email = "activescaffold@googlegroups.com"
24
+ gem.authors = ["Volker Hochstein"]
25
+ gem.add_runtime_dependency 'active_scaffold_vho', '~> 3.0'
26
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
27
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
28
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
29
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
30
+ end
31
+ Jeweler::RubygemsDotOrgTasks.new
32
+
33
+ require 'rake/testtask'
34
+ Rake::TestTask.new(:test) do |test|
35
+ test.libs << 'lib' << 'test'
36
+ test.pattern = 'test/**/test_*.rb'
37
+ test.verbose = true
38
+ end
39
+
40
+ require 'rcov/rcovtask'
41
+ Rcov::RcovTask.new do |test|
42
+ test.libs << 'test'
43
+ test.pattern = 'test/**/test_*.rb'
44
+ test.verbose = true
45
+ end
46
+
47
+ task :default => :test
48
+
49
+ require 'rake/rdoctask'
50
+ Rake::RDocTask.new do |rdoc|
51
+ rdoc.rdoc_dir = 'rdoc'
52
+ rdoc.title = "active_scaffold_export #{ActiveScaffoldExport::Version::STRING}"
53
+ rdoc.rdoc_files.include('README*')
54
+ rdoc.rdoc_files.include('lib/**/*.rb')
55
+ end
Binary file
@@ -0,0 +1,6 @@
1
+ /* IE hacks
2
+ ==================================== */
3
+ .active-scaffold-header div.actions a.export {
4
+ background-image: none;
5
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/active_scaffold/default/export.png', sizingMethod='crop');
6
+ }
@@ -0,0 +1,27 @@
1
+ .active-scaffold-header div.actions a.show_export {
2
+ background-image: url(../../../images/active_scaffold/default/export.png);
3
+ background-position: 1px 50%;
4
+ background-repeat: no-repeat;
5
+ padding-left: 19px;
6
+ }
7
+ .active-scaffold div.show_export-view h3 {
8
+ font-weight: bold;
9
+ }
10
+ .active-scaffold div.show_export-view div.separator {
11
+ clear: both;
12
+ padding: .5em;
13
+ }
14
+ .active-scaffold div.show_export-view div.options div.separator {
15
+ padding: 0;
16
+ }
17
+ .active-scaffold div.show_export-view div.options div.checkbox-wrapper {
18
+ margin-bottom: .5em;
19
+ }
20
+ .active-scaffold div.show_export-view div div.checkbox-wrapper {
21
+ min-width: 20%;
22
+ margin-bottom: .25em;
23
+ float: left;
24
+ }
25
+ .active-scaffold div.show_export-view label #delimiter {
26
+ font-family: monospace;
27
+ }
@@ -0,0 +1,17 @@
1
+ <%
2
+ fcsv_options = {
3
+ :row_sep => "\n",
4
+ :col_sep => params[:delimiter],
5
+ :force_quotes => @export_config.force_quotes,
6
+ :headers => @export_columns.collect { |column| format_export_column_header_name(column) }
7
+ }
8
+
9
+ data = FasterCSV.generate(fcsv_options) do |csv|
10
+ csv << fcsv_options[:headers] unless params[:skip_header] == 'true'
11
+ @records.each do |record|
12
+ csv << @export_columns.collect { |column|
13
+ get_export_column_value(record, column)
14
+ }
15
+ end
16
+ end
17
+ -%><%= data.html_safe -%>
@@ -0,0 +1,28 @@
1
+ <% export_config = active_scaffold_config.export %>
2
+ <div class="columns checkbox-list">
3
+ <% export_config.columns.each do |column| -%>
4
+ <div class="column checkbox-wrapper">
5
+ <%= content_tag(:label, check_box_tag("export_columns[#{column.name}]", 1, !export_config.default_deselected_columns.include?(column.name)) + "&nbsp;#{column.label}".html_safe) %>
6
+ </div>
7
+ <% end -%>
8
+ &nbsp;
9
+ </div>
10
+ <div class="separator"></div>
11
+ <h3><%=as_('Options')%></h3>
12
+ <div class="options checkbox-list">
13
+ <div class="option checkbox-wrapper">
14
+ <%= content_tag(:label, check_box_tag('skip_header', 1, export_config.default_skip_header) + " #{as_('Omit Header')}".html_safe) %>
15
+ </div>
16
+ <div class="option checkbox-wrapper">
17
+ <%= content_tag(:label, text_field_tag('delimiter', export_config.default_delimiter, :size => 1, :maxlength => 1) + " #{as_('Delimiter')}".html_safe) %>
18
+ </div>
19
+ <div class="separator"></div>
20
+ <div class="option checkbox-wrapper">
21
+ <%= content_tag(:label, radio_button_tag('full_download', false, !export_config.default_full_download) + " #{as_('This Page')}".html_safe) if export_config.allow_full_download %>
22
+ </div>
23
+ <div class="option checkbox-wrapper">
24
+ <%= content_tag(:label, radio_button_tag('full_download', true, export_config.default_full_download) + " #{as_('All Pages')}".html_safe) if export_config.allow_full_download %>
25
+ </div>
26
+ &nbsp;
27
+ </div>
28
+ <div class="separator"></div>
@@ -0,0 +1,7 @@
1
+ <%= render :partial => "base_form", :locals => {:xhr => false,
2
+ :form_action => :export,
3
+ :url_options => params_for(:action => :export, :format => 'csv'),
4
+ :method => :get,
5
+ :cancel_link => true,
6
+ :headline => as_('Columns to Export'),
7
+ :body_partial => 'export_form_body'} %>
@@ -0,0 +1,5 @@
1
+ <div class="active-scaffold">
2
+ <div class="show-export view">
3
+ <%= render :partial => 'show_export' -%>
4
+ </div>
5
+ </div>
data/init.rb ADDED
@@ -0,0 +1,9 @@
1
+ ACTIVE_SCAFFOLD_EXPORT_INSTALLED = :plugin
2
+
3
+ require 'active_scaffold_export'
4
+
5
+ begin
6
+ ActiveScaffoldAssets.copy_to_public(ActiveScaffoldExport.root)
7
+ rescue
8
+ raise $! unless Rails.env == 'production'
9
+ end
@@ -0,0 +1,91 @@
1
+ module ActiveScaffold::Actions
2
+ module Export
3
+ def self.included(base)
4
+ base.before_filter :export_authorized?, :only => [:export]
5
+ base.before_filter :init_session_var
6
+
7
+ as_export_plugin_path = File.join(ActiveScaffold::Config::Export.plugin_directory, 'frontends', 'default' , 'views')
8
+
9
+ base.add_active_scaffold_path as_export_plugin_path
10
+ end
11
+
12
+ def init_session_var
13
+ session[:search] = params[:search] if !params[:search].nil? || params[:commit] == as_('Search')
14
+ end
15
+
16
+ # display the customization form or skip directly to export
17
+ def show_export
18
+ export_config = active_scaffold_config.export
19
+ respond_to do |wants|
20
+ wants.html do
21
+ render(:partial => 'show_export', :layout => true)
22
+ end
23
+ wants.js do
24
+ render(:partial => 'show_export', :layout => false)
25
+ end
26
+ end
27
+ end
28
+
29
+ # if invoked directly, will use default configuration
30
+ def export
31
+ export_config = active_scaffold_config.export
32
+ if params[:export_columns].nil?
33
+ export_columns = {}
34
+ export_config.columns.each { |col|
35
+ export_columns[col.name.to_sym] = 1
36
+ }
37
+ options = {
38
+ :export_columns => export_columns,
39
+ :full_download => export_config.default_full_download.to_s,
40
+ :delimiter => export_config.default_delimiter,
41
+ :skip_header => export_config.default_skip_header.to_s
42
+ }
43
+ params.merge!(options)
44
+ end
45
+
46
+ find_items_for_export
47
+
48
+ response.headers['Content-Disposition'] = "attachment; filename=#{export_file_name}"
49
+ render :partial => 'export', :layout => false, :content_type => Mime::CSV, :status => response_status
50
+ end
51
+
52
+ protected
53
+
54
+ # The actual algorithm to do the export
55
+ def find_items_for_export
56
+ export_config = active_scaffold_config.export
57
+ export_columns = export_config.columns.reject { |col| params[:export_columns][col.name.to_sym].nil? }
58
+
59
+ includes_for_export_columns = export_columns.collect{ |col| col.includes }.flatten.uniq.compact
60
+ self.active_scaffold_includes.concat includes_for_export_columns
61
+
62
+ find_options = { :sorting => active_scaffold_config.list.user.sorting }
63
+ params[:search] = session[:search]
64
+ do_search rescue nil
65
+ params[:segment_id] = session[:segment_id]
66
+ do_segment_search rescue nil
67
+ unless params[:full_download] == 'true'
68
+ find_options.merge!({
69
+ :per_page => active_scaffold_config.list.user.per_page,
70
+ :page => active_scaffold_config.list.user.page
71
+ })
72
+ end
73
+
74
+ @export_config = export_config
75
+ @export_columns = export_columns
76
+ @records = find_page(find_options).items
77
+ end
78
+
79
+ # The default name of the downloaded file.
80
+ # You may override the method to specify your own file name generation.
81
+ def export_file_name
82
+ "#{self.controller_name}.csv"
83
+ end
84
+
85
+ # The default security delegates to ActiveRecordPermissions.
86
+ # You may override the method to customize.
87
+ def export_authorized?
88
+ authorized_for?(:action => :read)
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,76 @@
1
+ module ActiveScaffold::Config
2
+ class Export < ActiveScaffold::Config::Form
3
+ self.crud_type = :read
4
+
5
+ def initialize(core_config)
6
+ @core = core_config
7
+ end
8
+
9
+ # global level configuration
10
+ # --------------------------
11
+ # the ActionLink for this action
12
+ cattr_accessor :link
13
+ @@link = ActiveScaffold::DataStructures::ActionLink.new('show_export', :label => :export, :type => :collection, :security_method => :export_authorized?)
14
+
15
+ # configures where the plugin itself is located. there is no instance version of this.
16
+ cattr_accessor :plugin_directory
17
+ @@plugin_directory = File.expand_path(__FILE__).match(%{(^.*)/lib/active_scaffold/config/export.rb})[1]
18
+
19
+
20
+ # instance-level configuration
21
+ # ----------------------------
22
+
23
+ attr_writer :link
24
+ def link
25
+ @link ||= if show_form
26
+ self.class.link.clone
27
+ else
28
+ ActiveScaffold::DataStructures::ActionLink.new('export', :label => :export, :type => :collection, :inline => false, :security_method => :export_authorized?)
29
+ end
30
+ end
31
+
32
+ attr_writer :show_form, :allow_full_download, :force_quotes, :default_full_download, :default_delimiter, :default_skip_header, :default_deselected_columns
33
+ def show_form
34
+ self.show_form = @core.export_show_form if @show_form.nil?
35
+ @show_form
36
+ end
37
+ def allow_full_download
38
+ self.allow_full_download = @core.export_allow_full_download if @allow_full_download.nil?
39
+ @allow_full_download
40
+ end
41
+ def force_quotes
42
+ self.force_quotes = @core.export_force_quotes if @force_quotes.nil?
43
+ @force_quotes
44
+ end
45
+ def default_full_download
46
+ self.default_full_download = @core.export_default_full_download if @default_full_download.nil?
47
+ @default_full_download
48
+ end
49
+ def default_delimiter
50
+ self.default_delimiter = @core.export_default_delimiter if @default_delimiter.nil?
51
+ @default_delimiter
52
+ end
53
+ def default_skip_header
54
+ self.default_skip_header = @core.export_default_skip_header if @default_skip_header.nil?
55
+ @default_skip_header
56
+ end
57
+ def default_deselected_columns
58
+ self.default_deselected_columns = [] if @default_deselected_columns.nil?
59
+ @default_deselected_columns
60
+ end
61
+
62
+ # provides access to the list of columns specifically meant for this action to use
63
+ def columns
64
+ self.columns = @core.columns._inheritable unless @columns
65
+ @columns
66
+ end
67
+ def columns=(val)
68
+ @columns = ActiveScaffold::DataStructures::ActionColumns.new(*val)
69
+ @columns.action = self
70
+ end
71
+
72
+ def multipart?
73
+ false
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ module ActiveScaffold
2
+ module Helpers
3
+ # Helpers that assist with the rendering of a Export Column
4
+ module ExportHelpers
5
+ def self.included(base)
6
+ base.alias_method_chain :active_scaffold_stylesheets, :export
7
+ base.alias_method_chain :active_scaffold_ie_stylesheets, :export
8
+ end
9
+
10
+ # Provides stylesheets to include with +stylesheet_link_tag+
11
+ def active_scaffold_stylesheets_with_export(frontend = :default)
12
+ active_scaffold_stylesheets_without_export.to_a << ActiveScaffold::Config::Core.asset_path("export-stylesheet.css", frontend)
13
+ end
14
+
15
+
16
+ # Provides stylesheets for IE to include with +stylesheet_link_tag+
17
+ def active_scaffold_ie_stylesheets_with_export(frontend = :default)
18
+ active_scaffold_ie_stylesheets_without_export.to_a << ActiveScaffold::Config::Core.asset_path("export-stylesheet-ie.css", frontend)
19
+ end
20
+
21
+ ## individual columns can be overridden by defining
22
+ # a helper method <column_name>_export_column(record)
23
+ # You can customize the output of all columns by
24
+ # overriding the following helper methods:
25
+ # format_export_column(raw_value)
26
+ # format_singular_association_export_column(association_record)
27
+ # format_plural_association_export_column(association_records)
28
+ def get_export_column_value(record, column)
29
+ if export_column_override? column
30
+ send(export_column_override(column), record)
31
+ else
32
+ raw_value = record.send(column.name)
33
+
34
+ if column.association.nil? or column_empty?(raw_value)
35
+ format_export_column(raw_value)
36
+ else
37
+ case column.association.macro
38
+ when :has_one, :belongs_to
39
+ format_singular_association_export_column(raw_value)
40
+ when :has_many, :has_and_belongs_to_many
41
+ format_plural_association_export_column(raw_value)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ def export_column_override(column)
48
+ "#{column.name.to_s.gsub('?', '')}_export_column" # parse out any question marks (see issue 227)
49
+ end
50
+
51
+ def export_column_override?(column)
52
+ respond_to?(export_column_override(column))
53
+ end
54
+
55
+ def format_export_column(raw_value)
56
+ format_value(raw_value)
57
+ end
58
+
59
+ def format_singular_association_export_column(association_record)
60
+ format_value(association_record.to_label)
61
+ end
62
+
63
+ def format_plural_association_export_column(association_records)
64
+ firsts = association_records.first(4).collect { |v| v.to_label }
65
+ firsts[3] = ' ' if firsts.length == 4
66
+ format_value(firsts.join(','))
67
+ end
68
+
69
+ ## This helper can be overridden to change the way that the headers
70
+ # are formatted. For instance, you might want column.name.to_s.humanize
71
+ def format_export_column_header_name(column)
72
+ column.name.to_s
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,17 @@
1
+ # Need to open the AS module carefully due to Rails 2.3 lazy loading
2
+ ActiveScaffold::Config::Core.class_eval do
3
+ # For some note obvious reasons, the class variables need to be defined
4
+ # *before* the cattr !!
5
+ @@export_show_form = true
6
+ @@export_allow_full_download = true
7
+ @@export_default_full_download = true
8
+ @@export_force_quotes = false
9
+ @@export_default_skip_header = false
10
+ @@export_default_delimiter = ','
11
+ cattr_accessor :export_show_form, :export_allow_full_download,
12
+ :export_force_quotes, :export_default_full_download,
13
+ :export_default_delimiter, :export_default_skip_header
14
+
15
+ ActionDispatch::Routing::ACTIVE_SCAFFOLD_CORE_ROUTING[:collection][:show_export] = :get
16
+ ActionDispatch::Routing::ACTIVE_SCAFFOLD_CORE_ROUTING[:collection][:export] = :get
17
+ end
@@ -0,0 +1,9 @@
1
+ module ActiveScaffoldExport
2
+ module Version
3
+ MAJOR = 3
4
+ MINOR = 0
5
+ PATCH = 0
6
+
7
+ STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
+ end
9
+ end
@@ -0,0 +1,39 @@
1
+ ActiveScaffold rescue throw "should have included ActiveScaffold plug in first. Please make sure that this plug-in comes alphabetically after the ActiveScaffold plug-in"
2
+
3
+ # Load our overrides
4
+ require "#{File.dirname(__FILE__)}/active_scaffold_export/config/core.rb"
5
+
6
+ module ActiveScaffoldExport
7
+ def self.root
8
+ File.dirname(__FILE__) + "/.."
9
+ end
10
+ end
11
+
12
+ module ActiveScaffold
13
+ module Actions
14
+ ActiveScaffold.autoload_subdir('actions', self, File.dirname(__FILE__))
15
+ end
16
+
17
+ module Config
18
+ ActiveScaffold.autoload_subdir('config', self, File.dirname(__FILE__))
19
+ end
20
+
21
+ module Helpers
22
+ ActiveScaffold.autoload_subdir('helpers', self, File.dirname(__FILE__))
23
+ end
24
+ end
25
+
26
+ ActionView::Base.send(:include, ActiveScaffold::Helpers::ExportHelpers)
27
+
28
+
29
+ ##
30
+ ## Run the install assets script, too, just to make sure
31
+ ## But at least rescue the action in production
32
+ ##
33
+ Rails::Application.initializer("active_scaffold_export.install_assets", :after => "active_scaffold.install_assets") do
34
+ begin
35
+ ActiveScaffoldAssets.copy_to_public(ActiveScaffoldExport.root)
36
+ rescue
37
+ raise $! unless Rails.env == 'production'
38
+ end
39
+ end unless defined?(ACTIVE_SCAFFOLD_EXPORT_INSTALLED) && ACTIVE_SCAFFOLD_EXPORT_INSTALLED == :plugin
@@ -0,0 +1,2 @@
1
+ ACTIVE_SCAFFOLD_EXPORT_INSTALLED = :gem
2
+ require 'active_scaffold_export'
metadata ADDED
@@ -0,0 +1,160 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: active_scaffold_export_vho
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
+ prerelease: false
6
+ segments:
7
+ - 3
8
+ - 0
9
+ - 0
10
+ version: 3.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Volker Hochstein
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-26 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: shoulda
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ requirement: *id001
34
+ type: :development
35
+ - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
+ name: bundler
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ hash: 23
44
+ segments:
45
+ - 1
46
+ - 0
47
+ - 0
48
+ version: 1.0.0
49
+ requirement: *id002
50
+ type: :development
51
+ - !ruby/object:Gem::Dependency
52
+ prerelease: false
53
+ name: jeweler
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ hash: 7
60
+ segments:
61
+ - 1
62
+ - 5
63
+ - 2
64
+ version: 1.5.2
65
+ requirement: *id003
66
+ type: :development
67
+ - !ruby/object:Gem::Dependency
68
+ prerelease: false
69
+ name: rcov
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ requirement: *id004
80
+ type: :development
81
+ - !ruby/object:Gem::Dependency
82
+ prerelease: false
83
+ name: active_scaffold_vho
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 7
90
+ segments:
91
+ - 3
92
+ - 0
93
+ version: "3.0"
94
+ requirement: *id005
95
+ type: :runtime
96
+ description: Exporting Records with ActiveScaffold
97
+ email: activescaffold@googlegroups.com
98
+ executables: []
99
+
100
+ extensions: []
101
+
102
+ extra_rdoc_files:
103
+ - LICENSE.txt
104
+ - README
105
+ files:
106
+ - .document
107
+ - LICENSE.txt
108
+ - README
109
+ - Rakefile
110
+ - frontends/default/images/export.png
111
+ - frontends/default/stylesheets/export-stylesheet-ie.css
112
+ - frontends/default/stylesheets/export-stylesheet.css
113
+ - frontends/default/views/_export.csv.erb
114
+ - frontends/default/views/_export_form_body.html.erb
115
+ - frontends/default/views/_show_export.html.erb
116
+ - frontends/default/views/show_export.html.erb
117
+ - init.rb
118
+ - lib/active_scaffold/actions/export.rb
119
+ - lib/active_scaffold/config/export.rb
120
+ - lib/active_scaffold/helpers/export_helpers.rb
121
+ - lib/active_scaffold_export.rb
122
+ - lib/active_scaffold_export/config/core.rb
123
+ - lib/active_scaffold_export/version.rb
124
+ - lib/active_scaffold_export_vho.rb
125
+ has_rdoc: true
126
+ homepage: http://github.com/vhochstein/active_scaffold_export
127
+ licenses:
128
+ - MIT
129
+ post_install_message:
130
+ rdoc_options: []
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 3
140
+ segments:
141
+ - 0
142
+ version: "0"
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ requirements: []
153
+
154
+ rubyforge_project:
155
+ rubygems_version: 1.3.7
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Exporting Records with ActiveScaffold
159
+ test_files: []
160
+