yaml_conditions 0.0.0.2 → 0.0.0.3

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