talentbox-sequel-rails 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +32 -32
- data/History.md +18 -0
- data/lib/generators/sequel.rb +1 -1
- data/lib/sequel/plugins/rails_extensions.rb +35 -0
- data/lib/sequel-rails/railtie.rb +12 -9
- data/lib/sequel-rails/railties/database.rake +1 -1
- data/lib/sequel-rails/version.rb +1 -1
- metadata +55 -19
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
talentbox-sequel-rails (0.3.
|
4
|
+
talentbox-sequel-rails (0.3.4)
|
5
5
|
rails (~> 3.2.0)
|
6
6
|
sequel (~> 3.28)
|
7
7
|
|
@@ -9,31 +9,31 @@ GEM
|
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
11
|
ZenTest (4.6.2)
|
12
|
-
actionmailer (3.2.
|
13
|
-
actionpack (= 3.2.
|
12
|
+
actionmailer (3.2.6)
|
13
|
+
actionpack (= 3.2.6)
|
14
14
|
mail (~> 2.4.4)
|
15
|
-
actionpack (3.2.
|
16
|
-
activemodel (= 3.2.
|
17
|
-
activesupport (= 3.2.
|
15
|
+
actionpack (3.2.6)
|
16
|
+
activemodel (= 3.2.6)
|
17
|
+
activesupport (= 3.2.6)
|
18
18
|
builder (~> 3.0.0)
|
19
19
|
erubis (~> 2.7.0)
|
20
20
|
journey (~> 1.0.1)
|
21
21
|
rack (~> 1.4.0)
|
22
22
|
rack-cache (~> 1.2)
|
23
23
|
rack-test (~> 0.6.1)
|
24
|
-
sprockets (~> 2.1.
|
25
|
-
activemodel (3.2.
|
26
|
-
activesupport (= 3.2.
|
24
|
+
sprockets (~> 2.1.3)
|
25
|
+
activemodel (3.2.6)
|
26
|
+
activesupport (= 3.2.6)
|
27
27
|
builder (~> 3.0.0)
|
28
|
-
activerecord (3.2.
|
29
|
-
activemodel (= 3.2.
|
30
|
-
activesupport (= 3.2.
|
28
|
+
activerecord (3.2.6)
|
29
|
+
activemodel (= 3.2.6)
|
30
|
+
activesupport (= 3.2.6)
|
31
31
|
arel (~> 3.0.2)
|
32
32
|
tzinfo (~> 0.3.29)
|
33
|
-
activeresource (3.2.
|
34
|
-
activemodel (= 3.2.
|
35
|
-
activesupport (= 3.2.
|
36
|
-
activesupport (3.2.
|
33
|
+
activeresource (3.2.6)
|
34
|
+
activemodel (= 3.2.6)
|
35
|
+
activesupport (= 3.2.6)
|
36
|
+
activesupport (3.2.6)
|
37
37
|
i18n (~> 0.6)
|
38
38
|
multi_json (~> 1.0)
|
39
39
|
arel (3.0.2)
|
@@ -44,14 +44,14 @@ GEM
|
|
44
44
|
erubis (2.7.0)
|
45
45
|
hike (1.2.1)
|
46
46
|
i18n (0.6.0)
|
47
|
-
journey (1.0.
|
47
|
+
journey (1.0.4)
|
48
48
|
json (1.7.3)
|
49
49
|
mail (2.4.4)
|
50
50
|
i18n (>= 0.4.0)
|
51
51
|
mime-types (~> 1.16)
|
52
52
|
treetop (~> 1.4.8)
|
53
|
-
mime-types (1.
|
54
|
-
multi_json (1.3.
|
53
|
+
mime-types (1.19)
|
54
|
+
multi_json (1.3.6)
|
55
55
|
polyglot (0.3.3)
|
56
56
|
rack (1.4.1)
|
57
57
|
rack-cache (1.2)
|
@@ -60,21 +60,21 @@ GEM
|
|
60
60
|
rack
|
61
61
|
rack-test (0.6.1)
|
62
62
|
rack (>= 1.0)
|
63
|
-
rails (3.2.
|
64
|
-
actionmailer (= 3.2.
|
65
|
-
actionpack (= 3.2.
|
66
|
-
activerecord (= 3.2.
|
67
|
-
activeresource (= 3.2.
|
68
|
-
activesupport (= 3.2.
|
63
|
+
rails (3.2.6)
|
64
|
+
actionmailer (= 3.2.6)
|
65
|
+
actionpack (= 3.2.6)
|
66
|
+
activerecord (= 3.2.6)
|
67
|
+
activeresource (= 3.2.6)
|
68
|
+
activesupport (= 3.2.6)
|
69
69
|
bundler (~> 1.0)
|
70
|
-
railties (= 3.2.
|
71
|
-
railties (3.2.
|
72
|
-
actionpack (= 3.2.
|
73
|
-
activesupport (= 3.2.
|
70
|
+
railties (= 3.2.6)
|
71
|
+
railties (3.2.6)
|
72
|
+
actionpack (= 3.2.6)
|
73
|
+
activesupport (= 3.2.6)
|
74
74
|
rack-ssl (~> 1.3.2)
|
75
75
|
rake (>= 0.8.7)
|
76
76
|
rdoc (~> 3.4)
|
77
|
-
thor (
|
77
|
+
thor (>= 0.14.6, < 2.0)
|
78
78
|
rake (0.8.7)
|
79
79
|
rcov (0.9.11)
|
80
80
|
rdoc (3.12)
|
@@ -87,12 +87,12 @@ GEM
|
|
87
87
|
rspec-expectations (2.7.0)
|
88
88
|
diff-lcs (~> 1.1.2)
|
89
89
|
rspec-mocks (2.7.0)
|
90
|
-
sequel (3.
|
90
|
+
sequel (3.37.0)
|
91
91
|
sprockets (2.1.3)
|
92
92
|
hike (~> 1.2)
|
93
93
|
rack (~> 1.0)
|
94
94
|
tilt (~> 1.1, != 1.3.0)
|
95
|
-
thor (0.
|
95
|
+
thor (0.15.4)
|
96
96
|
tilt (1.3.3)
|
97
97
|
treetop (1.4.10)
|
98
98
|
polyglot
|
data/History.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
0.3.5 - dev
|
2
|
+
===========
|
3
|
+
|
4
|
+
0.3.4
|
5
|
+
=====
|
6
|
+
|
7
|
+
* Make `rake db:schema:dump` generate a schema file which contains foreign_keys
|
8
|
+
and uses db types instead of ruby equivalents. This ensure loading the schema
|
9
|
+
file will result in a correct db
|
10
|
+
|
11
|
+
* Map some Sequel specific exceptions to `ActiveRecord` equivalents, in
|
12
|
+
`config.action_dispatch.rescue_responses`. This allows controllers to behave
|
13
|
+
more like `ActiveRecord` when Sequel raises exceptions. (Joshua Hansen)
|
14
|
+
|
15
|
+
* New Sequel plugin added to all `Sequel::Model` which allows to use
|
16
|
+
`Sequel::Model#find!` which will raise an exception if record does not exists.
|
17
|
+
This method is an alias to `Sequel::Model#[]` method. (Joshua Hansen)
|
18
|
+
|
1
19
|
0.3.3
|
2
20
|
=====
|
3
21
|
|
data/lib/generators/sequel.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'sequel'
|
2
|
+
|
3
|
+
module Sequel
|
4
|
+
module Plugins
|
5
|
+
# The RailsExtensions plugin adds a single class method to Sequel::Model in
|
6
|
+
# order to make its use in controllers a little more like ActiveRecord's.
|
7
|
+
# The +find!+ method is added which will raise an exception if no object is
|
8
|
+
# found. By adding the following code to a Railtie:
|
9
|
+
#
|
10
|
+
# config.action_dispatch.rescue_responses.merge!(
|
11
|
+
# 'Sequel::Plugins::RailsExtensions::ModelNotFound' => :not_found
|
12
|
+
# )
|
13
|
+
#
|
14
|
+
# Usage:
|
15
|
+
#
|
16
|
+
# # Apply plugin to all models:
|
17
|
+
# Sequel::Model.plugin :rails_extensions
|
18
|
+
#
|
19
|
+
# # Apply plugin to a single model:
|
20
|
+
# Album.plugin :rails_extensions
|
21
|
+
module RailsExtensions
|
22
|
+
class ModelNotFound < Sequel::Error
|
23
|
+
end
|
24
|
+
|
25
|
+
module ClassMethods
|
26
|
+
def find!(args)
|
27
|
+
m = self[args]
|
28
|
+
raise ModelNotFound, "Couldn't find #{self} matching #{args}." unless m
|
29
|
+
m
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/sequel-rails/railtie.rb
CHANGED
@@ -12,8 +12,8 @@ require 'active_model/railtie'
|
|
12
12
|
require 'action_controller/railtie'
|
13
13
|
|
14
14
|
require 'sequel-rails/setup'
|
15
|
-
require
|
16
|
-
require
|
15
|
+
require 'sequel-rails/railties/log_subscriber'
|
16
|
+
require 'sequel-rails/railties/i18n_support'
|
17
17
|
|
18
18
|
|
19
19
|
module Rails
|
@@ -26,6 +26,12 @@ module Rails
|
|
26
26
|
config.app_generators.orm :sequel, :migration => true
|
27
27
|
config.rails_fancy_pants_logging = true
|
28
28
|
|
29
|
+
config.action_dispatch.rescue_responses.merge!(
|
30
|
+
'Sequel::Plugins::RailsExtensions::ModelNotFound' => :not_found,
|
31
|
+
'Sequel::ValidationFailed' => :unprocessable_entity,
|
32
|
+
'Sequel::NoExistingObject' => :unprocessable_entity
|
33
|
+
)
|
34
|
+
|
29
35
|
rake_tasks do
|
30
36
|
load 'sequel-rails/railties/database.rake'
|
31
37
|
end
|
@@ -43,28 +49,25 @@ module Rails
|
|
43
49
|
end
|
44
50
|
|
45
51
|
# Expose database runtime to controller for logging.
|
46
|
-
initializer
|
52
|
+
initializer 'sequel.log_runtime' do |app|
|
47
53
|
setup_controller_runtime(app)
|
48
54
|
end
|
49
55
|
|
50
|
-
initializer
|
56
|
+
initializer 'sequel.connect' do |app|
|
51
57
|
Rails::Sequel.setup(Rails.env)
|
52
58
|
end
|
53
59
|
|
54
60
|
# Run setup code after_initialize to make sure all config/initializers
|
55
61
|
# are in effect once we setup the connection. This is especially necessary
|
56
62
|
# for the cascaded adapter wrappers that need to be declared before setup.
|
57
|
-
|
58
63
|
config.after_initialize do |app|
|
59
64
|
::Sequel::Model.plugin :active_model
|
60
65
|
::Sequel::Model.plugin :validation_helpers
|
61
|
-
|
66
|
+
::Sequel::Model.plugin :rails_extensions
|
62
67
|
::Sequel::Model.raise_on_save_failure = false
|
63
68
|
end
|
64
69
|
|
65
|
-
|
66
70
|
# Support overwriting crucial steps in subclasses
|
67
|
-
|
68
71
|
def configure_sequel(app)
|
69
72
|
app.config.sequel = Rails::Sequel::Configuration.for(
|
70
73
|
Rails.root, app.config.database_configuration
|
@@ -76,7 +79,7 @@ module Rails
|
|
76
79
|
end
|
77
80
|
|
78
81
|
def setup_controller_runtime(app)
|
79
|
-
require
|
82
|
+
require 'sequel-rails/railties/controller_runtime'
|
80
83
|
ActionController::Base.send :include, Rails::Sequel::Railties::ControllerRuntime
|
81
84
|
end
|
82
85
|
|
@@ -6,7 +6,7 @@ namespace :db do
|
|
6
6
|
Sequel.extension :schema_dumper
|
7
7
|
db = Sequel.connect(::Rails::Sequel.configuration.environment_for(Rails.env))
|
8
8
|
File.open(ENV['SCHEMA'] || "#{Rails.root}/db/schema.rb", "w") do |file|
|
9
|
-
file.write
|
9
|
+
file.write db.dump_schema_migration(same_db: true)
|
10
10
|
end
|
11
11
|
Rake::Task["db:schema:dump"].reenable
|
12
12
|
end
|
data/lib/sequel-rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: talentbox-sequel-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sequel
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: '3.28'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '3.28'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: rails
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ~>
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: 3.2.0
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.2.0
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: rake
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ~>
|
@@ -44,10 +54,15 @@ dependencies:
|
|
44
54
|
version: 0.8.7
|
45
55
|
type: :development
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.8.7
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: yard
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ~>
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: '0.5'
|
56
71
|
type: :development
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0.5'
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: rspec
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ~>
|
@@ -66,10 +86,15 @@ dependencies:
|
|
66
86
|
version: 2.7.0
|
67
87
|
type: :development
|
68
88
|
prerelease: false
|
69
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ~>
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 2.7.0
|
70
95
|
- !ruby/object:Gem::Dependency
|
71
96
|
name: autotest
|
72
|
-
requirement:
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
73
98
|
none: false
|
74
99
|
requirements:
|
75
100
|
- - ~>
|
@@ -77,10 +102,15 @@ dependencies:
|
|
77
102
|
version: 4.4.6
|
78
103
|
type: :development
|
79
104
|
prerelease: false
|
80
|
-
version_requirements:
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 4.4.6
|
81
111
|
- !ruby/object:Gem::Dependency
|
82
112
|
name: rcov
|
83
|
-
requirement:
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
84
114
|
none: false
|
85
115
|
requirements:
|
86
116
|
- - ~>
|
@@ -88,7 +118,12 @@ dependencies:
|
|
88
118
|
version: 0.9.11
|
89
119
|
type: :development
|
90
120
|
prerelease: false
|
91
|
-
version_requirements:
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ~>
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 0.9.11
|
92
127
|
description: Integrate Sequel with Rails 3
|
93
128
|
email:
|
94
129
|
- brasten@gmail.com
|
@@ -130,6 +165,7 @@ files:
|
|
130
165
|
- lib/sequel-rails/setup.rb
|
131
166
|
- lib/sequel-rails/storage.rb
|
132
167
|
- lib/sequel-rails/version.rb
|
168
|
+
- lib/sequel/plugins/rails_extensions.rb
|
133
169
|
- spec/rcov.opts
|
134
170
|
- spec/spec.opts
|
135
171
|
- spec/spec_helper.rb
|
@@ -155,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
191
|
version: '0'
|
156
192
|
segments:
|
157
193
|
- 0
|
158
|
-
hash:
|
194
|
+
hash: -3364849286179449129
|
159
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
196
|
none: false
|
161
197
|
requirements:
|
@@ -164,10 +200,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
200
|
version: '0'
|
165
201
|
segments:
|
166
202
|
- 0
|
167
|
-
hash:
|
203
|
+
hash: -3364849286179449129
|
168
204
|
requirements: []
|
169
205
|
rubyforge_project:
|
170
|
-
rubygems_version: 1.8.
|
206
|
+
rubygems_version: 1.8.24
|
171
207
|
signing_key:
|
172
208
|
specification_version: 3
|
173
209
|
summary: Use Sequel with Rails 3
|