summaryrefslogtreecommitdiff
path: root/vendor/certificate_authority/lib/certificate_authority/core_extensions.rb
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2016-06-21 15:08:54 -0700
committerelijah <elijah@riseup.net>2016-06-21 15:08:54 -0700
commit7258edade9422fdfba1311be779d2ba40d2d042c (patch)
treeac7e0a5589865fd56035cca0731d9df31fe2b9bd /vendor/certificate_authority/lib/certificate_authority/core_extensions.rb
parent470ddd6f461d5659b746724864f16aaf206532e2 (diff)
remove ActiveModel and ActiveSupport dependency (yeah!)
Diffstat (limited to 'vendor/certificate_authority/lib/certificate_authority/core_extensions.rb')
-rw-r--r--vendor/certificate_authority/lib/certificate_authority/core_extensions.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/certificate_authority/lib/certificate_authority/core_extensions.rb b/vendor/certificate_authority/lib/certificate_authority/core_extensions.rb
new file mode 100644
index 0000000..0508f9a
--- /dev/null
+++ b/vendor/certificate_authority/lib/certificate_authority/core_extensions.rb
@@ -0,0 +1,46 @@
+#
+# ActiveSupport has these modifications. Now that we don't use ActiveSupport,
+# these are added here as a kindness.
+#
+
+require 'date'
+
+unless nil.respond_to?(:blank?)
+ class NilClass
+ def blank?
+ true
+ end
+ end
+end
+
+unless String.respond_to?(:blank?)
+ class String
+ def blank?
+ self.empty?
+ end
+ end
+end
+
+class Date
+
+ def today
+ t = Time.now.utc
+ Date.new(t.year, t.month, t.day)
+ end
+
+ def utc
+ self.to_datetime.to_time.utc
+ end
+
+ unless Date.respond_to?(:advance)
+ def advance(options)
+ options = options.dup
+ d = self
+ d = d >> options.delete(:years) * 12 if options[:years]
+ d = d >> options.delete(:months) if options[:months]
+ d = d + options.delete(:weeks) * 7 if options[:weeks]
+ d = d + options.delete(:days) if options[:days]
+ d
+ end
+ end
+end