yaml_conditions 0.0.0.2 → 0.0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -21,11 +21,10 @@ spec/cases/orms/active_record/version_2_spec.rb
21
21
  spec/connections/mysql/connection.rb
22
22
  spec/connections/postgresql/connection.rb
23
23
  spec/datamapper_spec_helper.rb
24
- spec/models/delayed/job.rb
25
- spec/models/delayed/performable_method.rb
26
24
  spec/models/job.rb
27
25
  spec/models/period.rb
28
26
  spec/models/priority.rb
27
+ spec/models/support_classes.rb
29
28
  spec/models/user.rb
30
29
  spec/models/user_data.rb
31
30
  spec/schema.rb
data/README.rdoc CHANGED
@@ -39,12 +39,21 @@ Just to give you a little background, I build this gem/plugin just to filter my
39
39
 
40
40
  So, I added some custom magic for filtering Delayed::Job objects, like this:
41
41
 
42
- Delayed::Job.first(:yaml_conditions => { :class => NotificationMailer, :handler => { :method => :new_registration, :args => [ User.find(1), '*', '*' ] } })
42
+ Delayed::Job.first(:yaml_conditions => { :handler => { :class => Delayed::PerformableMethod, :method => :new_registration, :args => [ User.find(1), '*', '*' ] } })
43
43
 
44
44
  Delayed::Job.first(:yaml_conditions => { :handler => { :args => [ { :user => { :last_name => 'Marcelo', :address => { :city => 'Rio Negro' } } } ] } })
45
45
 
46
46
  As you probably realize, '*' is interpreted as a wildcard.
47
47
 
48
+ If :handler is not provided as top level key of the hash, then the hash will be wrapped inside a handler key. For example, the following queries return the same results:
49
+
50
+ Delayed::Job.last(:yaml_conditions => { :handler => { :class => SimpleJob, :method => :new_registration }})
51
+ Delayed::Job.last(:yaml_conditions => { :class => SimpleJob, :method => :new_registration })
52
+
53
+ This wrapping magic it's only available for Delayed::Job for now.
54
+
55
+ BTW: You can check more details about the API by looking on the specs.
56
+
48
57
  == Installation
49
58
 
50
59
  $ ruby script/plugin install git://github.com/marklazz/yaml_conditions.git
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'echoe'
3
3
 
4
4
  # PACKAGING ============================================================
5
5
 
6
- Echoe.new('yaml_conditions', '0.0.0.2') do |p|
6
+ Echoe.new('yaml_conditions', '0.0.0.3') do |p|
7
7
  p.description = ''
8
8
  p.url = 'http://github.com/marklazz/yaml_conditions'
9
9
  p.author = 'Marcelo Giorgi'
data/TESTS.rdoc CHANGED
@@ -2,7 +2,7 @@ Before running the tests, you must create a user called yaml_conditions (with no
2
2
 
3
3
  Then to run the suite you should be able to do:
4
4
 
5
- rake spec (which will run both suites for mysql and postgres)
5
+ rake (which will run both suites for mysql and postgres)
6
6
 
7
7
  Or run them individually:
8
8
 
@@ -16,6 +16,11 @@ module Orms
16
16
  AR_STRING_FORMAT = /^AR\:([A-Z][\w\:]+)\:(\d+)$/
17
17
  LOAD_AR_STRING_FORMAT = /^LOAD;([A-Z][\w\:]+);(\d+)$/
18
18
 
19
+ def __prepare_yaml_conditions__(yaml_conditions)
20
+ return yaml_conditions if yaml_conditions.has_key?(:handler) || yaml_conditions.has_key?('handler')
21
+ { :handler => yaml_conditions }
22
+ end
23
+
19
24
  def __delayed_job_ar_to_string_(obj)
20
25
  Delayed::PerformableMethod.new(obj, :to_s, []).object
21
26
  end
@@ -19,14 +19,14 @@ module Orms
19
19
  adapted_args = args << refactor_options(options)
20
20
  selector = adapted_args.shift
21
21
  result = find_without_yaml_conditions(:all, *adapted_args).select do |o|
22
- __check_yaml_nested_hierarchy__(o, yaml_conditions)
22
+ __check_yaml_nested_hierarchy__(o, __prepare_yaml_conditions__(yaml_conditions))
23
23
  end
24
24
  selector == :all ? result : result.send(selector.to_sym)
25
25
  end
26
26
 
27
27
  def refactor_options(options)
28
28
  sql_conditions = sanitize_sql(options.delete(:conditions))
29
- yaml_conditions = options.delete(:yaml_conditions)
29
+ yaml_conditions = __prepare_yaml_conditions__(options.delete(:yaml_conditions))
30
30
  yaml_conditions.symbolize_keys! if yaml_conditions.is_a?(Hash)
31
31
  options.merge!({ :conditions => __join_yaml_conditions__(sql_conditions, __build_yaml_conditions__(yaml_conditions)) })
32
32
  end
@@ -3,7 +3,7 @@ module Yaml
3
3
  extend self
4
4
  ParseObjectFromYaml = /\!ruby\/\w+\:([^\s]+)/
5
5
 
6
- VERSION = '0.0.1'
6
+ VERSION = '0.0.0.3'
7
7
  end
8
8
 
9
9
  class NotSerializedField
@@ -15,6 +15,10 @@ module Yaml
15
15
  end
16
16
  end
17
17
 
18
+ def __prepare_yaml_conditions__(yaml_conditions)
19
+ yaml_conditions
20
+ end
21
+
18
22
  def __serialize__to_yaml_value__(v)
19
23
  return '' if v.nil?
20
24
  v_s = v.to_s
@@ -2,8 +2,14 @@ require File.join( File.dirname(__FILE__), '..', '..', '..', 'ar_spec_helper')
2
2
  require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'job')
