sequel 2.2.0 → 2.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.
Files changed (98) hide show
  1. data/CHANGELOG +1551 -4
  2. data/README +306 -19
  3. data/Rakefile +84 -56
  4. data/bin/sequel +106 -0
  5. data/doc/cheat_sheet.rdoc +225 -0
  6. data/doc/dataset_filtering.rdoc +182 -0
  7. data/lib/sequel_core.rb +136 -0
  8. data/lib/sequel_core/adapters/adapter_skeleton.rb +54 -0
  9. data/lib/sequel_core/adapters/ado.rb +80 -0
  10. data/lib/sequel_core/adapters/db2.rb +148 -0
  11. data/lib/sequel_core/adapters/dbi.rb +117 -0
  12. data/lib/sequel_core/adapters/informix.rb +78 -0
  13. data/lib/sequel_core/adapters/jdbc.rb +186 -0
  14. data/lib/sequel_core/adapters/jdbc/mysql.rb +55 -0
  15. data/lib/sequel_core/adapters/jdbc/postgresql.rb +66 -0
  16. data/lib/sequel_core/adapters/jdbc/sqlite.rb +47 -0
  17. data/lib/sequel_core/adapters/mysql.rb +231 -0
  18. data/lib/sequel_core/adapters/odbc.rb +155 -0
  19. data/lib/sequel_core/adapters/odbc_mssql.rb +106 -0
  20. data/lib/sequel_core/adapters/openbase.rb +64 -0
  21. data/lib/sequel_core/adapters/oracle.rb +170 -0
  22. data/lib/sequel_core/adapters/postgres.rb +199 -0
  23. data/lib/sequel_core/adapters/shared/mysql.rb +275 -0
  24. data/lib/sequel_core/adapters/shared/postgres.rb +351 -0
  25. data/lib/sequel_core/adapters/shared/sqlite.rb +146 -0
  26. data/lib/sequel_core/adapters/sqlite.rb +138 -0
  27. data/lib/sequel_core/connection_pool.rb +194 -0
  28. data/lib/sequel_core/core_ext.rb +203 -0
  29. data/lib/sequel_core/core_sql.rb +184 -0
  30. data/lib/sequel_core/database.rb +471 -0
  31. data/lib/sequel_core/database/schema.rb +156 -0
  32. data/lib/sequel_core/dataset.rb +457 -0
  33. data/lib/sequel_core/dataset/callback.rb +13 -0
  34. data/lib/sequel_core/dataset/convenience.rb +245 -0
  35. data/lib/sequel_core/dataset/pagination.rb +96 -0
  36. data/lib/sequel_core/dataset/query.rb +41 -0
  37. data/lib/sequel_core/dataset/schema.rb +15 -0
  38. data/lib/sequel_core/dataset/sql.rb +889 -0
  39. data/lib/sequel_core/deprecated.rb +26 -0
  40. data/lib/sequel_core/exceptions.rb +42 -0
  41. data/lib/sequel_core/migration.rb +187 -0
  42. data/lib/sequel_core/object_graph.rb +216 -0
  43. data/lib/sequel_core/pretty_table.rb +71 -0
  44. data/lib/sequel_core/schema.rb +2 -0
  45. data/lib/sequel_core/schema/generator.rb +239 -0
  46. data/lib/sequel_core/schema/sql.rb +325 -0
  47. data/lib/sequel_core/sql.rb +812 -0
  48. data/lib/sequel_model.rb +5 -1
  49. data/lib/sequel_model/association_reflection.rb +3 -8
  50. data/lib/sequel_model/base.rb +15 -10
  51. data/lib/sequel_model/inflector.rb +3 -5
  52. data/lib/sequel_model/plugins.rb +1 -1
  53. data/lib/sequel_model/record.rb +11 -3
  54. data/lib/sequel_model/schema.rb +4 -4
  55. data/lib/sequel_model/validations.rb +6 -1
  56. data/spec/adapters/ado_spec.rb +17 -0
  57. data/spec/adapters/informix_spec.rb +96 -0
  58. data/spec/adapters/mysql_spec.rb +764 -0
  59. data/spec/adapters/oracle_spec.rb +222 -0
  60. data/spec/adapters/postgres_spec.rb +441 -0
  61. data/spec/adapters/spec_helper.rb +7 -0
  62. data/spec/adapters/sqlite_spec.rb +400 -0
  63. data/spec/integration/dataset_test.rb +51 -0
  64. data/spec/integration/eager_loader_test.rb +702 -0
  65. data/spec/integration/schema_test.rb +102 -0
  66. data/spec/integration/spec_helper.rb +44 -0
  67. data/spec/integration/type_test.rb +43 -0
  68. data/spec/rcov.opts +2 -0
  69. data/spec/sequel_core/connection_pool_spec.rb +363 -0
  70. data/spec/sequel_core/core_ext_spec.rb +156 -0
  71. data/spec/sequel_core/core_sql_spec.rb +427 -0
  72. data/spec/sequel_core/database_spec.rb +964 -0
  73. data/spec/sequel_core/dataset_spec.rb +2977 -0
  74. data/spec/sequel_core/expression_filters_spec.rb +346 -0
  75. data/spec/sequel_core/migration_spec.rb +261 -0
  76. data/spec/sequel_core/object_graph_spec.rb +234 -0
  77. data/spec/sequel_core/pretty_table_spec.rb +58 -0
  78. data/spec/sequel_core/schema_generator_spec.rb +122 -0
  79. data/spec/sequel_core/schema_spec.rb +497 -0
  80. data/spec/sequel_core/spec_helper.rb +51 -0
  81. data/spec/{association_reflection_spec.rb → sequel_model/association_reflection_spec.rb} +6 -6
  82. data/spec/{associations_spec.rb → sequel_model/associations_spec.rb} +47 -18
  83. data/spec/{base_spec.rb → sequel_model/base_spec.rb} +2 -1
  84. data/spec/{caching_spec.rb → sequel_model/caching_spec.rb} +0 -0
  85. data/spec/{dataset_methods_spec.rb → sequel_model/dataset_methods_spec.rb} +13 -1
  86. data/spec/{eager_loading_spec.rb → sequel_model/eager_loading_spec.rb} +75 -14
  87. data/spec/{hooks_spec.rb → sequel_model/hooks_spec.rb} +4 -4
  88. data/spec/sequel_model/inflector_spec.rb +119 -0
  89. data/spec/{model_spec.rb → sequel_model/model_spec.rb} +30 -11
  90. data/spec/{plugins_spec.rb → sequel_model/plugins_spec.rb} +0 -0
  91. data/spec/{record_spec.rb → sequel_model/record_spec.rb} +47 -6
  92. data/spec/{schema_spec.rb → sequel_model/schema_spec.rb} +18 -4
  93. data/spec/{spec_helper.rb → sequel_model/spec_helper.rb} +3 -2
  94. data/spec/{validations_spec.rb → sequel_model/validations_spec.rb} +37 -17
  95. data/spec/spec_config.rb +9 -0
  96. data/spec/spec_config.rb.example +10 -0
  97. metadata +110 -37
  98. data/spec/inflector_spec.rb +0 -34
