hebrew_date 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f1b49cae0024483d43817d6944b3f4835e1553c
4
- data.tar.gz: 058d5d6b13a409ba2bff70facff46fe744ded362
3
+ metadata.gz: caa2551e03b3046a8465f3f4c089aabddaa0fb60
4
+ data.tar.gz: c17044991f93ea53302c17aa9c36c920376c9411
5
5
  SHA512:
6
- metadata.gz: d9f561aaf0bca69366b5381abdd824f832d005635a9173f68291b50abfd1559a99b9762a669cc4bddedad7a45ced2a0d9e5a7800f7ce4a8e377e4e6363e1ca73
7
- data.tar.gz: fd4d4a94bff6cfadfbc265a9c4c68c8d9116f7317eb32711e381a486eec18bfe0a6f8713815c16b168eb4b20c664b0d1b14b8bf0e4e5e7a5c31f56edc0d84e09
6
+ metadata.gz: e17754d8f17a67e26ff377300614df40c5947ffec06c11541272180675cd67314eb3d91f35abca93b0a0e93c6f16ffd9de671648f526d71997624b92e0341d26
7
+ data.tar.gz: d1b9fb3ecc905124d0b70d839223fbe374f93d0d37b1effe8017ab8119e4a6a261fdaf3a66abe1c4cb5c81747263ad1391b47c45538b9c1beefecc94f2546979
data/hebrew_date.gemspec CHANGED
@@ -1,8 +1,8 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'hebrew_date'
3
3
  s.require_paths = %w(. lib)
4
- s.version = '1.0.8'
5
- s.date = '2014-01-27'
4
+ s.version = '1.0.9'
5
+ s.date = '2014-01-31'
6
6
  s.summary = 'Hebrew/Jewish dates, times, and holidays.'
7
7
  s.description = <<-EOF
8
8
  hebrew_date is a library designed to provide information about the Jewish
data/lib/hebrew_date.rb CHANGED
@@ -308,14 +308,29 @@ class HebrewDate < Delegator
308
308
  end
309
309
 
310
310
  # Get the name of the given Hebrew month.
311
- def self.hebrew_month_to_s(month)
312
- name = HEBREW_MONTH_NAMES[month - 1]
313
- if name == 'Teves' && !self.ashkenaz
314
- name = 'Tevet'
311
+ # @param month [Integer]
312
+ # @param year [Integer]
313
+ # @return [String]
314
+ def self.hebrew_month_to_s(month, year=nil)
315
+ year ||= HebrewDate.new.hebrew_year
316
+ if hebrew_leap_year?(year) && month == 12
317
+ 'Adar I'
318
+ else
319
+ name = HEBREW_MONTH_NAMES[month - 1]
320
+ if name == 'Teves' && !self.ashkenaz
321
+ name = 'Tevet'
322
+ end
323
+ name
315
324
  end
316
- name
317
325
  end
318
326
 
327
+ # @return [Boolean]
328
+ def shabbos?
329
+ self.saturday?
330
+ end
331
+
332
+ alias_method :shabbat?, :shabbos?
333
+
319
334
  # Extend the Date strftime method by replacing Hebrew fields. You can denote
320
335
  # Hebrew fields by using the * flag. Also note that ::replace_saturday will
321
336
  # replace the %A, %^A, %a and %^a flags with Shabbat/Shabbos.
