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 CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- talentbox-sequel-rails (0.3.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.3)
13
- actionpack (= 3.2.3)
12
+ actionmailer (3.2.6)
13
+ actionpack (= 3.2.6)
14
14
  mail (~> 2.4.4)
15
- actionpack (3.2.3)
16
- activemodel (= 3.2.3)
17
- activesupport (= 3.2.3)
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.2)
25
- activemodel (3.2.3)
26
- activesupport (= 3.2.3)
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.3)
29
- activemodel (= 3.2.3)
30
- activesupport (= 3.2.3)
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.3)
34
- activemodel (= 3.2.3)
35
- activesupport (= 3.2.3)
36
- activesupport (3.2.3)
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.3)
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.18)
54
- multi_json (1.3.5)
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.3)
64
- actionmailer (= 3.2.3)
65
- actionpack (= 3.2.3)
66
- activerecord (= 3.2.3)
67
- activeresource (= 3.2.3)
68
- activesupport (= 3.2.3)
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.3)
71
- railties (3.2.3)
72
- actionpack (= 3.2.3)
73
- activesupport (= 3.2.3)
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 (~> 0.14.6)
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.34.1)
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.14.6)
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
 
@@ -38,7 +38,7 @@ module Sequel
38
38
  end
39
39
 
40
40
  def self.find(klass, params=nil)
41
- "#{klass}[#{params}]"
41
+ "#{klass}.find!(#{params})"
42
42
  end
43
43
 
44
44
  def self.build(klass, params=nil)
@@ -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
@@ -12,8 +12,8 @@ require 'active_model/railtie'
12
12
  require 'action_controller/railtie'
13
13
 
14
14
  require 'sequel-rails/setup'
15
- require "sequel-rails/railties/log_subscriber"
16
- require "sequel-rails/railties/i18n_support"
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 "sequel.log_runtime" do |app|
52
+ initializer 'sequel.log_runtime' do |app|
47
53
  setup_controller_runtime(app)
48
54
  end
49
55
 
50
- initializer "sequel.connect" do |app|
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 "sequel-rails/railties/controller_runtime"
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(db.dump_schema_migration)
9
+ file.write db.dump_schema_migration(same_db: true)
10
10
  end
11
11
  Rake::Task["db:schema:dump"].reenable
12
12
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Sequel
3
- VERSION = "0.3.3"
3
+ VERSION = "0.3.4"
4
4
  end
5
5
  end
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.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-06-18 00:00:00.000000000 Z
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: &2162139960 !ruby/object:Gem::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: *2162139960
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: &2162137040 !ruby/object:Gem::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: *2162137040
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: &2162133700 !ruby/object:Gem::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: *2162133700
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: &2162129900 !ruby/object:Gem::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: *2162129900
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: &2162126940 !ruby/object:Gem::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: *2162126940
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: &2162122940 !ruby/object:Gem::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: *2162122940
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: &2162120160 !ruby/object:Gem::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: *2162120160
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: 1061361385848004113
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: 1061361385848004113
203
+ hash: -3364849286179449129
168
204
  requirements: []
169
205
  rubyforge_project:
170
- rubygems_version: 1.8.15
206
+ rubygems_version: 1.8.24
171
207
  signing_key:
172
208
  specification_version: 3
173
209
  summary: Use Sequel with Rails 3