@@ -83,17 +83,23 @@ describe Sequel::Model do
83
83
  @c.validates_each(:xx, :xx, :tag=>:low) {|o, a, v| o.xxx; o.errors[a] << 'too low' if v < 50}
84
84
  @c.validates_each(:yy, :yy) {|o, a, v| o.yyy; o.errors[a] << 'too low' if v < 50}
85
85
  @c.validates_presence_of(:zz, :zz)
86
+ @c.validates_length_of(:aa, :aa, :tag=>:blah)
86
87
  o = @c.new
87
88
  def o.zz
88
89
  @a ||= 0
89
90
  @a += 1
90
91
  end
92
+ def o.aa
93
+ @b ||= 0
94
+ @b += 1
95
+ end
91
96
  o.should_receive(:xx).once.and_return(40)
92
97
  o.should_receive(:yy).once.and_return(60)
93
98
  o.should_receive(:xxx).once
94
99
  o.should_receive(:yyy).twice
95
100
  o.valid?.should == false
96
101
  o.zz.should == 2
102
+ o.aa.should == 2
97
103
  o.errors.full_messages.should == ['xx too low']
98
104
  end
99
105
 
@@ -339,6 +345,20 @@ describe Sequel::Model do
339
345
  @m.should be_valid
340
346
  end
341
347
 