3
3
  require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'user')
4
4
  require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'priority')
5
- require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'delayed', 'job')
6
- require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'delayed', 'performable_method')
5
+ require File.join( File.dirname(__FILE__), '..', '..', '..', 'models', 'support_classes')
6
+ # require delayed_job if available
7
+ begin
8
+ require "delayed_job"
9
+ rescue LoadError
10
+ # not installed
11
+ end
12
+
7
13
 
8
14
  describe ::Orms::ActiveRecordVersion2 do
9
15
 
@@ -13,165 +19,282 @@ describe ::Orms::ActiveRecordVersion2 do
13
19
  end
14
20
 
15
21
  describe 'Delayed::Job#find' do
22
+ context "Used with PerformableMethod's jobs" do
16
23
 
17
- class NotificationMailer; end # define this for test purposes
24
+ before do
25
+ user = User.create(:name => 'marcelo')
26
+ @job = Delayed::Job.enqueue Delayed::PerformableMethod.new(NotificationMailer, :deliver_admin_login, [ User.find_by_name('marcelo'), nil ] )
27
+ end
18
28
 
19
- before do
20
- user = User.create(:name => 'marcelo')
21
- @performable_method = Delayed::PerformableMethod.new(NotificationMailer, :deliver_admin_login, [ user, nil ])
22
- @job = Delayed::Job.create(:handler => "--- !ruby/struct:Delayed::PerformableMethod \nobject: CLASS:NotificationMailer\nmethod: :deliver_admin_login\nargs: \n- AR:User:#{user.id}\n- \n")
23
- end
29
+ subject { Delayed::Job.first(:yaml_conditions => @yaml_conditions) }
24
30
 
25
- subject { Delayed::Job.first(:yaml_conditions => @yaml_conditions) }
31
+ context 'test filter by args' do
26
32
 
27
- context 'test filter by args' do
33
+ before do
34
+ @yaml_conditions = { :handler => { :class => Delayed::PerformableMethod, :args => [ User.find_by_name('marcelo'), nil ] } }
35
+ end
28
36
 
29
- before do
30
- @yaml_conditions = { :handler => { :args => [ User.find_by_name('marcelo'), nil ] } }
31
- end
37
+ it { should == @job }
38
+ end
32
39
 
33
- #it { should == @job }
34
- end
40
+ context 'test filtering by object and args' do
41
+ before do
42
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('marcelo'), nil ] } }
43
+ end
35
44
 
36
- context 'test filtering by object and args' do
37
- before do
38
- @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('marcelo'), nil ] } }
39
- end
45
+ it { should == @job }
46
+ end
40
47
 
41
- #it { should == @job }
42
- end
48
+ context 'test filtering by object, method and args' do
49
+ before do
50
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login, :args => [ User.find_by_name('marcelo'), nil ] } }
51
+ end
43
52
 