@@ -0,0 +1,84 @@
1
+ module HebrewDateSupport
2
+ module PrintMethods
3
+ module ClassMethods
4
+ # Get the name of the given Hebrew month.
5
+ # @param month [Integer] the Hebrew month.
6
+ # @return [String]
7
+ def hebrew_month_to_s(month)
8
+ if hebrew_leap_year?(month) && month == 12
9
+ 'Adar I'
10
+ else
11
+ name = HEBREW_MONTH_NAMES[month - 1]
12
+ if name == 'Teves' && !self.ashkenaz
13
+ name = 'Tevet'
14
+ end
15
+ name
16
+ end
17
+ end
18
+
19
+ end
20
+
21
+ alias_method :shabbos?, :saturday?
22
+ alias_method :shabbat?, :saturday?
23
+
24
+ # Extend the Date strftime method by replacing Hebrew fields. You can denote
25
+ # Hebrew fields by using the * flag. Also note that ::replace_saturday will
26
+ # replace the %A, %^A, %a and %^a flags with Shabbat/Shabbos.
27
+ # Supported flags are:
28
+ # * *Y - Hebrew year
29
+ # * *m - Hebrew month, zero-padded
30
+ # * *_m - Hebrew month, blank-padded
31
+ # * *-m - Hebrew month, no-padded
32
+ # * *B - Hebrew month, full name
33
+ # * *^B - Hebrew month, full name uppercase
34
+ # * *b - Hebrew month, 3 letters
35
+ # * *^b - Hebrew month, 3 letters uppercase
36
+ # * *h - same as %*b
37
+ # * *d - Hebrew day of month, zero-padded
38
+ # * *-d - Hebrew day of month, no-padded
39
+ # * *e - Hebrew day of month, blank-padded
40
+ # @param format [String]
41
+ # @return [String]
42
+ def strftime(format)
43
+ format = format.gsub('*Y', @hebrew_year.to_s)
44
+ .gsub('*m', @hebrew_month.to_s.rjust(2, '0'))
45
+ .gsub('*_m', @hebrew_month.to_s.rjust(2, ' '))
46
+ .gsub('*-m', @hebrew_month.to_s)
47
+ .gsub('*B', hebrew_month_to_s)
48
+ .gsub('*^B', hebrew_month_to_s.upcase)
49
+ .gsub('*b', hebrew_month_to_s[0, 3])
50
+ .gsub('*^b', hebrew_month_to_s[0, 3].upcase)
51
+ .gsub('*h', hebrew_month_to_s[0, 3])
52
+ .gsub('*d', @hebrew_date.to_s.rjust(2, '0'))
53
+ .gsub('*-d', @hebrew_date.to_s)
54
+ .gsub('*e', @hebrew_date.to_s.rjust(2, ' '))
55
+ if HebrewDate.replace_saturday && @hebrew_date.day == 7
56
+ shab_name = HebrewDate.ashkenaz ? 'Shabbos' : 'Shabbat'
57
+ format = format.gsub('%A', shab_name)
58
+ .gsub('%^A', shab_name.upcase)
59
+ .gsub('%a', shab_name[0..2])
60
+ .gsub('%^a', shab_name[0..2].upcase)
61
+ end
62
+ super(format)
63
+ end
64
+
65
+
66
+ # @private
67
+ HEBREW_MONTH_NAMES = ['Nissan', 'Iyar', 'Sivan', 'Tammuz', 'Av', 'Elul',
68
+ 'Tishrei', 'Cheshvan', 'Kislev', 'Teves', 'Shvat',
69
+ 'Adar', 'Adar II']
70
+
71
+ # @private
72
+ def inspect
73
+ strftime('*Y-*-m-*-d (%Y-%-m-%-d)')
74
+ end
75
+
76
+ # Get the name of the current Hebrew month.
77
+ # @return [String]
78
+ def hebrew_month_to_s
79
+ self.hebrew_month_to_s(@hebrew_month)
80
+ end
81
+
82
+
83
+ end
84
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hebrew_date
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-27 00:00:00.000000000 Z
11
+ date: 2014-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yard
@@ -75,6 +75,7 @@ files:
75
75
  - lib/hebrew_date.rb
76
76
  - lib/support/holidays.rb
77
77
  - lib/support/parshiot.rb
78
+ - lib/support/printing.rb
78
79
  - spec/hebrew_date_spec.rb
79
80
  homepage: https://github.com/dorner/hebrew_date
80
81
  licenses: