mongoid_to_csv 0.2.2 → 0.3.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/README.rdoc +20 -2
- data/lib/mongoid_to_csv/version.rb +1 -1
- data/lib/mongoid_to_csv.rb +3 -8
- metadata +9 -9
data/README.rdoc
CHANGED
@@ -23,12 +23,30 @@ to_csv() returns the entire contents including the header ready to be written to
|
|
23
23
|
title,director_id
|
24
24
|
The Kids Are All Right,4
|
25
25
|
|
26
|
-
For normal arrays, `
|
26
|
+
For normal arrays, `to_mongoid_csv` works the same way.
|
27
27
|
|
28
|
-
Movie.all.
|
28
|
+
Movie.all.to_mongoid_csv
|
29
29
|
# Same as
|
30
30
|
Movie.to_csv
|
31
31
|
|
32
|
+
=== Why not Array.to_csv?
|
33
|
+
|
34
|
+
I tried.
|
35
|
+
|
36
|
+
require 'csv'
|
37
|
+
module ArrayToCSV
|
38
|
+
def to_csv
|
39
|
+
if first.is_a?(Mongoid::Document)
|
40
|
+
MongoidToCSV.documents_to_csv(self)
|
41
|
+
else
|
42
|
+
super
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
Array.send :include, ArrayToCSV
|
47
|
+
|
48
|
+
Something is giving ruby's internal `Array#to_csv` precedence and ignoring mine. Got tired of messing around with it.
|
49
|
+
|
32
50
|
=== Attribute#to_csv
|
33
51
|
|
34
52
|
After a model object's attributes are collected, to_csv is called on the resulting array. However, this poses a problem because it will blindly convert the attributes to a string -- i.e. call to_s on them. If one of your attributes is a Date, then calling to_s may produce unwanted output. For example, if you have Date::DATE_FORMATS[:default] = '%d %B, %Y' your dates will have the month written out like 'January', 'February', etc. To counter this, this gem will make an attempt to call to_csv() on each attribute. To get YYYY-MM-DD output, you could do something like:
|
data/lib/mongoid_to_csv.rb
CHANGED
@@ -43,13 +43,8 @@ class Mongoid::Relation
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
|
47
|
-
def
|
48
|
-
|
49
|
-
MongoidToCSV.documents_to_csv(self)
|
50
|
-
else
|
51
|
-
super
|
52
|
-
end
|
46
|
+
class Array
|
47
|
+
def to_mongoid_csv
|
48
|
+
MongoidToCSV.documents_to_csv(self)
|
53
49
|
end
|
54
50
|
end
|
55
|
-
Array.send :include, ArrayToCSV
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_to_csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-11 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mongoid
|
16
|
-
requirement: &
|
16
|
+
requirement: &70316840720020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.0.rc.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70316840720020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70316840719520 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.6.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70316840719520
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mongo
|
38
|
-
requirement: &
|
38
|
+
requirement: &70316840719060 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.3.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70316840719060
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bson_ext
|
49
|
-
requirement: &
|
49
|
+
requirement: &70316840718680 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70316840718680
|
58
58
|
description: Simple Mongoid Model to_csv() class method that preserves scopes
|
59
59
|
email:
|
60
60
|
- jared@redningja.com
|