44
- context 'test filtering by object, method and args' do
45
- before do
46
- @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login, :args => [ User.find_by_name('marcelo'), nil ] } }
47
- end
53
+ it { should == @job }
54
+ end
48
55
 
49
- #it { should == @job }
50
- end
56
+ context 'test filtering by object, method and wrong args' do
57
+ before do
58
+ user2 = User.create(:name => 'andres')
59
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login, :args => [ User.find_by_name('andres'), nil ] } }
60
+ end
51
61
 
52
- context 'test filtering by object, method and wrong args' do
53
- before do
54
- user2 = User.create(:name => 'andres')
55
- @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login, :args => [ User.find_by_name('andres'), nil ] } }
56
- end
62
+ it { should be_nil }
63
+ end
57
64
 
58
- #it { should be_nil }
59
- end
65
+ context 'test filtering by object, args and wrong method' do
66
+ before do
67
+ user2 = User.create(:name => 'andres')
68
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login2, :args => [ User.find_by_name('andres'), nil ] } }
69
+ end
60
70
 
61
- context 'test filtering by object, args and wrong method' do
62
- before do
63
- user2 = User.create(:name => 'andres')
64
- @yaml_conditions = { :handler => { :object => NotificationMailer, :method => :deliver_admin_login2, :args => [ User.find_by_name('andres'), nil ] } }
65
- end
71
+ it { should be_nil }
72
+ end
66
73
 
67
- #it { should be_nil }
68
- end
74
+ context 'test filtering by method, args and wrong object' do
75
+ before do
76
+ user2 = User.create(:name => 'andres')
77
+ @yaml_conditions = { :handler => { :object => Object, :method => :deliver_admin_login2, :args => [ User.find_by_name('andres'), nil ] } }
78
+ end
69
79
 
70
- context 'test filtering by method, args and wrong object' do
71
- before do
72
- user2 = User.create(:name => 'andres')
73
- @yaml_conditions = { :handler => { :object => Object, :method => :deliver_admin_login2, :args => [ User.find_by_name('andres'), nil ] } }
74
- end
80
+ it { should be_nil }
81
+ end
75
82
 
76
- #it { should be_nil }
77
- end
83
+ context 'test filtering by object and args' do
84
+ before do
85
+ user2 = User.create(:name => 'andres')
86
+ @job = Delayed::Job.create(:handler => "--- !ruby/struct:Delayed::PerformableMethod \nobject: CLASS:NotificationMailer\nmethod: :deliver_admin_login\nargs: \n- AR:User:#{user2.id}\n- Pablo\n")
87
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('andres'), 'Pablo' ] } }
88
+ end
78
89
 
79
- context 'test filtering by object and args' do
80
- before do
81
- user2 = User.create(:name => 'andres')
82
- @job = Delayed::Job.create(:handler => "--- !ruby/struct:Delayed::PerformableMethod \nobject: CLASS:NotificationMailer\nmethod: :deliver_admin_login\nargs: \n- AR:User:#{user2.id}\n- Pablo\n")
83
- @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('andres'), 'Pablo' ] } }
84
- end
90
+ it { should == @job }
91
+ end
85
92
 
86
- #it { should == @job }
87
- end
93
+ context 'test filter by args using wildcard' do
88
94
 
89
- context 'test filter by args using wildcard' do
95
+ before do
96
+ @yaml_conditions = { :handler => { :args => [ User.find_by_name('marcelo'), '*' ] } }
97
+ end
90
98
 
91
- before do
92
- @yaml_conditions = { :handler => { :args => [ User.find_by_name('marcelo'), '*' ] } }
93
- end
99
+ it { should == @job }
100
+ end
94
101
 
95
- #it { should == @job }
96
- end
102
+ context 'test filter by using wildcard on args and specifying object' do
97
103
 
98
- context 'test filter by using wildcard on args and specifying object' do
104
+ before do
105
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('marcelo'), '*' ] } }
106
+ end
99
107
 
100
- before do
101
- @yaml_conditions = { :handler => { :object => NotificationMailer, :args => [ User.find_by_name('marcelo'), '*' ] } }
102
- end
108
+ it { should == @job }
109
+ end
103
110
 
