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 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