maiha-record_dumper 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/README +123 -0
  2. 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
+