104
- #it { should == @job }
105
- end
111
+ context 'test filter by using wildcard on args and method, also specifying object' do
106
112
 
107
- context 'test filter by using wildcard on args and method, also specifying object' do
113
+ before do
114
+ @yaml_conditions = { :handler => { :object => NotificationMailer, :method => '*', :args => [ User.find_by_name('marcelo'), '*' ] } }
115
+ end
108
116
 
109
- before do
110
- @yaml_conditions = { :handler => { :object => NotificationMailer, :method => '*', :args => [ User.find_by_name('marcelo'), '*' ] } }
111
- end
117
+ it { should == @job }
118
+ end
112
119
 
113
- #it { should == @job }
114
- end
120
+ context 'test filter by using wildcard on object, method and args also specified' do
115
121
 
116
- context 'test filter by using wildcard on object, method and args also specified' do
122
+ before do
123
+ @yaml_conditions = { :handler => { :object => '*', :method => :deliver_admin_login, :args => [ User.find_by_name('marcelo'), nil ] } }
124
+ end
117
125
 
118
- before do
119
- @yaml_conditions = { :handler => { :object => '*', :method => :deliver_admin_login, :args => [ User.find_by_name('marcelo'), nil ] } }
120
- end
126
+ it { should == @job }
127
+ end
121
128
 
122
- #it { should == @job }
123
- end
129
+ context 'test filter by using wildcard on object, method and args also specified (withuod handler wrapper)' do
130
+
131
+ before do
132
+ @yaml_conditions = { :object => '*', :method => :deliver_admin_login, :args => [ User.find_by_name('marcelo'), nil ] }
133
+ end
134
+
135
+ it { should == @job }
136
+ end
137
+
138
+ context "job with nested hash: { :user => { :first_name => 'Marcelo', :last_name => 'Giorgi', :address => { :city => 'Montevideo', :country => 'Uruguay' } }}" do
139
+ before do
140
+ @job_with_nested = Delayed::Job.create(:handler => "--- !ruby/struct:Delayed::PerformableMethod \nobject: CLASS:NotificationMailer\nmethod: :deliver_test_email\nargs: \n- :user: \n :first_name: Marcelo\n :last_name: Giorgi\n :address: \n :city: Montevideo\n :country: Uruguay\n")
141
+ end
142
+
143
+ context 'query first_name hash value of the delayed::job argument' do
144
+ context 'with proper value' do
145
+ before do
146
+ @yaml_conditions = { :handler => { :args => [ { :user => { :first_name => 'Marcelo' }} ] } }
147
+ end
148
+ it { should == @job_with_nested }
149
+ end
150
+
151
+ context 'with wrong value' do
152
+ before do
153
+ @yaml_conditions = { :handler => { :args => [ { :user => { :first_name => 'Pablo' }} ] } }
154
+ end
155
+ it { should be_nil }
156
+ end
157
+
158
+ context 'with wrong hierarchy' do
159
+ before do
160
+ @yaml_conditions = { :handler => { :args => [ { :first_name => 'Marcelo' } ] } }
161
+ end
162
+ it { should be_nil }
163
+ end
164
+ end
124
165
 
125
- context "job with nested hash: { :user => { :first_name => 'Marcelo', :last_name => 'Giorgi', :address => { :city => 'Montevideo', :country => 'Uruguay' } }}" do
126
- before do
127
- @job_with_nested = Delayed::Job.create(:handler => "--- !ruby/struct:Delayed::PerformableMethod \nobject: CLASS:NotificationMailer\nmethod: :deliver_test_email\nargs: \n- :user: \n :first_name: Marcelo\n :last_name: Giorgi\n :address: \n :city: Montevideo\n :country: Uruguay\n")
166
+ context 'query last_name and city vlues of the delayed::job argument' do
167
+ context 'with proper values' do
168
+ before do
169
+ @yaml_conditions = { :handler => { :args => [ { :user => { :last_name => 'Giorgi', :address => { :city => 'Montevideo' } } } ] } }
170
+ end
171
+ it { should == @job_with_nested }
172
+ end
173
+
174
+ context 'with wrong value' do
175
+ before do
176
+ @yaml_conditions = { :handler => { :args => [ { :user => { :last_name => 'Marcelo', :address => { :city => 'Rio Negro' } } } ] } }
177
+ end
178
+ it { should be_nil }
179
+ end
180
+
181
+ context 'with wrong hierarchy' do
182
+ before do
183
+ @yaml_conditions = { :handler => { :args => [ { :city => 'Montevideo' } ] } }
184
+ end
185
+ it { should be_nil }
186
+ end
187
+ end
188
+
189
+ context 'query the same as before but wihtout handler key' do
190
+ context 'with proper values' do
191
+ before do
192
+ @yaml_conditions = { :args => [ { :user => { :last_name => 'Giorgi', :address => { :city => 'Montevideo' } } } ] }
193
+ end
194
+ it { should == @job_with_nested }
195
+ end
196
+
197
+ context 'with wrong value' do
198
+ before do
199
+ @yaml_conditions = { :args => [ { :user => { :last_name => 'Marcelo', :address => { :city => 'Rio Negro' } } } ] }
200
+ end
201
+ it { should be_nil }
202
+ end
203
+
204
+ context 'with wrong hierarchy' do
205
+ before do
206
+ @yaml_conditions = { :args => [ { :city => 'Montevideo' } ] }
207
+ end
208
+ it { should be_nil }
209
+ end
210
+ end
211
+ end
128
212
  end
