arel 0.3.1 → 0.3.2
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/lib/arel.rb +4 -3
- data/lib/arel/algebra.rb +1 -1
- data/lib/arel/algebra/attributes.rb +7 -0
- data/lib/arel/algebra/{attribute.rb → attributes/attribute.rb} +32 -0
- data/lib/arel/algebra/attributes/boolean.rb +21 -0
- data/lib/arel/algebra/attributes/decimal.rb +9 -0
- data/lib/arel/algebra/attributes/float.rb +9 -0
- data/lib/arel/algebra/attributes/integer.rb +10 -0
- data/lib/arel/algebra/attributes/string.rb +10 -0
- data/lib/arel/algebra/attributes/time.rb +6 -0
- data/lib/arel/algebra/predicates.rb +1 -0
- data/lib/arel/algebra/relations/operations/join.rb +4 -2
- data/lib/arel/algebra/relations/operations/order.rb +2 -1
- data/lib/arel/algebra/relations/operations/skip.rb +2 -1
- data/lib/arel/algebra/relations/operations/take.rb +2 -1
- data/lib/arel/algebra/relations/operations/where.rb +7 -6
- data/lib/arel/algebra/relations/relation.rb +2 -1
- data/lib/arel/algebra/relations/utilities/compound.rb +22 -2
- data/lib/arel/algebra/relations/utilities/externalization.rb +1 -1
- data/lib/arel/algebra/relations/utilities/nil.rb +2 -2
- data/lib/arel/engines/memory/predicates.rb +6 -0
- data/lib/arel/engines/memory/relations/array.rb +11 -4
- data/lib/arel/engines/memory/relations/compound.rb +1 -1
- data/lib/arel/engines/memory/relations/operations.rb +2 -2
- data/lib/arel/engines/sql.rb +1 -0
- data/lib/arel/engines/sql/attributes.rb +40 -0
- data/lib/arel/engines/sql/compilers/ibm_db_compiler.rb +0 -14
- data/lib/arel/engines/sql/predicates.rb +4 -0
- data/lib/arel/engines/sql/primitives.rb +0 -4
- data/lib/arel/engines/sql/relations/compiler.rb +5 -5
- data/lib/arel/engines/sql/relations/operations/join.rb +1 -1
- data/lib/arel/engines/sql/relations/relation.rb +1 -1
- data/lib/arel/engines/sql/relations/table.rb +6 -7
- data/lib/arel/engines/sql/relations/utilities/compound.rb +1 -1
- data/lib/arel/engines/sql/relations/utilities/nil.rb +1 -1
- data/lib/arel/session.rb +2 -2
- data/lib/arel/version.rb +3 -0
- data/spec/{arel/algebra → algebra}/unit/predicates/binary_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/predicates/equality_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/predicates/in_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/primitives/attribute_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/primitives/expression_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/primitives/value_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/alias_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/delete_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/group_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/insert_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/join_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/order_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/project_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/relation_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/skip_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/table_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/take_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/update_spec.rb +0 -0
- data/spec/{arel/algebra → algebra}/unit/relations/where_spec.rb +1 -0
- data/spec/{arel/algebra → algebra}/unit/session/session_spec.rb +0 -0
- data/spec/attributes/boolean_spec.rb +57 -0
- data/spec/attributes/float_spec.rb +119 -0
- data/spec/attributes/integer_spec.rb +119 -0
- data/spec/attributes/string_spec.rb +43 -0
- data/spec/attributes/time_spec.rb +22 -0
- data/spec/{arel/engines → engines}/memory/integration/joins/cross_engine_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/array_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/insert_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/join_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/order_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/project_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/skip_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/take_spec.rb +1 -1
- data/spec/{arel/engines → engines}/memory/unit/relations/where_spec.rb +1 -1
- data/spec/{arel/engines → engines}/sql/integration/joins/with_adjacency_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/integration/joins/with_aggregations_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/integration/joins/with_compounds_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/engine_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/predicates/binary_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/predicates/equality_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/predicates/in_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/predicates/predicates_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/primitives/attribute_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/primitives/expression_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/primitives/literal_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/primitives/value_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/alias_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/delete_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/from_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/group_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/having_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/insert_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/join_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/lock_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/order_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/project_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/skip_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/table_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/take_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/update_spec.rb +0 -0
- data/spec/{arel/engines → engines}/sql/unit/relations/where_spec.rb +0 -0
- data/spec/relations/join_spec.rb +40 -0
- data/spec/relations/relation_spec.rb +31 -0
- data/spec/shared/relation_spec.rb +142 -0
- data/spec/spec_helper.rb +17 -45
- data/spec/support/check.rb +6 -0
- data/spec/{connections → support/connections}/mysql_connection.rb +2 -4
- data/spec/{connections → support/connections}/oracle_connection.rb +3 -5
- data/spec/{connections → support/connections}/postgresql_connection.rb +2 -4
- data/spec/{connections → support/connections}/sqlite3_connection.rb +2 -4
- data/spec/support/guards.rb +28 -0
- data/spec/support/matchers.rb +4 -0
- data/spec/{matchers → support/matchers}/be_like.rb +1 -1
- data/spec/{matchers → support/matchers}/disambiguate_attributes.rb +1 -1
- data/spec/{matchers → support/matchers}/hash_the_same_as.rb +1 -1
- data/spec/support/matchers/have_rows.rb +18 -0
- data/spec/support/model.rb +58 -0
- data/spec/{schemas → support/schemas}/mysql_schema.rb +0 -0
- data/spec/{schemas → support/schemas}/oracle_schema.rb +0 -0
- data/spec/{schemas → support/schemas}/postgresql_schema.rb +0 -0
- data/spec/{schemas → support/schemas}/sqlite3_schema.rb +0 -0
- metadata +107 -163
- data/.gitignore +0 -6
- data/.gitmodules +0 -3
- data/Rakefile +0 -48
- data/Thorfile +0 -124
- data/arel.gemspec +0 -258
- data/doc/CONVENTIONS +0 -17
- data/doc/TODO +0 -118
- data/spec/doubles/hash.rb +0 -27
- data/spec/spec.opts +0 -3
data/.gitignore
DELETED
data/.gitmodules
DELETED
data/Rakefile
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
|
3
|
-
begin
|
4
|
-
require "spec/rake/spectask"
|
5
|
-
rescue LoadError
|
6
|
-
desc "Run specs"
|
7
|
-
task(:spec) { $stderr.puts '`gem install rspec` to run specs' }
|
8
|
-
else
|
9
|
-
desc "Run specs using RCov (uses mysql database adapter)"
|
10
|
-
Spec::Rake::SpecTask.new(:coverage) do |t|
|
11
|
-
t.spec_files =
|
12
|
-
["spec/connections/mysql_connection.rb"] +
|
13
|
-
FileList['spec/**/*_spec.rb']
|
14
|
-
|
15
|
-
t.rcov = true
|
16
|
-
t.rcov_opts << '--exclude' << "spec,gems"
|
17
|
-
t.rcov_opts << '--text-summary'
|
18
|
-
t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
|
19
|
-
t.rcov_opts << '--only-uncovered'
|
20
|
-
end
|
21
|
-
|
22
|
-
namespace :spec do
|
23
|
-
for adapter in %w[mysql sqlite3 postgresql oracle]
|
24
|
-
desc "Run specs with the #{adapter} database adapter"
|
25
|
-
Spec::Rake::SpecTask.new(adapter) do |t|
|
26
|
-
t.spec_opts = ['--options', "\"#{File.dirname(__FILE__)}/spec/spec.opts\""]
|
27
|
-
t.libs << "#{File.dirname(__FILE__)}/vendor/rails/activerecord/lib"
|
28
|
-
t.libs << "#{File.dirname(__FILE__)}/spec"
|
29
|
-
# t.warning = true
|
30
|
-
t.spec_files =
|
31
|
-
["spec/connections/#{adapter}_connection.rb"] +
|
32
|
-
["spec/schemas/#{adapter}_schema.rb"] +
|
33
|
-
FileList['spec/**/*_spec.rb']
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
desc "Run specs with mysql and sqlite3 database adapters (default)"
|
39
|
-
task :spec => ["spec:sqlite3", "spec:mysql", "spec:postgresql"]
|
40
|
-
|
41
|
-
desc "Default task is to run specs"
|
42
|
-
task :default => :spec
|
43
|
-
end
|
44
|
-
|
45
|
-
desc 'Removes trailing whitespace'
|
46
|
-
task :whitespace do
|
47
|
-
sh %{find . -name '*.rb' -exec sed -i '' 's/ *$//g' {} \\;}
|
48
|
-
end
|
data/Thorfile
DELETED
@@ -1,124 +0,0 @@
|
|
1
|
-
require "active_support"
|
2
|
-
|
3
|
-
module GemHelpers
|
4
|
-
|
5
|
-
def generate_gemspec
|
6
|
-
$LOAD_PATH << "#{File.dirname(__FILE__)}/vendor/rails/activerecord/lib"
|
7
|
-
$LOAD_PATH << "#{File.dirname(__FILE__)}/vendor/rails/activesupport/lib"
|
8
|
-
|
9
|
-
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), "lib")))
|
10
|
-
require "arel"
|
11
|
-
|
12
|
-
Gem::Specification.new do |s|
|
13
|
-
s.name = "arel"
|
14
|
-
s.version = Arel::VERSION
|
15
|
-
s.authors = ["Bryan Helmkamp", "Nick Kallen", "Emilio Tagua"]
|
16
|
-
s.email = "bryan@brynary.com"
|
17
|
-
s.homepage = "http://github.com/brynary/arel"
|
18
|
-
s.summary = "Arel is a relational algebra engine for Ruby"
|
19
|
-
s.description = <<-EOS.strip
|
20
|
-
Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
|
21
|
-
of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
|
22
|
-
a framework framework; that is, you can build your own ORM with it, focusing on
|
23
|
-
innovative object and collection modeling as opposed to database compatibility
|
24
|
-
and query generation.
|
25
|
-
EOS
|
26
|
-
s.rubyforge_project = "arel"
|
27
|
-
|
28
|
-
require "git"
|
29
|
-
repo = Git.open(".")
|
30
|
-
|
31
|
-
s.files = normalize_files(repo.ls_files.keys - repo.lib.ignored_files)
|
32
|
-
s.test_files = normalize_files(Dir['spec/**/*.rb'] - repo.lib.ignored_files)
|
33
|
-
|
34
|
-
s.has_rdoc = true
|
35
|
-
s.extra_rdoc_files = %w[History.txt README.markdown]
|
36
|
-
|
37
|
-
# Arel required ActiveRecord, but we're not declaring it to avoid a
|
38
|
-
# circular dependency chain. The solution is for ActiveRecord to release
|
39
|
-
# the connection adapters which Arel uses in a separate gem
|
40
|
-
# s.add_dependency "activerecord", ">= 3.0.pre"
|
41
|
-
s.add_dependency "activesupport", ">= 3.0.0.beta"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def normalize_files(array)
|
46
|
-
# only keep files, no directories, and sort
|
47
|
-
array.select do |path|
|
48
|
-
File.file?(path)
|
49
|
-
end.sort
|
50
|
-
end
|
51
|
-
|
52
|
-
# Adds extra space when outputting an array. This helps create better version
|
53
|
-
# control diffs, because otherwise it is all on the same line.
|
54
|
-
def prettyify_array(gemspec_ruby, array_name)
|
55
|
-
gemspec_ruby.gsub(/s\.#{array_name.to_s} = \[.+?\]/) do |match|
|
56
|
-
leadin, files = match[0..-2].split("[")
|
57
|
-
leadin + "[\n #{files.split(",").join(",\n ")}\n ]"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def read_gemspec
|
62
|
-
@read_gemspec ||= eval(File.read("arel.gemspec"))
|
63
|
-
end
|
64
|
-
|
65
|
-
def sh(command)
|
66
|
-
puts command
|
67
|
-
system command
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
class Default < Thor
|
72
|
-
include GemHelpers
|
73
|
-
|
74
|
-
desc "gemspec", "Regenerate arel.gemspec"
|
75
|
-
def gemspec
|
76
|
-
File.open("arel.gemspec", "w") do |file|
|
77
|
-
gemspec_ruby = generate_gemspec.to_ruby
|
78
|
-
gemspec_ruby = prettyify_array(gemspec_ruby, :files)
|
79
|
-
gemspec_ruby = prettyify_array(gemspec_ruby, :test_files)
|
80
|
-
gemspec_ruby = prettyify_array(gemspec_ruby, :extra_rdoc_files)
|
81
|
-
|
82
|
-
file.write gemspec_ruby
|
83
|
-
end
|
84
|
-
|
85
|
-
puts "Wrote gemspec to arel.gemspec"
|
86
|
-
read_gemspec.validate
|
87
|
-
end
|
88
|
-
|
89
|
-
desc "build", "Build a arel gem"
|
90
|
-
def build
|
91
|
-
sh "gem build arel.gemspec"
|
92
|
-
FileUtils.mkdir_p "pkg"
|
93
|
-
FileUtils.mv read_gemspec.file_name, "pkg"
|
94
|
-
end
|
95
|
-
|
96
|
-
desc "install", "Install the latest built gem"
|
97
|
-
def install
|
98
|
-
sh "gem install --local pkg/#{read_gemspec.file_name}"
|
99
|
-
end
|
100
|
-
|
101
|
-
desc "release", "Release the current branch to GitHub and Gemcutter"
|
102
|
-
def release
|
103
|
-
gemspec
|
104
|
-
build
|
105
|
-
Release.new.tag
|
106
|
-
Release.new.gem
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
class Release < Thor
|
111
|
-
include GemHelpers
|
112
|
-
|
113
|
-
desc "tag", "Tag the gem on the origin server"
|
114
|
-
def tag
|
115
|
-
release_tag = "v#{read_gemspec.version}"
|
116
|
-
sh "git tag -a #{release_tag} -m 'Tagging #{release_tag}'"
|
117
|
-
sh "git push origin #{release_tag}"
|
118
|
-
end
|
119
|
-
|
120
|
-
desc "gem", "Push the gem to Gemcutter"
|
121
|
-
def gem
|
122
|
-
sh "gem push pkg/#{read_gemspec.file_name}"
|
123
|
-
end
|
124
|
-
end
|
data/arel.gemspec
DELETED
@@ -1,258 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = %q{arel}
|
5
|
-
s.version = "0.3.1"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["Bryan Helmkamp", "Nick Kallen", "Emilio Tagua"]
|
9
|
-
s.date = %q{2010-03-10}
|
10
|
-
s.description = %q{Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
|
11
|
-
of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
|
12
|
-
a framework framework; that is, you can build your own ORM with it, focusing on
|
13
|
-
innovative object and collection modeling as opposed to database compatibility
|
14
|
-
and query generation.}
|
15
|
-
s.email = %q{bryan@brynary.com}
|
16
|
-
s.extra_rdoc_files = [
|
17
|
-
"History.txt",
|
18
|
-
"README.markdown"
|
19
|
-
]
|
20
|
-
s.files = [
|
21
|
-
".gitignore",
|
22
|
-
".gitmodules",
|
23
|
-
"History.txt",
|
24
|
-
"README.markdown",
|
25
|
-
"Rakefile",
|
26
|
-
"Thorfile",
|
27
|
-
"arel.gemspec",
|
28
|
-
"doc/CONVENTIONS",
|
29
|
-
"doc/TODO",
|
30
|
-
"lib/arel.rb",
|
31
|
-
"lib/arel/algebra.rb",
|
32
|
-
"lib/arel/algebra/attribute.rb",
|
33
|
-
"lib/arel/algebra/core_extensions.rb",
|
34
|
-
"lib/arel/algebra/core_extensions/class.rb",
|
35
|
-
"lib/arel/algebra/core_extensions/hash.rb",
|
36
|
-
"lib/arel/algebra/core_extensions/object.rb",
|
37
|
-
"lib/arel/algebra/core_extensions/symbol.rb",
|
38
|
-
"lib/arel/algebra/expression.rb",
|
39
|
-
"lib/arel/algebra/ordering.rb",
|
40
|
-
"lib/arel/algebra/predicates.rb",
|
41
|
-
"lib/arel/algebra/relations.rb",
|
42
|
-
"lib/arel/algebra/relations/operations/alias.rb",
|
43
|
-
"lib/arel/algebra/relations/operations/from.rb",
|
44
|
-
"lib/arel/algebra/relations/operations/group.rb",
|
45
|
-
"lib/arel/algebra/relations/operations/having.rb",
|
46
|
-
"lib/arel/algebra/relations/operations/join.rb",
|
47
|
-
"lib/arel/algebra/relations/operations/lock.rb",
|
48
|
-
"lib/arel/algebra/relations/operations/order.rb",
|
49
|
-
"lib/arel/algebra/relations/operations/project.rb",
|
50
|
-
"lib/arel/algebra/relations/operations/skip.rb",
|
51
|
-
"lib/arel/algebra/relations/operations/take.rb",
|
52
|
-
"lib/arel/algebra/relations/operations/where.rb",
|
53
|
-
"lib/arel/algebra/relations/relation.rb",
|
54
|
-
"lib/arel/algebra/relations/row.rb",
|
55
|
-
"lib/arel/algebra/relations/utilities/compound.rb",
|
56
|
-
"lib/arel/algebra/relations/utilities/externalization.rb",
|
57
|
-
"lib/arel/algebra/relations/utilities/nil.rb",
|
58
|
-
"lib/arel/algebra/relations/writes.rb",
|
59
|
-
"lib/arel/algebra/value.rb",
|
60
|
-
"lib/arel/engines.rb",
|
61
|
-
"lib/arel/engines/memory.rb",
|
62
|
-
"lib/arel/engines/memory/engine.rb",
|
63
|
-
"lib/arel/engines/memory/predicates.rb",
|
64
|
-
"lib/arel/engines/memory/primitives.rb",
|
65
|
-
"lib/arel/engines/memory/relations.rb",
|
66
|
-
"lib/arel/engines/memory/relations/array.rb",
|
67
|
-
"lib/arel/engines/memory/relations/compound.rb",
|
68
|
-
"lib/arel/engines/memory/relations/operations.rb",
|
69
|
-
"lib/arel/engines/memory/relations/writes.rb",
|
70
|
-
"lib/arel/engines/sql.rb",
|
71
|
-
"lib/arel/engines/sql/christener.rb",
|
72
|
-
"lib/arel/engines/sql/compilers/ibm_db_compiler.rb",
|
73
|
-
"lib/arel/engines/sql/compilers/mysql_compiler.rb",
|
74
|
-
"lib/arel/engines/sql/compilers/oracle_compiler.rb",
|
75
|
-
"lib/arel/engines/sql/compilers/postgresql_compiler.rb",
|
76
|
-
"lib/arel/engines/sql/compilers/sqlite_compiler.rb",
|
77
|
-
"lib/arel/engines/sql/core_extensions.rb",
|
78
|
-
"lib/arel/engines/sql/core_extensions/array.rb",
|
79
|
-
"lib/arel/engines/sql/core_extensions/nil_class.rb",
|
80
|
-
"lib/arel/engines/sql/core_extensions/object.rb",
|
81
|
-
"lib/arel/engines/sql/core_extensions/range.rb",
|
82
|
-
"lib/arel/engines/sql/engine.rb",
|
83
|
-
"lib/arel/engines/sql/formatters.rb",
|
84
|
-
"lib/arel/engines/sql/predicates.rb",
|
85
|
-
"lib/arel/engines/sql/primitives.rb",
|
86
|
-
"lib/arel/engines/sql/relations.rb",
|
87
|
-
"lib/arel/engines/sql/relations/compiler.rb",
|
88
|
-
"lib/arel/engines/sql/relations/operations/alias.rb",
|
89
|
-
"lib/arel/engines/sql/relations/operations/join.rb",
|
90
|
-
"lib/arel/engines/sql/relations/relation.rb",
|
91
|
-
"lib/arel/engines/sql/relations/table.rb",
|
92
|
-
"lib/arel/engines/sql/relations/utilities/compound.rb",
|
93
|
-
"lib/arel/engines/sql/relations/utilities/externalization.rb",
|
94
|
-
"lib/arel/engines/sql/relations/utilities/nil.rb",
|
95
|
-
"lib/arel/engines/sql/relations/utilities/recursion.rb",
|
96
|
-
"lib/arel/engines/sql/relations/writes.rb",
|
97
|
-
"lib/arel/session.rb",
|
98
|
-
"spec/arel/algebra/unit/predicates/binary_spec.rb",
|
99
|
-
"spec/arel/algebra/unit/predicates/equality_spec.rb",
|
100
|
-
"spec/arel/algebra/unit/predicates/in_spec.rb",
|
101
|
-
"spec/arel/algebra/unit/primitives/attribute_spec.rb",
|
102
|
-
"spec/arel/algebra/unit/primitives/expression_spec.rb",
|
103
|
-
"spec/arel/algebra/unit/primitives/value_spec.rb",
|
104
|
-
"spec/arel/algebra/unit/relations/alias_spec.rb",
|
105
|
-
"spec/arel/algebra/unit/relations/delete_spec.rb",
|
106
|
-
"spec/arel/algebra/unit/relations/group_spec.rb",
|
107
|
-
"spec/arel/algebra/unit/relations/insert_spec.rb",
|
108
|
-
"spec/arel/algebra/unit/relations/join_spec.rb",
|
109
|
-
"spec/arel/algebra/unit/relations/order_spec.rb",
|
110
|
-
"spec/arel/algebra/unit/relations/project_spec.rb",
|
111
|
-
"spec/arel/algebra/unit/relations/relation_spec.rb",
|
112
|
-
"spec/arel/algebra/unit/relations/skip_spec.rb",
|
113
|
-
"spec/arel/algebra/unit/relations/table_spec.rb",
|
114
|
-
"spec/arel/algebra/unit/relations/take_spec.rb",
|
115
|
-
"spec/arel/algebra/unit/relations/update_spec.rb",
|
116
|
-
"spec/arel/algebra/unit/relations/where_spec.rb",
|
117
|
-
"spec/arel/algebra/unit/session/session_spec.rb",
|
118
|
-
"spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
|
119
|
-
"spec/arel/engines/memory/unit/relations/array_spec.rb",
|
120
|
-
"spec/arel/engines/memory/unit/relations/insert_spec.rb",
|
121
|
-
"spec/arel/engines/memory/unit/relations/join_spec.rb",
|
122
|
-
"spec/arel/engines/memory/unit/relations/order_spec.rb",
|
123
|
-
"spec/arel/engines/memory/unit/relations/project_spec.rb",
|
124
|
-
"spec/arel/engines/memory/unit/relations/skip_spec.rb",
|
125
|
-
"spec/arel/engines/memory/unit/relations/take_spec.rb",
|
126
|
-
"spec/arel/engines/memory/unit/relations/where_spec.rb",
|
127
|
-
"spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
|
128
|
-
"spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
|
129
|
-
"spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
|
130
|
-
"spec/arel/engines/sql/unit/engine_spec.rb",
|
131
|
-
"spec/arel/engines/sql/unit/predicates/binary_spec.rb",
|
132
|
-
"spec/arel/engines/sql/unit/predicates/equality_spec.rb",
|
133
|
-
"spec/arel/engines/sql/unit/predicates/in_spec.rb",
|
134
|
-
"spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
|
135
|
-
"spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
|
136
|
-
"spec/arel/engines/sql/unit/primitives/expression_spec.rb",
|
137
|
-
"spec/arel/engines/sql/unit/primitives/literal_spec.rb",
|
138
|
-
"spec/arel/engines/sql/unit/primitives/value_spec.rb",
|
139
|
-
"spec/arel/engines/sql/unit/relations/alias_spec.rb",
|
140
|
-
"spec/arel/engines/sql/unit/relations/delete_spec.rb",
|
141
|
-
"spec/arel/engines/sql/unit/relations/from_spec.rb",
|
142
|
-
"spec/arel/engines/sql/unit/relations/group_spec.rb",
|
143
|
-
"spec/arel/engines/sql/unit/relations/having_spec.rb",
|
144
|
-
"spec/arel/engines/sql/unit/relations/insert_spec.rb",
|
145
|
-
"spec/arel/engines/sql/unit/relations/join_spec.rb",
|
146
|
-
"spec/arel/engines/sql/unit/relations/lock_spec.rb",
|
147
|
-
"spec/arel/engines/sql/unit/relations/order_spec.rb",
|
148
|
-
"spec/arel/engines/sql/unit/relations/project_spec.rb",
|
149
|
-
"spec/arel/engines/sql/unit/relations/skip_spec.rb",
|
150
|
-
"spec/arel/engines/sql/unit/relations/table_spec.rb",
|
151
|
-
"spec/arel/engines/sql/unit/relations/take_spec.rb",
|
152
|
-
"spec/arel/engines/sql/unit/relations/update_spec.rb",
|
153
|
-
"spec/arel/engines/sql/unit/relations/where_spec.rb",
|
154
|
-
"spec/connections/mysql_connection.rb",
|
155
|
-
"spec/connections/oracle_connection.rb",
|
156
|
-
"spec/connections/postgresql_connection.rb",
|
157
|
-
"spec/connections/sqlite3_connection.rb",
|
158
|
-
"spec/doubles/hash.rb",
|
159
|
-
"spec/matchers/be_like.rb",
|
160
|
-
"spec/matchers/disambiguate_attributes.rb",
|
161
|
-
"spec/matchers/hash_the_same_as.rb",
|
162
|
-
"spec/schemas/mysql_schema.rb",
|
163
|
-
"spec/schemas/oracle_schema.rb",
|
164
|
-
"spec/schemas/postgresql_schema.rb",
|
165
|
-
"spec/schemas/sqlite3_schema.rb",
|
166
|
-
"spec/spec.opts",
|
167
|
-
"spec/spec_helper.rb"
|
168
|
-
]
|
169
|
-
s.homepage = %q{http://github.com/brynary/arel}
|
170
|
-
s.require_paths = ["lib"]
|
171
|
-
s.rubyforge_project = %q{arel}
|
172
|
-
s.rubygems_version = %q{1.3.6}
|
173
|
-
s.summary = %q{Arel is a relational algebra engine for Ruby}
|
174
|
-
s.test_files = [
|
175
|
-
"spec/arel/algebra/unit/predicates/binary_spec.rb",
|
176
|
-
"spec/arel/algebra/unit/predicates/equality_spec.rb",
|
177
|
-
"spec/arel/algebra/unit/predicates/in_spec.rb",
|
178
|
-
"spec/arel/algebra/unit/primitives/attribute_spec.rb",
|
179
|
-
"spec/arel/algebra/unit/primitives/expression_spec.rb",
|
180
|
-
"spec/arel/algebra/unit/primitives/value_spec.rb",
|
181
|
-
"spec/arel/algebra/unit/relations/alias_spec.rb",
|
182
|
-
"spec/arel/algebra/unit/relations/delete_spec.rb",
|
183
|
-
"spec/arel/algebra/unit/relations/group_spec.rb",
|
184
|
-
"spec/arel/algebra/unit/relations/insert_spec.rb",
|
185
|
-
"spec/arel/algebra/unit/relations/join_spec.rb",
|
186
|
-
"spec/arel/algebra/unit/relations/order_spec.rb",
|
187
|
-
"spec/arel/algebra/unit/relations/project_spec.rb",
|
188
|
-
"spec/arel/algebra/unit/relations/relation_spec.rb",
|
189
|
-
"spec/arel/algebra/unit/relations/skip_spec.rb",
|
190
|
-
"spec/arel/algebra/unit/relations/table_spec.rb",
|
191
|
-
"spec/arel/algebra/unit/relations/take_spec.rb",
|
192
|
-
"spec/arel/algebra/unit/relations/update_spec.rb",
|
193
|
-
"spec/arel/algebra/unit/relations/where_spec.rb",
|
194
|
-
"spec/arel/algebra/unit/session/session_spec.rb",
|
195
|
-
"spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
|
196
|
-
"spec/arel/engines/memory/unit/relations/array_spec.rb",
|
197
|
-
"spec/arel/engines/memory/unit/relations/insert_spec.rb",
|
198
|
-
"spec/arel/engines/memory/unit/relations/join_spec.rb",
|
199
|
-
"spec/arel/engines/memory/unit/relations/order_spec.rb",
|
200
|
-
"spec/arel/engines/memory/unit/relations/project_spec.rb",
|
201
|
-
"spec/arel/engines/memory/unit/relations/skip_spec.rb",
|
202
|
-
"spec/arel/engines/memory/unit/relations/take_spec.rb",
|
203
|
-
"spec/arel/engines/memory/unit/relations/where_spec.rb",
|
204
|
-
"spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
|
205
|
-
"spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
|
206
|
-
"spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
|
207
|
-
"spec/arel/engines/sql/unit/engine_spec.rb",
|
208
|
-
"spec/arel/engines/sql/unit/predicates/binary_spec.rb",
|
209
|
-
"spec/arel/engines/sql/unit/predicates/equality_spec.rb",
|
210
|
-
"spec/arel/engines/sql/unit/predicates/in_spec.rb",
|
211
|
-
"spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
|
212
|
-
"spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
|
213
|
-
"spec/arel/engines/sql/unit/primitives/expression_spec.rb",
|
214
|
-
"spec/arel/engines/sql/unit/primitives/literal_spec.rb",
|
215
|
-
"spec/arel/engines/sql/unit/primitives/value_spec.rb",
|
216
|
-
"spec/arel/engines/sql/unit/relations/alias_spec.rb",
|
217
|
-
"spec/arel/engines/sql/unit/relations/delete_spec.rb",
|
218
|
-
"spec/arel/engines/sql/unit/relations/from_spec.rb",
|
219
|
-
"spec/arel/engines/sql/unit/relations/group_spec.rb",
|
220
|
-
"spec/arel/engines/sql/unit/relations/having_spec.rb",
|
221
|
-
"spec/arel/engines/sql/unit/relations/insert_spec.rb",
|
222
|
-
"spec/arel/engines/sql/unit/relations/join_spec.rb",
|
223
|
-
"spec/arel/engines/sql/unit/relations/lock_spec.rb",
|
224
|
-
"spec/arel/engines/sql/unit/relations/order_spec.rb",
|
225
|
-
"spec/arel/engines/sql/unit/relations/project_spec.rb",
|
226
|
-
"spec/arel/engines/sql/unit/relations/skip_spec.rb",
|
227
|
-
"spec/arel/engines/sql/unit/relations/table_spec.rb",
|
228
|
-
"spec/arel/engines/sql/unit/relations/take_spec.rb",
|
229
|
-
"spec/arel/engines/sql/unit/relations/update_spec.rb",
|
230
|
-
"spec/arel/engines/sql/unit/relations/where_spec.rb",
|
231
|
-
"spec/connections/mysql_connection.rb",
|
232
|
-
"spec/connections/oracle_connection.rb",
|
233
|
-
"spec/connections/postgresql_connection.rb",
|
234
|
-
"spec/connections/sqlite3_connection.rb",
|
235
|
-
"spec/doubles/hash.rb",
|
236
|
-
"spec/matchers/be_like.rb",
|
237
|
-
"spec/matchers/disambiguate_attributes.rb",
|
238
|
-
"spec/matchers/hash_the_same_as.rb",
|
239
|
-
"spec/schemas/mysql_schema.rb",
|
240
|
-
"spec/schemas/oracle_schema.rb",
|
241
|
-
"spec/schemas/postgresql_schema.rb",
|
242
|
-
"spec/schemas/sqlite3_schema.rb",
|
243
|
-
"spec/spec_helper.rb"
|
244
|
-
]
|
245
|
-
|
246
|
-
if s.respond_to? :specification_version then
|
247
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
248
|
-
s.specification_version = 3
|
249
|
-
|
250
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
251
|
-
s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0.beta"])
|
252
|
-
else
|
253
|
-
s.add_dependency(%q<activesupport>, [">= 3.0.0.beta"])
|
254
|
-
end
|
255
|
-
else
|
256
|
-
s.add_dependency(%q<activesupport>, [">= 3.0.0.beta"])
|
257
|
-
end
|
258
|
-
end
|
data/doc/CONVENTIONS
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
This file should ultimately be replaced by a series of tests, something like a lint tool.
|
2
|
-
|
3
|
-
- all describes and its should use single quotes unless they have nested quotes.
|
4
|
-
- object instantiation in tests for all objects that are not the SUT should be manufactured in a before
|
5
|
-
- 'should' and other counterfactuals/subjunctive forms should not be used in tests
|
6
|
-
- no doubles should be used except for behaviorist testing
|
7
|
-
- behaviorist testing is desirable only when interacting with the database or the session
|
8
|
-
- when unit testing, always demonstrate behavior by using a real world example (as in, a public use of the API), so as to provide documentation.
|
9
|
-
- use collect rather than map
|
10
|
-
- jargon:
|
11
|
-
- 'obtains' is preferred to 'returns true'
|
12
|
-
- 'manufactures'
|
13
|
-
- in tests
|
14
|
-
- when manufacturing expected values (right-hand-side of should), avoid convenience methods -- construct it by initializing the object directly (Foo.new(...)). This ensures equality expectations in tests are rigorous.
|
15
|
-
- the SUT should be manufactured inline inside the test, not in a before
|
16
|
-
- dependencies for the SUT should be manufactured using convenience methods (or whatever is most terse).
|
17
|
-
- group conceptually related methods in a class within an inline module; immediately include that module.
|