chendo-pretty_activerecord 1.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/test/test_helper.rb +7 -0
- data/test/test_pretty_activerecord.rb +59 -0
- metadata +76 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPrettyActiverecord < Test::Unit::TestCase
|
4
|
+
context "ActiveRecord with columns" do
|
5
|
+
setup do
|
6
|
+
@klass = Class.new
|
7
|
+
::Person = @klass
|
8
|
+
@klass.send(:include, PrettyActiveRecord)
|
9
|
+
column_names = %w[id first_name last_name bio age height date_of_birth human]
|
10
|
+
@klass.stubs(:column_names).returns(column_names)
|
11
|
+
@klass.stubs(:columns_hash).returns({
|
12
|
+
'id' => stub(:type => :integer, :limit => 4),
|
13
|
+
'first_name' => stub(:type => :string, :limit => 255),
|
14
|
+
'last_name' => stub(:type => :string, :limit => 255),
|
15
|
+
'bio' => stub(:type => :text, :limit => nil),
|
16
|
+
'age' => stub(:type => :integer, :limit => nil),
|
17
|
+
'height' => stub(:type => :decimal, :limit => 8),
|
18
|
+
'date_of_birth' => stub(:type => :datetime, :limit => nil),
|
19
|
+
'human' => stub(:type => :boolean, :limit => nil)
|
20
|
+
})
|
21
|
+
@klass.any_instance.stubs(:has_attribute?).returns(true)
|
22
|
+
@klass.send(:define_method, :attribute_for_inspect) do |name|
|
23
|
+
self.send(name.to_sym).inspect
|
24
|
+
end
|
25
|
+
@klass.send(:attr_accessor, * column_names.map { |e| e.to_sym })
|
26
|
+
end
|
27
|
+
|
28
|
+
context "with populated instance" do
|
29
|
+
setup do
|
30
|
+
@person = @klass.new
|
31
|
+
@person.first_name = 'Jack'
|
32
|
+
@person.last_name = 'Chen'
|
33
|
+
@person.bio = 'I work at Mocra'
|
34
|
+
@person.age = 19
|
35
|
+
@person.height = 169.4
|
36
|
+
@person.date_of_birth = DateTime.new(1988,10,29)
|
37
|
+
@person.human = true
|
38
|
+
@person.date_of_birth.stubs(:inspect).returns("1988-10-29 00:00:00".inspect)
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
should "pretty print object" do
|
43
|
+
expected = <<-EOS.gsub(/^ /, '')
|
44
|
+
Person:
|
45
|
+
int(4) id : nil
|
46
|
+
str(255) first_name : "Jack"
|
47
|
+
str(255) last_name : "Chen"
|
48
|
+
text bio : "I work at Mocra"
|
49
|
+
int age : 19
|
50
|
+
decimal(8) height : 169.4
|
51
|
+
datetime date_of_birth: "1988-10-29 00:00:00"
|
52
|
+
boolean human : true
|
53
|
+
EOS
|
54
|
+
assert_equal(expected, @person.inspect)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
metadata
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: chendo-pretty_activerecord
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jack Chen
|
8
|
+
- Dr Nic Williams
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2008-10-28 00:00:00 -07:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: newgem
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: hoe
|
27
|
+
version_requirement:
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.8.2
|
33
|
+
version:
|
34
|
+
description: "Makes printing ActiveRecord objects pretty (via #inspect method)."
|
35
|
+
email:
|
36
|
+
- chendo@chendo.net
|
37
|
+
- drnicwilliams@gmail.com
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files:
|
45
|
+
- test/test_helper.rb
|
46
|
+
- test/test_pretty_activerecord.rb
|
47
|
+
has_rdoc: true
|
48
|
+
homepage: http://github.com/chendo/pretty_activerecord
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options:
|
51
|
+
- --main
|
52
|
+
- README.txt
|
53
|
+
require_paths:
|
54
|
+
- lib
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: "0"
|
60
|
+
version:
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: "0"
|
66
|
+
version:
|
67
|
+
requirements: []
|
68
|
+
|
69
|
+
rubyforge_project: pretty_activerecord
|
70
|
+
rubygems_version: 1.2.0
|
71
|
+
signing_key:
|
72
|
+
specification_version: 2
|
73
|
+
summary: "Makes printing ActiveRecord objects pretty (via #inspect method)."
|
74
|
+
test_files:
|
75
|
+
- test/test_helper.rb
|
76
|
+
- test/test_pretty_activerecord.rb
|