213
+ end
214
+
215
+ context 'Used with a custom struct' do
216
+
217
+ before do
218
+ user = User.create(:name => 'marcelo')
219
+ simple_job = SimpleJob.new
220
+ simple_job.name = 'job_name'
221
+ simple_job.kind = 'my_kind'
222
+ @job = Delayed::Job.enqueue simple_job
223
+ end
224
+
225
+ subject { Delayed::Job.first(:yaml_conditions => @yaml_conditions) }
226
+
227
+ context 'filter by correct class' do
228
+
229
+ before do
230
+ @yaml_conditions = { :handler => { :class => SimpleJob } }
231
+ end
232
+
233
+ it { should == @job }
234
+ end
235
+
236
+ context 'filter by correct class (Without handler wrapper)' do
129
237
 
130
- context 'query first_name hash value of the delayed::job argument' do
131
- context 'with proper value' do
132
238
  before do
133
- @yaml_conditions = { :handler => { :args => [ { :user => { :first_name => 'Marcelo' }} ] } }
239
+ @yaml_conditions = { :class => SimpleJob }
134
240
  end
135
- #it { should == @job_with_nested }
241
+
242
+ it { should == @job }
136
243
  end
137
244
 
138
- context 'with wrong value' do
245
+ context 'filter by wrong class (Without handler wrapper)' do
246
+
139
247
  before do
140
- @yaml_conditions = { :handler => { :args => [ { :user => { :first_name => 'Pablo' }} ] } }
248
+ @yaml_conditions = { :class => NotificationMailer }
141
249
  end
142
- #it { should be_nil }
250
+
251
+ it { should be_nil }
143
252
  end
144
253
 
145
- context 'with wrong hierarchy' do
254
+ context 'filter by correct name' do
255
+
146
256
  before do
147
- @yaml_conditions = { :handler => { :args => [ { :first_name => 'Marcelo' } ] } }
257
+ @yaml_conditions = { :handler => { :class => SimpleJob, :name => 'job_name' } }
148
258
  end
149
- #it { should be_nil }
259
+
260
+ it { should == @job }
261
+ end
262
+
263
+ context 'filter by correct name and kind (without handler wrapper)' do
264
+
265
+ before do
266
+ @yaml_conditions = { :class => SimpleJob, :name => 'job_name', :kind => 'my_kind' }
267
+ end
268
+
269
+ it { should == @job }
150
270
  end
151
- end
152
271
 
153
- context 'query last_name and city vlues of the delayed::job argument' do
154
- context 'with proper values' do
272
+ context 'filter by wrong name but correct kind (without handler wrapper)' do
273
+
155
274
  before do
156
- @yaml_conditions = { :handler => { :args => [ { :user => { :last_name => 'Giorgi', :address => { :city => 'Montevideo' } } } ] } }
275
+ @yaml_conditions = { :class => SimpleJob, :name => 'wrong_name', :kind => 'my_kind' }
157
276
  end
158
- #it { should == @job_with_nested }
277
+
278
+ it { should be_nil }
159
279
  end
160
280
 