348
+ specify "should allow multiple calls to validates_length_of with different options without overwriting" do
349
+ @c.validates_length_of :value, :maximum => 5
350
+ @c.validates_length_of :value, :minimum => 5
351
+ @m.should_not be_valid
352
+ @m.value = '12345'
353
+ @m.should be_valid
354
+ @m.value = '123456'
355
+ @m.should_not be_valid
356
+ @m.value = '12345'
357
+ @m.should be_valid
358
+ @m.value = '1234'
359
+ @m.should_not be_valid
360
+ end
361
+
342
362
  specify "should validate numericality_of" do
343
363
  @c.validates_numericality_of :value
344
364
  @m.value = 'blah'
@@ -507,28 +527,28 @@ end
507
527
  describe Sequel::Model, "Validations" do
508
528
 
509
529
  before(:all) do
510
- class Person < Sequel::Model
530
+ class ::Person < Sequel::Model
511
531
  columns :id,:name,:first_name,:last_name,:middle_name,:initials,:age, :terms
512
532
  end
513
533
 
514
- class Smurf < Person
534
+ class ::Smurf < Person
515
535
  end
516
536
 
517
- class Cow < Sequel::Model
537
+ class ::Cow < Sequel::Model
518
538
  columns :id, :name, :got_milk
519
539
  end
520
540
 
521
- class User < Sequel::Model
541
+ class ::User < Sequel::Model
522
542
  columns :id, :username, :password
523
543
  end
524
544
 
525
- class Address < Sequel::Model
545
+ class ::Address < Sequel::Model
526
546
  columns :id, :zip_code
527
547
  end
528
548
  end
529
549
 
530
550
  it "should validate the acceptance of a column" do
531
- class Cow < Sequel::Model
551
+ class ::Cow < Sequel::Model
532
552
  validations.clear
533
553
  validates_acceptance_of :got_milk, :accept => 'blah', :allow_nil => false
534
554
  end
@@ -542,7 +562,7 @@ describe Sequel::Model, "Validations" do
542
562
  end
543
563
 
544
564
  it "should validate the confirmation of a column" do
545
- class User < Sequel::Model
565
+ class ::User < Sequel::Model
546
566
  def password_confirmation
547
567
  "test"
548
568
  end
@@ -560,7 +580,7 @@ describe Sequel::Model, "Validations" do
560
580
  end
561
581
 
562
582
  it "should validate format of column" do
563
- class Person < Sequel::Model
583
+ class ::Person < Sequel::Model
564
584
  validates_format_of :first_name, :with => /^[a-zA-Z]+$/
565
585
  end
566
586
 
@@ -575,7 +595,7 @@ describe Sequel::Model, "Validations" do
575
595
  # end
576
596
 
577
597
  it "should validate length of column" do
578
- class Person < Sequel::Model
598
+ class ::Person < Sequel::Model
579
599
  validations.clear
580
600
  validates_length_of :first_name, :maximum => 30
581
601
  validates_length_of :last_name, :minimum => 30
@@ -607,7 +627,7 @@ describe Sequel::Model, "Validations" do
607
627
  end
608
628
 
609
629
  it "should validate numericality of column" do
610
- class Person < Sequel::Model
630
+ class ::Person < Sequel::Model
611
631
  validations.clear
612
632
  validates_numericality_of :age
613
633
  end
@@ -621,7 +641,7 @@ describe Sequel::Model, "Validations" do
621
641
  end
622
642
 
623
643
  it "should validate the presence of a column" do
624
- class Cow < Sequel::Model
644
+ class ::Cow < Sequel::Model
625
645
  validations.clear
626
646
  validates_presence_of :name
627
647
  end
@@ -635,7 +655,7 @@ describe Sequel::Model, "Validations" do
635
655
  end
636
656
 
637
657
  it "should validate the uniqueness of a column" do
638
- class User < Sequel::Model
658
+ class ::User < Sequel::Model
639
659
  validations.clear
640
660
  validates do
641
661
  uniqueness_of :username
@@ -679,7 +699,7 @@ describe Sequel::Model, "Validations" do
679
699
  end
680
700
 
681
701
  it "should have a validates block that contains multiple validations" do
682
- class Person < Sequel::Model
702
+ class ::Person < Sequel::Model
683
703
  validations.clear
684
704
  validates do
685
705
  format_of :first_name, :with => /^[a-zA-Z]+$/
@@ -698,7 +718,7 @@ describe Sequel::Model, "Validations" do
698
718
 
699
719
  it "should allow 'longhand' validations direcly within the model." do
