maiha-record_dumper 0.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/README +123 -0
- metadata +53 -0
data/README
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
RecordDumper
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
Dumps ActiveRecord data with various formats.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Syntax
|
|
8
|
+
======
|
|
9
|
+
|
|
10
|
+
ActiveRecord::Base#record_dumper(options = {})
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Usage
|
|
14
|
+
=====
|
|
15
|
+
|
|
16
|
+
1. default format
|
|
17
|
+
|
|
18
|
+
The default format is 'create!'. Just call 'record_dumper' method.
|
|
19
|
+
|
|
20
|
+
user = User.new(:name => 'maiha', :age => 14)
|
|
21
|
+
puts user.record_dumper.to_s
|
|
22
|
+
|
|
23
|
+
# =>
|
|
24
|
+
User.create!(
|
|
25
|
+
:id => nil,
|
|
26
|
+
:name => "maiha",
|
|
27
|
+
:age => 14
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
2. other formats (create, save, save!)
|
|
32
|
+
|
|
33
|
+
Send the method directly to record_dumper object.
|
|
34
|
+
|
|
35
|
+
user = User.new(:name => 'maiha', :age => 14)
|
|
36
|
+
puts user.record_dumper.save.to_s
|
|
37
|
+
|
|
38
|
+
# =>
|
|
39
|
+
record = User.new
|
|
40
|
+
record[:id] = nil
|
|
41
|
+
record[:name] = "maiha"
|
|
42
|
+
record[:age] = 14
|
|
43
|
+
record.save
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
3. SQL format
|
|
47
|
+
|
|
48
|
+
user = User.new(:name => 'maiha', :age => 14)
|
|
49
|
+
puts user.record_dumper.sql.to_s
|
|
50
|
+
|
|
51
|
+
# =>
|
|
52
|
+
INSERT INTO users VALUES (
|
|
53
|
+
NULL,
|
|
54
|
+
'maiha',
|
|
55
|
+
14
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
4. with :delimiter option
|
|
60
|
+
|
|
61
|
+
Use :delimiter option as you like if you don't want line breaks.
|
|
62
|
+
|
|
63
|
+
user = User.new(:name => 'maiha', :age => 14)
|
|
64
|
+
puts user.record_dumper(:delimiter=>'').sql.to_s
|
|
65
|
+
|
|
66
|
+
# =>
|
|
67
|
+
INSERT INTO users VALUES (NULL, 'maiha',14);
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
5. with :dependent option
|
|
71
|
+
|
|
72
|
+
You can get all associated records by using :dependent option.
|
|
73
|
+
|
|
74
|
+
class User < ActiveRecord::Base
|
|
75
|
+
has_one :address
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
user = User.create!(:name=>"maiha", :age=>14)
|
|
79
|
+
user.create_address(:city=>"Tokyo", :address=>"Akihabara")
|
|
80
|
+
puts user.record_dumper(:dependent=>true).sql.to_s
|
|
81
|
+
|
|
82
|
+
# =>
|
|
83
|
+
User.create!(
|
|
84
|
+
:id => nil,
|
|
85
|
+
:name => "maiha",
|
|
86
|
+
:age => 14
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
Address.create!(
|
|
90
|
+
:id => 1,
|
|
91
|
+
:city => "Tokyo",
|
|
92
|
+
:address => "Akihabara",
|
|
93
|
+
:user_id => 1
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Enhancement
|
|
99
|
+
===========
|
|
100
|
+
|
|
101
|
+
If you want your own format, create subclass of RecordDumper::Base
|
|
102
|
+
and define 'record' method in it.
|
|
103
|
+
|
|
104
|
+
class TableTr < ActiveRecord::RecordDumper::Base
|
|
105
|
+
def column(col, val)
|
|
106
|
+
"<td>#{val}</td>"
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def record
|
|
110
|
+
"<tr>%s</tr>" % columns.join
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
ActiveRecord::RecordDumper.reload # don't forget this to enable new classes
|
|
114
|
+
|
|
115
|
+
user = User.new(:name => 'maiha', :age => 14)
|
|
116
|
+
puts user.record_dumper.table_tr.to_s
|
|
117
|
+
|
|
118
|
+
# =>
|
|
119
|
+
<tr><td></td><td>maiha</td><td>14</td></tr>
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Copyright (c) 2008 maiha@wota.jp, released under the MIT license
|
|
123
|
+
|
metadata
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: maiha-record_dumper
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: "0.1"
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- maiha
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
|
|
12
|
+
date: 2008-11-10 00:00:00 -08:00
|
|
13
|
+
default_executable:
|
|
14
|
+
dependencies: []
|
|
15
|
+
|
|
16
|
+
description: ""
|
|
17
|
+
email: maiha@wota.jp
|
|
18
|
+
executables: []
|
|
19
|
+
|
|
20
|
+
extensions: []
|
|
21
|
+
|
|
22
|
+
extra_rdoc_files: []
|
|
23
|
+
|
|
24
|
+
files:
|
|
25
|
+
- README
|
|
26
|
+
has_rdoc: true
|
|
27
|
+
homepage: http://github.com/maiha/record_dumper
|
|
28
|
+
post_install_message:
|
|
29
|
+
rdoc_options: []
|
|
30
|
+
|
|
31
|
+
require_paths:
|
|
32
|
+
- lib
|
|
33
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
34
|
+
requirements:
|
|
35
|
+
- - ">="
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: "0"
|
|
38
|
+
version:
|
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - ">="
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: "0"
|
|
44
|
+
version:
|
|
45
|
+
requirements: []
|
|
46
|
+
|
|
47
|
+
rubyforge_project:
|
|
48
|
+
rubygems_version: 1.2.0
|
|
49
|
+
signing_key:
|
|
50
|
+
specification_version: 2
|
|
51
|
+
summary: ""
|
|
52
|
+
test_files: []
|
|
53
|
+
|