161
- context 'with wrong value' do
281
+ context 'filter by correct name, kind and realted_user (not serialized field)' do
282
+
162
283
  before do
163
- @yaml_conditions = { :handler => { :args => [ { :user => { :last_name => 'Marcelo', :address => { :city => 'Rio Negro' } } } ] } }
284
+ @yaml_conditions = { :class => SimpleJob, :name => 'job_name', :kind => 'my_kind', :related_user => Yaml::NotSerializedField.new(User.find_by_name('marcelo')) }
164
285
  end
165
- #it { should be_nil }
286
+
287
+ it { should == @job }
166
288
  end
167
289
 
168
- context 'with wrong hierarchy' do
290
+ context 'filter by correct name, kind and realted_user (not serialized field)' do
291
+
169
292
  before do
170
- @yaml_conditions = { :handler => { :args => [ { :city => 'Montevideo' } ] } }
293
+ User.create(:name => 'andres')
294
+ @yaml_conditions = { :class => SimpleJob, :name => 'job_name', :kind => 'my_kind', :related_user => Yaml::NotSerializedField.new(User.find_by_name('andres')) }
171
295
  end
172
- #it { should be_nil }
296
+
297
+ it { should be_nil }
173
298
  end
174
- end
175
299
  end
176
- end
177
- end
300
+ end if defined?(Delayed::Job)
@@ -139,7 +139,7 @@ describe Orms::ActiveRecordVersion2 do
139
139
  context 'there is a Job(data: #Struct{:method => :new_email, :handler => User#(email => marcelo) })' do
140
140
 
141
141
  before do
142
- with_warnings(nil) { @struct = Struct.new('MyStruct', :method, :handler, :email, :number, :some_rate) }
142
+ silence_warnings { @struct = Struct.new('MyStruct', :method, :handler, :email, :number, :some_rate) }
143
143
  @user = User.create(:name => 'marcelo', :address => 'address1')
144
144
  struct_instance = @struct.new(:new_email, @user.to_yaml, 'foo@gmail.com', 4, 0.005)
145
145
  @job = Job.create(:name => 'job1', :data => struct_instance)
@@ -0,0 +1,12 @@
1
+ class NotificationMailer
2
+ def self.deliver_admin_login; end
3
+ end # define this for test purposes
4
+
5
+ class SimpleJob
6
+ attr_accessor :name, :kind
7
+ def perform; end
8
+
9
+ def related_user
10
+ User.first
11
+ end
12
+ end
data/spec/spec_helper.rb CHANGED
@@ -5,9 +5,20 @@ else
5
5
  gem 'activesupport', [ '>= 2.3.4', '<= 2.3.10' ], :require => 'active_support'
6
6
  end
7
7
 
8
- def with_warnings(flag)
9
- old_verbose, $VERBOSE = $VERBOSE, flag
10
- yield
8
+ module Kernel
9
+ def silence_warnings
10
+ old_verbose, $VERBOSE = $VERBOSE, nil
11
+ yield
11
12
  ensure
12
13
  $VERBOSE = old_verbose
14
+ end
15
+
16
+ def without_output
17
+ orig_stdout = $stderr
18
+ # redirect stdout to /dev/null
19
+ $stderr = File.new('/dev/null', 'w')
20
+ yield
21
+ # restore stdout
22
+ $stderr = orig_stdout
23
+ end
13
24
  end
@@ -61,7 +61,7 @@ for adapter in %w( mysql postgresql )
61
61
  end
62
62
 
63
63
  namespace adapter do
64
- #task "spec_#{adapter}" => [ "rebuild_#{adapter}_databases", "spec_#{adapter}_def" ]
64
+ task "spec_#{adapter}" => [ "rebuild_#{adapter}_databases" ]
65
65
  task :spec => "spec_#{adapter}"
66
66
  end
67
67
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{yaml_conditions}
5
- s.version = "0.0.0.2"
5
+ s.version = "0.0.0.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Marcelo Giorgi"]
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.email = %q{marklazz.uy@gmail.com}
13
13
  s.executables = ["console.sh"]
14
14
  s.extra_rdoc_files = ["README.rdoc", "bin/console.sh", "lib/orms/active_record.rb", "lib/orms/active_record/version2/delayed_job.rb", "lib/orms/active_record/version_2.rb", "lib/orms/active_record/version_3.rb", "lib/orms/datamapper.rb", "lib/yaml/conditions.rb", "lib/yaml/query_builder.rb", "lib/yaml/query_builder/sql/mysql.rb", "lib/yaml/query_builder/sql/postgresql.rb", "lib/yaml_conditions.rb", "tasks/yaml_conditions.rake"]