700
720
  lambda {
701
- class Person < Sequel::Model
721
+ class ::Person < Sequel::Model
702
722
  validations.clear
703
723
  validates_length_of :first_name, :maximum => 30
704
724
  end
@@ -707,7 +727,7 @@ describe Sequel::Model, "Validations" do
707
727
  end
708
728
 
709
729
  it "should define a has_validations? method which returns true if the model has validations, false otherwise" do
710
- class Person < Sequel::Model
730
+ class ::Person < Sequel::Model
711
731
  validations.clear
712
732
  validates do
713
733
  format_of :first_name, :with => /\w+/
@@ -715,7 +735,7 @@ describe Sequel::Model, "Validations" do
715
735
  end
716
736
  end
717
737
 
718
- class Smurf < Person
738
+ class ::Smurf < Person
719
739
  validations.clear
720
740
  end
721
741
 
@@ -724,7 +744,7 @@ describe Sequel::Model, "Validations" do
724
744
  end
725
745
 
726
746
  it "should validate correctly instances initialized with string keys" do
727
- class Can < Sequel::Model
747
+ class ::Can < Sequel::Model
728
748
  columns :id, :name
729
749
 
730
750
  validates_length_of :name, :minimum => 4
@@ -0,0 +1,9 @@
1
+ # database objects for running adapter specs
2
+ # INFORMIX_DB = Sequel.connect('informix://localhost/mydb')
3
+ # INTEGRATION_URL = 'sqlite:/'
4
+ # MYSQL_USER = 'root'
5
+ MYSQL_URL = "mysql://agp:sequel++@sql.mit.edu/agp+sequel"
6
+ # MYSQL_SOCKET_FILE = '/tmp/mysql.sock'
7
+ # ORACLE_DB = Sequel.connect('oracle://hr:hr@localhost/XE')
8
+ POSTGRES_URL = "postgres://_postgresql@postgresql/sequel_test"
9
+ # SQLITE_DB = Sequel.connect('sqlite:/')
@@ -0,0 +1,10 @@
1
+ # database objects for running adapter specs
2
+ # ADO_DB = Sequel.connect(:adapter => 'ado', :driver => "{Microsoft Access Driver (*.mdb)}; DBQ=c:\\Nwind.mdb")
3
+ # INFORMIX_DB = Sequel.connect('informix://localhost/mydb')
4
+ # INTEGRATION_URL = 'sqlite:/'
5
+ # MYSQL_USER = 'root'
6
+ # MYSQL_URL = "mysql://#{MYSQL_USER}@localhost/sandbox"
7
+ # MYSQL_SOCKET_FILE = '/tmp/mysql.sock'
8
+ # ORACLE_DB = Sequel.connect('oracle://hr:hr@localhost/XE')
9
+ # POSTGRES_URL = 'postgres://postgres:postgres@localhost:5432/reality_spec'
10
+ # SQLITE_URL = 'sqlite:/'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
@@ -9,22 +9,14 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-05 00:00:00 -07:00
12
+ date: 2008-07-25 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: sequel_core
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - "="
21
- - !ruby/object:Gem::Version
22
- version: 2.2.0
23
- version:
24
- description: "The Database Toolkit for Ruby: Model Classes"
25
- email: code@jeremyevans.net
26
- executables: []
14
+ dependencies: []
27
15
 
16
+ description: The Database Toolkit for Ruby
17
+ email: code@jeremyevans.net
18
+ executables:
19
+ - sequel
28
20
  extensions: []
29
21
 
30
22
  extra_rdoc_files:
@@ -32,43 +24,126 @@ extra_rdoc_files:
32
24
  - CHANGELOG
33
25
  - COPYING
34
26
  - doc/advanced_associations.rdoc
27
+ - doc/cheat_sheet.rdoc
28
+ - doc/dataset_filtering.rdoc
35
29
  files:
36
30
  - COPYING
31
+ - CHANGELOG
37
32
  - README
38
33
  - Rakefile
34
+ - bin/sequel
39
35
  - doc/advanced_associations.rdoc
40
- - spec/associations_spec.rb
41
- - spec/base_spec.rb
42
- - spec/caching_spec.rb
43
- - spec/model_spec.rb
44
- - spec/eager_loading_spec.rb
45
- - spec/hooks_spec.rb
46
- - spec/record_spec.rb
47
- - spec/plugins_spec.rb
36
+ - doc/cheat_sheet.rdoc
37
+ - doc/dataset_filtering.rdoc
38
+ - spec/adapters
39
+ - spec/adapters/informix_spec.rb
40
+ - spec/adapters/mysql_spec.rb
41
+ - spec/adapters/oracle_spec.rb
42
+ - spec/adapters/postgres_spec.rb
43
+ - spec/adapters/spec_helper.rb
44
+ - spec/adapters/sqlite_spec.rb
45
+ - spec/adapters/ado_spec.rb
48
46
  - spec/rcov.opts
47
+ - spec/sequel_core
48
+ - spec/sequel_core/connection_pool_spec.rb
49
+ - spec/sequel_core/core_ext_spec.rb
50
+ - spec/sequel_core/core_sql_spec.rb
51
+ - spec/sequel_core/database_spec.rb
52
+ - spec/sequel_core/dataset_spec.rb
53
+ - spec/sequel_core/expression_filters_spec.rb
54
+ - spec/sequel_core/migration_spec.rb
55
+ - spec/sequel_core/object_graph_spec.rb
56
+ - spec/sequel_core/pretty_table_spec.rb
57
+ - spec/sequel_core/schema_generator_spec.rb
58
+ - spec/sequel_core/schema_spec.rb
59
+ - spec/sequel_core/spec_helper.rb
60
+ - spec/sequel_model
61
+ - spec/sequel_model/association_reflection_spec.rb
62
+ - spec/sequel_model/associations_spec.rb
63
+ - spec/sequel_model/base_spec.rb
64
+ - spec/sequel_model/caching_spec.rb
65
+ - spec/sequel_model/dataset_methods_spec.rb
66
+ - spec/sequel_model/eager_loading_spec.rb
67
+ - spec/sequel_model/hooks_spec.rb
68
+ - spec/sequel_model/inflector_spec.rb
69
+ - spec/sequel_model/model_spec.rb
70
+ - spec/sequel_model/plugins_spec.rb
71
+ - spec/sequel_model/record_spec.rb
72
+ - spec/sequel_model/schema_spec.rb
73
+ - spec/sequel_model/spec_helper.rb
74
+ - spec/sequel_model/validations_spec.rb
49
75
  - spec/spec.opts
50
- - spec/schema_spec.rb
51
- - spec/spec_helper.rb
52
- - spec/validations_spec.rb
53
- - spec/inflector_spec.rb
54
- - spec/association_reflection_spec.rb
55
- - spec/dataset_methods_spec.rb
76
+ - spec/spec_config.rb.example
77
+ - spec/spec_config.rb
78
+ - spec/integration
79
+ - spec/integration/eager_loader_test.rb
80
+ - spec/integration/spec_helper.rb
81
+ - spec/integration/dataset_test.rb
82
+ - spec/integration/schema_test.rb
83
+ - spec/integration/type_test.rb
56
84
  - lib/sequel.rb
85
+ - lib/sequel_core.rb
86
+ - lib/sequel_core
87
+ - lib/sequel_core/adapters
88
+ - lib/sequel_core/adapters/adapter_skeleton.rb
89
+ - lib/sequel_core/adapters/ado.rb
90
+ - lib/sequel_core/adapters/db2.rb
91
+ - lib/sequel_core/adapters/dbi.rb
92
+ - lib/sequel_core/adapters/informix.rb
93
+ - lib/sequel_core/adapters/jdbc.rb
94
+ - lib/sequel_core/adapters/mysql.rb
95
+ - lib/sequel_core/adapters/odbc.rb
96
+ - lib/sequel_core/adapters/odbc_mssql.rb
97
+ - lib/sequel_core/adapters/openbase.rb
98
+ - lib/sequel_core/adapters/oracle.rb
99
+ - lib/sequel_core/adapters/postgres.rb
100
+ - lib/sequel_core/adapters/sqlite.rb
101
+ - lib/sequel_core/adapters/shared
102
+ - lib/sequel_core/adapters/shared/postgres.rb
103
+ - lib/sequel_core/adapters/shared/sqlite.rb
104
+ - lib/sequel_core/adapters/shared/mysql.rb
105
+ - lib/sequel_core/adapters/jdbc
106
+ - lib/sequel_core/adapters/jdbc/postgresql.rb
107
+ - lib/sequel_core/adapters/jdbc/mysql.rb
108
+ - lib/sequel_core/adapters/jdbc/sqlite.rb
109
+ - lib/sequel_core/connection_pool.rb
110
+ - lib/sequel_core/core_ext.rb
111
+ - lib/sequel_core/core_sql.rb
112
+ - lib/sequel_core/database.rb
113
+ - lib/sequel_core/database
114
+ - lib/sequel_core/database/schema.rb
115
+ - lib/sequel_core/dataset.rb
116
+ - lib/sequel_core/dataset
117
+ - lib/sequel_core/dataset/callback.rb
118
+ - lib/sequel_core/dataset/convenience.rb
119
+ - lib/sequel_core/dataset/pagination.rb
120
+ - lib/sequel_core/dataset/query.rb
121
+ - lib/sequel_core/dataset/schema.rb
122
+ - lib/sequel_core/dataset/sql.rb
123
+ - lib/sequel_core/deprecated.rb
124
+ - lib/sequel_core/exceptions.rb
125
+ - lib/sequel_core/migration.rb
126
+ - lib/sequel_core/object_graph.rb
127
+ - lib/sequel_core/pretty_table.rb
128
+ - lib/sequel_core/schema.rb
129
+ - lib/sequel_core/schema
130
+ - lib/sequel_core/schema/generator.rb
131
+ - lib/sequel_core/schema/sql.rb
132
+ - lib/sequel_core/sql.rb
57
133
  - lib/sequel_model.rb
58
134
  - lib/sequel_model
135
+ - lib/sequel_model/association_reflection.rb
59
136
  - lib/sequel_model/associations.rb
60
137
  - lib/sequel_model/base.rb
61
138
  - lib/sequel_model/caching.rb
139
+ - lib/sequel_model/dataset_methods.rb
62
140
  - lib/sequel_model/eager_loading.rb
63
141
  - lib/sequel_model/hooks.rb
142
+ - lib/sequel_model/inflector.rb
64
143
  - lib/sequel_model/plugins.rb
65
144
  - lib/sequel_model/record.rb
66
145
  - lib/sequel_model/schema.rb
67
146
  - lib/sequel_model/validations.rb
68
- - lib/sequel_model/inflector.rb
69
- - lib/sequel_model/association_reflection.rb
70
- - lib/sequel_model/dataset_methods.rb
71
- - CHANGELOG
72
147
  has_rdoc: true
73
148
  homepage: http://sequel.rubyforge.org
74
149
  post_install_message:
@@ -77,11 +152,9 @@ rdoc_options:
77
152
  - --line-numbers
78
153
  - --inline-source
79
154
  - --title
80
- - "Sequel: The Database Toolkit for Ruby: Model Classes"
155
+ - "Sequel: The Database Toolkit for Ruby"
81
156
  - --main
82
157
  - README
83
- - --exclude
84
- - ^(examples|extras)/
85
158
  require_paths:
86
159
  - lib
87
160
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -102,6 +175,6 @@ rubyforge_project: sequel
102
175
  rubygems_version: 1.0.1
103
176
  signing_key:
104
177
  specification_version: 2
105
- summary: "The Database Toolkit for Ruby: Model Classes"
178
+ summary: The Database Toolkit for Ruby
106
179
  test_files: []
107
180
 
@@ -1,34 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
2
-
3
- describe String do
4
- it "should transform words from singular to plural" do
5
- "post".pluralize.should == "posts"
6
- "octopus".pluralize.should =="octopi"
7
- "the blue mailman".pluralize.should == "the blue mailmen"
8
- "CamelOctopus".pluralize.should == "CamelOctopi"
9
- end
10
-
11
- it "should transform words from plural to singular" do
12
- "posts".singularize.should == "post"
13
- "octopi".singularize.should == "octopus"
14
- "the blue mailmen".singularize.should == "the blue mailman"
15
- "CamelOctopi".singularize.should == "CamelOctopus"
16
- end
17
-
18
- it "should transform class names to table names" do
19
- "RawScaledScorer".tableize.should == "raw_scaled_scorers"
20
- "egg_and_ham".tableize.should == "egg_and_hams"
21
- "fancyCategory".tableize.should == "fancy_categories"
22
- end
23
-
24
- it "should tranform table names to class names" do
25
- "egg_and_hams".classify.should == "EggAndHam"
26
- "post".classify.should == "Post"
27
- end
28
-
29
- it "should create a foreign key name from a class name" do
30
- "Message".foreign_key.should == "message_id"
31
- "Message".foreign_key(false).should == "messageid"
32
- "Admin::Post".foreign_key.should == "post_id"
33
- end
34
- end