talentbox-sequel-rails 0.3.3 → 0.3.4
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/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
|