15
- s.files = ["Manifest", "README.rdoc", "Rakefile", "TESTS.rdoc", "bin/console.sh", "init.rb", "lib/orms/active_record.rb", "lib/orms/active_record/version2/delayed_job.rb", "lib/orms/active_record/version_2.rb", "lib/orms/active_record/version_3.rb", "lib/orms/datamapper.rb", "lib/yaml/conditions.rb", "lib/yaml/query_builder.rb", "lib/yaml/query_builder/sql/mysql.rb", "lib/yaml/query_builder/sql/postgresql.rb", "lib/yaml_conditions.rb", "out.txt", "spec/ar_spec_helper.rb", "spec/cases/orms/active_record/version_2_delayed_job_spec.rb", "spec/cases/orms/active_record/version_2_spec.rb", "spec/connections/mysql/connection.rb", "spec/connections/postgresql/connection.rb", "spec/datamapper_spec_helper.rb", "spec/models/delayed/job.rb", "spec/models/delayed/performable_method.rb", "spec/models/job.rb", "spec/models/period.rb", "spec/models/priority.rb", "spec/models/user.rb", "spec/models/user_data.rb", "spec/schema.rb", "spec/spec_helper.rb", "tasks/yaml_conditions.rake", "yaml_conditions.gemspec"]
15
+ s.files = ["Manifest", "README.rdoc", "Rakefile", "TESTS.rdoc", "bin/console.sh", "init.rb", "lib/orms/active_record.rb", "lib/orms/active_record/version2/delayed_job.rb", "lib/orms/active_record/version_2.rb", "lib/orms/active_record/version_3.rb", "lib/orms/datamapper.rb", "lib/yaml/conditions.rb", "lib/yaml/query_builder.rb", "lib/yaml/query_builder/sql/mysql.rb", "lib/yaml/query_builder/sql/postgresql.rb", "lib/yaml_conditions.rb", "out.txt", "spec/ar_spec_helper.rb", "spec/cases/orms/active_record/version_2_delayed_job_spec.rb", "spec/cases/orms/active_record/version_2_spec.rb", "spec/connections/mysql/connection.rb", "spec/connections/postgresql/connection.rb", "spec/datamapper_spec_helper.rb", "spec/models/job.rb", "spec/models/period.rb", "spec/models/priority.rb", "spec/models/support_classes.rb", "spec/models/user.rb", "spec/models/user_data.rb", "spec/schema.rb", "spec/spec_helper.rb", "tasks/yaml_conditions.rake", "yaml_conditions.gemspec"]
16
16
  s.homepage = %q{http://github.com/marklazz/yaml_conditions}
17
17
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Yaml_conditions", "--main", "README.rdoc"]
18
18
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_conditions
3
3
  version: !ruby/object:Gem::Version
4
- hash: 75
4
+ hash: 73
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
9
  - 0
10
- - 2
11
- version: 0.0.0.2
10
+ - 3
11
+ version: 0.0.0.3
12
12
  platform: ruby
13
13
  authors:
14
14
  - Marcelo Giorgi
@@ -77,11 +77,10 @@ files:
77
77
  - spec/connections/mysql/connection.rb
78
78
  - spec/connections/postgresql/connection.rb
79
79
  - spec/datamapper_spec_helper.rb
80
- - spec/models/delayed/job.rb
81
- - spec/models/delayed/performable_method.rb
82
80
  - spec/models/job.rb
83
81
  - spec/models/period.rb
84
82
  - spec/models/priority.rb
83
+ - spec/models/support_classes.rb
85
84
  - spec/models/user.rb
86
85
  - spec/models/user_data.rb
87
86
  - spec/schema.rb
@@ -1,6 +0,0 @@
1
- module Delayed
2
- class Job < ActiveRecord::Base
3
- set_table_name 'delayed_jobs'
4
- end
5
- end
6
-
@@ -1,4 +0,0 @@
1
- module Delayed
2
- class PerformableMethod < Struct.new(:object, :method, :args)
3
- end
4
- end