codders-dataset 1.3.2.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.
Potentially problematic release.
This version of codders-dataset might be problematic. Click here for more details.
- data/CHANGELOG +67 -0
- data/LICENSE +19 -0
- data/README +111 -0
- data/Rakefile +31 -0
- data/TODO +15 -0
- data/VERSION.yml +4 -0
- data/lib/dataset.rb +130 -0
- data/lib/dataset/base.rb +157 -0
- data/lib/dataset/collection.rb +19 -0
- data/lib/dataset/database/base.rb +43 -0
- data/lib/dataset/database/mysql.rb +34 -0
- data/lib/dataset/database/postgresql.rb +34 -0
- data/lib/dataset/database/sqlite3.rb +32 -0
- data/lib/dataset/extensions/cucumber.rb +20 -0
- data/lib/dataset/extensions/rspec.rb +21 -0
- data/lib/dataset/extensions/test_unit.rb +60 -0
- data/lib/dataset/instance_methods.rb +10 -0
- data/lib/dataset/load.rb +47 -0
- data/lib/dataset/record/fixture.rb +73 -0
- data/lib/dataset/record/heirarchy.rb +65 -0
- data/lib/dataset/record/meta.rb +30 -0
- data/lib/dataset/record/model.rb +50 -0
- data/lib/dataset/resolver.rb +110 -0
- data/lib/dataset/session.rb +51 -0
- data/lib/dataset/session_binding.rb +319 -0
- data/lib/dataset/version.rb +9 -0
- data/plugit/descriptor.rb +25 -0
- data/spec/dataset/cucumber_spec.rb +54 -0
- data/spec/dataset/database/base_spec.rb +21 -0
- data/spec/dataset/record/heirarchy_spec.rb +14 -0
- data/spec/dataset/resolver_spec.rb +110 -0
- data/spec/dataset/rspec_spec.rb +133 -0
- data/spec/dataset/session_binding_spec.rb +203 -0
- data/spec/dataset/session_spec.rb +299 -0
- data/spec/dataset/test_unit_spec.rb +210 -0
- data/spec/fixtures/datasets/constant_not_defined.rb +0 -0
- data/spec/fixtures/datasets/ending_with_dataset.rb +2 -0
- data/spec/fixtures/datasets/exact_name.rb +2 -0
- data/spec/fixtures/datasets/not_a_dataset_base.rb +2 -0
- data/spec/fixtures/more_datasets/in_another_directory.rb +2 -0
- data/spec/models.rb +18 -0
- data/spec/schema.rb +26 -0
- data/spec/spec_helper.rb +47 -0
- data/spec/stubs/mini_rails.rb +18 -0
- data/spec/stubs/test_help.rb +1 -0
- data/tasks/dataset.rake +19 -0
- metadata +164 -0
File without changes
|
data/spec/models.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
class Person < ActiveRecord::Base
|
2
|
+
attr_protected :last_name
|
3
|
+
end
|
4
|
+
class Place < ActiveRecord::Base
|
5
|
+
set_table_name 'places_table'
|
6
|
+
end
|
7
|
+
class Thing < ActiveRecord::Base; end
|
8
|
+
class Note < ActiveRecord::Base
|
9
|
+
belongs_to :person
|
10
|
+
end
|
11
|
+
class State < Place; end
|
12
|
+
class NorthCarolina < State; end
|
13
|
+
|
14
|
+
module Nested
|
15
|
+
class Place < ActiveRecord::Base
|
16
|
+
set_table_name 'places_table'
|
17
|
+
end
|
18
|
+
end
|
data/spec/schema.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
ActiveRecord::Schema.define(:version => 20081126181722) do
|
2
|
+
create_table :people, :force => true do |t|
|
3
|
+
t.column :first_name, :string
|
4
|
+
t.column :last_name, :string
|
5
|
+
end
|
6
|
+
|
7
|
+
create_table :places_table, :force => true do |t|
|
8
|
+
t.column :name, :string
|
9
|
+
t.column :location, :string
|
10
|
+
t.column :type, :string
|
11
|
+
end
|
12
|
+
|
13
|
+
create_table :things, :force => true do |t|
|
14
|
+
t.column :name, :string
|
15
|
+
t.column :description, :string
|
16
|
+
t.column :created_on, :date
|
17
|
+
t.column :updated_on, :date
|
18
|
+
end
|
19
|
+
|
20
|
+
create_table :notes, :force => true do |t|
|
21
|
+
t.column :person_id, :integer
|
22
|
+
t.column :content, :string
|
23
|
+
t.column :created_at, :datetime
|
24
|
+
t.column :updated_at, :datetime
|
25
|
+
end
|
26
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
SPEC_ROOT = File.expand_path(File.dirname(__FILE__))
|
2
|
+
require "#{SPEC_ROOT}/../plugit/descriptor"
|
3
|
+
|
4
|
+
# From RSpec's spec_helper.rb. Necessary to run an example group.
|
5
|
+
def with_sandboxed_options
|
6
|
+
attr_reader :options
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
@original_rspec_options = ::Spec::Runner.options
|
10
|
+
::Spec::Runner.use(@options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new))
|
11
|
+
end
|
12
|
+
|
13
|
+
after(:each) do
|
14
|
+
::Spec::Runner.use(@original_rspec_options)
|
15
|
+
end
|
16
|
+
|
17
|
+
yield
|
18
|
+
end
|
19
|
+
|
20
|
+
$LOAD_PATH << SPEC_ROOT
|
21
|
+
RAILS_ROOT = "#{SPEC_ROOT}/.."
|
22
|
+
$LOAD_PATH << "#{RAILS_ROOT}/lib"
|
23
|
+
RAILS_LOG_FILE = "#{RAILS_ROOT}/log/test.log"
|
24
|
+
SQLITE_DATABASE = "#{SPEC_ROOT}/sqlite3.db"
|
25
|
+
|
26
|
+
require 'fileutils'
|
27
|
+
FileUtils.mkdir_p(File.dirname(RAILS_LOG_FILE))
|
28
|
+
FileUtils.touch(RAILS_LOG_FILE)
|
29
|
+
FileUtils.mkdir_p("#{SPEC_ROOT}/tmp")
|
30
|
+
FileUtils.rm_rf("#{SPEC_ROOT}/tmp/*")
|
31
|
+
FileUtils.rm_f(SQLITE_DATABASE)
|
32
|
+
|
33
|
+
require 'logger'
|
34
|
+
RAILS_DEFAULT_LOGGER = Logger.new(RAILS_LOG_FILE)
|
35
|
+
RAILS_DEFAULT_LOGGER.level = Logger::DEBUG
|
36
|
+
|
37
|
+
ActiveRecord::Base.silence do
|
38
|
+
ActiveRecord::Base.configurations = {'test' => {
|
39
|
+
'adapter' => 'sqlite3',
|
40
|
+
'database' => SQLITE_DATABASE
|
41
|
+
}}
|
42
|
+
ActiveRecord::Base.establish_connection 'test'
|
43
|
+
load "#{SPEC_ROOT}/schema.rb"
|
44
|
+
end
|
45
|
+
|
46
|
+
require "models"
|
47
|
+
require "dataset"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Define some stubs to fake Rails...
|
2
|
+
module ActiveRecord
|
3
|
+
class Base
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
module ActionController
|
8
|
+
class Dispatcher
|
9
|
+
end
|
10
|
+
|
11
|
+
class Base
|
12
|
+
end
|
13
|
+
|
14
|
+
class IntegrationTest
|
15
|
+
def self.use_transactional_fixtures=(x)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# This file is loaded by rails/world.rb
|
data/tasks/dataset.rake
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
namespace :db do
|
2
|
+
namespace :dataset do
|
3
|
+
desc "Load one or more datasets into the current environment's database using DATASETS=name,name"
|
4
|
+
task :load => :environment do
|
5
|
+
require 'dataset'
|
6
|
+
dataset_names = (ENV['DATASETS'] || 'default').split(',')
|
7
|
+
|
8
|
+
context = Class.new do
|
9
|
+
extend Dataset::ContextClassMethods
|
10
|
+
datasets_directory [
|
11
|
+
"#{RAILS_ROOT}/spec/datasets",
|
12
|
+
"#{RAILS_ROOT}/test/datasets"
|
13
|
+
].detect {|path| File.directory?(path)}
|
14
|
+
add_dataset *dataset_names
|
15
|
+
dataset_session.load_datasets_for self
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: codders-dataset
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 77
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 3
|
9
|
+
- 2
|
10
|
+
- 1
|
11
|
+
version: 1.3.2.1
|
12
|
+
platform: ruby
|
13
|
+
authors:
|
14
|
+
- Adam Williams
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2009-12-29 00:00:00 +01:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
name: activesupport
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 3
|
31
|
+
segments:
|
32
|
+
- 2
|
33
|
+
- 3
|
34
|
+
- 0
|
35
|
+
version: 2.3.0
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: activerecord
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 3
|
47
|
+
segments:
|
48
|
+
- 2
|
49
|
+
- 3
|
50
|
+
- 0
|
51
|
+
version: 2.3.0
|
52
|
+
type: :runtime
|
53
|
+
version_requirements: *id002
|
54
|
+
description: A simple API for creating and finding sets of data in your database, built on ActiveRecord.
|
55
|
+
email: adam@thewilliams.ws
|
56
|
+
executables: []
|
57
|
+
|
58
|
+
extensions: []
|
59
|
+
|
60
|
+
extra_rdoc_files:
|
61
|
+
- LICENSE
|
62
|
+
- README
|
63
|
+
- TODO
|
64
|
+
files:
|
65
|
+
- CHANGELOG
|
66
|
+
- LICENSE
|
67
|
+
- README
|
68
|
+
- Rakefile
|
69
|
+
- TODO
|
70
|
+
- VERSION.yml
|
71
|
+
- lib/dataset.rb
|
72
|
+
- lib/dataset/base.rb
|
73
|
+
- lib/dataset/collection.rb
|
74
|
+
- lib/dataset/database/base.rb
|
75
|
+
- lib/dataset/database/mysql.rb
|
76
|
+
- lib/dataset/database/postgresql.rb
|
77
|
+
- lib/dataset/database/sqlite3.rb
|
78
|
+
- lib/dataset/extensions/cucumber.rb
|
79
|
+
- lib/dataset/extensions/rspec.rb
|
80
|
+
- lib/dataset/extensions/test_unit.rb
|
81
|
+
- lib/dataset/instance_methods.rb
|
82
|
+
- lib/dataset/load.rb
|
83
|
+
- lib/dataset/record/fixture.rb
|
84
|
+
- lib/dataset/record/heirarchy.rb
|
85
|
+
- lib/dataset/record/meta.rb
|
86
|
+
- lib/dataset/record/model.rb
|
87
|
+
- lib/dataset/resolver.rb
|
88
|
+
- lib/dataset/session.rb
|
89
|
+
- lib/dataset/session_binding.rb
|
90
|
+
- lib/dataset/version.rb
|
91
|
+
- plugit/descriptor.rb
|
92
|
+
- tasks/dataset.rake
|
93
|
+
- spec/dataset/cucumber_spec.rb
|
94
|
+
- spec/dataset/database/base_spec.rb
|
95
|
+
- spec/dataset/record/heirarchy_spec.rb
|
96
|
+
- spec/dataset/resolver_spec.rb
|
97
|
+
- spec/dataset/rspec_spec.rb
|
98
|
+
- spec/dataset/session_binding_spec.rb
|
99
|
+
- spec/dataset/session_spec.rb
|
100
|
+
- spec/dataset/test_unit_spec.rb
|
101
|
+
- spec/fixtures/datasets/constant_not_defined.rb
|
102
|
+
- spec/fixtures/datasets/ending_with_dataset.rb
|
103
|
+
- spec/fixtures/datasets/exact_name.rb
|
104
|
+
- spec/fixtures/datasets/not_a_dataset_base.rb
|
105
|
+
- spec/fixtures/more_datasets/in_another_directory.rb
|
106
|
+
- spec/models.rb
|
107
|
+
- spec/schema.rb
|
108
|
+
- spec/spec_helper.rb
|
109
|
+
- spec/stubs/mini_rails.rb
|
110
|
+
- spec/stubs/test_help.rb
|
111
|
+
has_rdoc: true
|
112
|
+
homepage: http://github.com/codders/dataset
|
113
|
+
licenses: []
|
114
|
+
|
115
|
+
post_install_message:
|
116
|
+
rdoc_options:
|
117
|
+
- --charset=UTF-8
|
118
|
+
require_paths:
|
119
|
+
- lib
|
120
|
+
- tasks
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 3
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
version: "0"
|
130
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
hash: 3
|
136
|
+
segments:
|
137
|
+
- 0
|
138
|
+
version: "0"
|
139
|
+
requirements: []
|
140
|
+
|
141
|
+
rubyforge_project:
|
142
|
+
rubygems_version: 1.3.7
|
143
|
+
signing_key:
|
144
|
+
specification_version: 3
|
145
|
+
summary: A simple API for creating and finding sets of data in your database, built on ActiveRecord.
|
146
|
+
test_files:
|
147
|
+
- spec/dataset/cucumber_spec.rb
|
148
|
+
- spec/dataset/database/base_spec.rb
|
149
|
+
- spec/dataset/record/heirarchy_spec.rb
|
150
|
+
- spec/dataset/resolver_spec.rb
|
151
|
+
- spec/dataset/rspec_spec.rb
|
152
|
+
- spec/dataset/session_binding_spec.rb
|
153
|
+
- spec/dataset/session_spec.rb
|
154
|
+
- spec/dataset/test_unit_spec.rb
|
155
|
+
- spec/fixtures/datasets/constant_not_defined.rb
|
156
|
+
- spec/fixtures/datasets/ending_with_dataset.rb
|
157
|
+
- spec/fixtures/datasets/exact_name.rb
|
158
|
+
- spec/fixtures/datasets/not_a_dataset_base.rb
|
159
|
+
- spec/fixtures/more_datasets/in_another_directory.rb
|
160
|
+
- spec/models.rb
|
161
|
+
- spec/schema.rb
|
162
|
+
- spec/spec_helper.rb
|
163
|
+
- spec/stubs/mini_rails.rb
|
164
|
+
- spec/stubs/test_help.rb
|