pigeons 0.0.1pre2 → 0.0.1pre3
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/lib/pigeons/version.rb +1 -1
- data/tasks/pigeons.rake +14 -3
- metadata +2 -2
data/lib/pigeons/version.rb
CHANGED
data/tasks/pigeons.rake
CHANGED
@@ -18,8 +18,13 @@ namespace :pigeons do
|
|
18
18
|
p [ 'Pigeons::', 'Rake::Pigeons::Check', 'Completed' ]
|
19
19
|
end
|
20
20
|
|
21
|
+
# Arguments
|
22
|
+
# days:: Number of days to run simulation (default: 15)
|
23
|
+
# debug:: Should we print extensive debug information?
|
24
|
+
# true_send:: If 'yes' will truly deliver letters, otherwise don't send letters. Alt: set send = <action_name> and only that letter will be sent
|
25
|
+
# force:: Force simulation to run in production environment
|
21
26
|
desc "Run a simulation by day of Pigeon letters to be sent."
|
22
|
-
task :flight_test, [ :days, :debug, :force ] => :environment do |t, args|
|
27
|
+
task :flight_test, [ :days, :debug, :true_send, :force ] => :environment do |t, args|
|
23
28
|
unless Rails.env.staging? || Rails.env.development? || Rails.env.test? # Note, due to mocks, etc. this is not considered safe to run on any environment besides develpoment and staging
|
24
29
|
unless args[:force].blank?
|
25
30
|
puts "\n\e[0;31m ######################################################################"
|
@@ -33,13 +38,14 @@ namespace :pigeons do
|
|
33
38
|
proceed = STDIN.gets[0..0] rescue nil
|
34
39
|
exit unless proceed == 'y' || proceed == 'Y'
|
35
40
|
else
|
36
|
-
raise "Refusing to run Flight Test on anything but Development and Staging (try rake pigeons:flight_test[days,debug,*force])"
|
41
|
+
raise "Refusing to run Flight Test on anything but Development and Staging (try rake pigeons:flight_test[days,debug,*force,send])"
|
37
42
|
end
|
38
43
|
end
|
39
44
|
|
40
45
|
p [ 'Pigeons::', 'Rake::Pigeons::FlightTest', 'Initiating', args ]
|
41
46
|
days = args[:days] ? args[:days].to_i : 15 # Default to 15 days?
|
42
47
|
debug = args[:debug] || false
|
48
|
+
true_send = args[:true_send]
|
43
49
|
|
44
50
|
# Stub both Time.now and Time.current
|
45
51
|
reality = Time.now
|
@@ -51,7 +57,12 @@ namespace :pigeons do
|
|
51
57
|
# TODO: I'd like to be able to do this without degrading the environment with stubs, but that's probably not going to happen
|
52
58
|
time_class = class << ::Time; self; end
|
53
59
|
pigeon_class = class << ::PigeonMailer; self; end
|
54
|
-
|
60
|
+
|
61
|
+
# Allow sending of letters during simulation
|
62
|
+
|
63
|
+
unless %w(true t yes y 1).include?(true_send)
|
64
|
+
PigeonMailer.action_methods.each { |mailer_action| pigeon_class.send(:define_method, mailer_action) { |*args| return true } unless mailer_action == true_send || ActionMailer::Base.action_methods.include?(mailer_action) || mailer_action =~ /.*[_]callbacks[=?]?$/ } # action_methods shouldn't return mailer internals, but it does, so let's skip what's defined in ActionMailer::Base
|
65
|
+
end
|
55
66
|
|
56
67
|
PigeonLetter.transaction do
|
57
68
|
begin
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pigeons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1pre3
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|