csv_shaper 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/csv_shaper.gemspec CHANGED
@@ -23,7 +23,6 @@ Gem::Specification.new do |gem|
23
23
  gem.version = CsvShaper::VERSION
24
24
 
25
25
  gem.add_dependency 'activesupport', '>= 3.0.0'
26
- gem.add_dependency 'blankslate', '>= 2.1.2.4'
27
-
26
+
28
27
  gem.add_development_dependency 'rspec'
29
28
  end
@@ -1,7 +1,7 @@
1
1
  require 'csv'
2
2
 
3
3
  module CsvShaper
4
- class Encoder < BlankSlate
4
+ class Encoder
5
5
  def initialize(header, rows = [])
6
6
  if header.nil?
7
7
  raise MissingHeadersError, 'you must define some headers using csv.headers ...'
@@ -15,7 +15,7 @@ module CsvShaper
15
15
  # csv.mappings name: 'Full name, location: 'Region'
16
16
  # end
17
17
  #
18
- class Header < BlankSlate
18
+ class Header
19
19
  attr_reader :klass, :mappings, :mapped_columns
20
20
 
21
21
  def initialize(*args)
@@ -17,8 +17,8 @@ module CsvShaper
17
17
  # # create a row with prefilled cells from a model
18
18
  # # note no block is passed
19
19
  # csv.row @model, :name, :age, :location
20
- #
21
- class Row < BlankSlate
20
+ #
21
+ class Row
22
22
  attr_reader :model, :cells
23
23
 
24
24
  def initialize(*args)
@@ -1,5 +1,5 @@
1
1
  module CsvShaper
2
- class Shaper < BlankSlate
2
+ class Shaper
3
3
  attr_reader :header, :rows
4
4
 
5
5
  def initialize
@@ -1,3 +1,3 @@
1
1
  module CsvShaper
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -2,7 +2,7 @@ class CsvShaperTemplate < CsvShaper::Shaper
2
2
  def self.encode(context)
3
3
  new(context).tap { |shaper| yield shaper }.to_csv
4
4
  end
5
-
5
+
6
6
  def initialize(context)
7
7
  @context = context
8
8
  super()
@@ -15,6 +15,12 @@ class CsvShaperHandler
15
15
 
16
16
  def self.call(template)
17
17
  %{
18
+ unless defined?(ActionMailer) && defined?(ActionMailer::Base) && controller.is_a?(ActionMailer::Base)
19
+ @filename ||= "\#{controller.action_name}.csv"
20
+ controller.response.headers["Content-Type"] ||= 'text/csv'
21
+ controller.response.headers['Content-Disposition'] = "attachment; filename='\#{@filename}'"
22
+ end
23
+
18
24
  CsvShaperTemplate.encode(self) do |csv|
19
25
  #{template.source}
20
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_shaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-21 00:00:00.000000000 Z
12
+ date: 2012-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70336817645940 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,15 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70336817645940
25
- - !ruby/object:Gem::Dependency
26
- name: blankslate
27
- requirement: &70336817644820 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
- version: 2.1.2.4
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70336817644820
29
+ version: 3.0.0
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: rspec
38
- requirement: &70336817643920 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ! '>='
@@ -43,7 +37,12 @@ dependencies:
43
37
  version: '0'
44
38
  type: :development
45
39
  prerelease: false
46
- version_requirements: *70336817643920
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
47
46
  description: ! "\n Creating CSV files in Ruby is painful! CSV Shaper makes life
48
47
  easier! It's\n ideal for converting database backed models with attrbiutes into
49
48
  CSV output.\n It can be used without Rails, but works great with ActiveRecord
@@ -93,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
92
  version: '0'
94
93
  requirements: []
95
94
  rubyforge_project:
96
- rubygems_version: 1.8.16
95
+ rubygems_version: 1.8.23
97
96
  signing_key:
98
97
  specification_version: 3
99
98
  summary: Beautiful DSL for creating CSV output in Ruby & Rails