Skip to content

Commit

Permalink
Change capitalization of OmerEvent to make documentation visible
Browse files Browse the repository at this point in the history
  • Loading branch information
mjradwin committed Sep 15, 2022
1 parent 55d4b90 commit eded748
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 24 deletions.
2 changes: 1 addition & 1 deletion hebcal.go
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ func HebrewCalendar(opts *CalOptions) ([]HEvent, error) {
}
if opts.Omer && abs >= beginOmer && abs <= endOmer {
omerDay := abs - beginOmer + 1
events = append(events, newOmerEvent(hd, omerDay))
events = append(events, NewOmerEvent(hd, omerDay))
}
/*
const hmonth = hd.getMonth();
Expand Down
24 changes: 12 additions & 12 deletions omer.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ import (
"github.com/hebcal/hebcal-go/locales"
)

type omerEvent struct {
type OmerEvent struct {
Date hdate.HDate
OmerDay int
WeekNumber int
DaysWithinWeeks int
}

func newOmerEvent(hd hdate.HDate, omerDay int) omerEvent {
func NewOmerEvent(hd hdate.HDate, omerDay int) OmerEvent {
if omerDay < 1 || omerDay > 49 {
panic("invalid omerDay")
}
Expand All @@ -40,23 +40,23 @@ func newOmerEvent(hd hdate.HDate, omerDay int) omerEvent {
if days == 0 {
days = 7
}
return omerEvent{Date: hd, OmerDay: omerDay, WeekNumber: week, DaysWithinWeeks: days}
return OmerEvent{Date: hd, OmerDay: omerDay, WeekNumber: week, DaysWithinWeeks: days}
}

func (ev omerEvent) GetDate() hdate.HDate {
func (ev OmerEvent) GetDate() hdate.HDate {
return ev.Date
}

func (ev omerEvent) Render(locale string) string {
func (ev OmerEvent) Render(locale string) string {
dayOfTheOmer, _ := locales.LookupTranslation("day of the Omer", locale)
return strconv.Itoa(ev.OmerDay) + " " + dayOfTheOmer
}

func (ev omerEvent) GetFlags() HolidayFlags {
func (ev OmerEvent) GetFlags() HolidayFlags {
return OMER_COUNT
}

func (ev omerEvent) GetEmoji() string {
func (ev OmerEvent) GetEmoji() string {
number := ev.OmerDay
var r rune
if number <= 20 {
Expand All @@ -71,11 +71,11 @@ func (ev omerEvent) GetEmoji() string {
return string(r)
}

func (ev omerEvent) Basename() string {
return ev.Render("en")
func (ev OmerEvent) Basename() string {
return "Omer"
}

func (ev omerEvent) GetWeeks() int {
func (ev OmerEvent) GetWeeks() int {
if ev.DaysWithinWeeks == 7 {
return ev.WeekNumber
} else {
Expand Down Expand Up @@ -161,7 +161,7 @@ func todayIsHe(omer int) string {
return str
}

func (ev omerEvent) TodayIs(locale string) string {
func (ev OmerEvent) TodayIs(locale string) string {
if locale == "he" {
return todayIsHe(ev.OmerDay)
}
Expand Down Expand Up @@ -214,7 +214,7 @@ var sefirotTranslit = []string{
"Malkhut",
}

func (ev omerEvent) Sefira(locale string) string {
func (ev OmerEvent) Sefira(locale string) string {
weekStr := sefirot[ev.WeekNumber]
dayWithinWeekStr := sefirot[ev.DaysWithinWeeks]
weekNum2or6 := ev.WeekNumber == 2 || ev.WeekNumber == 6
Expand Down
49 changes: 38 additions & 11 deletions omer_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package hebcal

import (
"fmt"
"testing"

"github.com/hebcal/hebcal-go/hdate"
Expand All @@ -9,37 +10,48 @@ import (

func TestSefira(t *testing.T) {
assert := assert.New(t)
omer := newOmerEvent(hdate.New(5770, hdate.Sivan, 2), 46)
omer := NewOmerEvent(hdate.New(5770, hdate.Sivan, 2), 46)
assert.Equal("Eternity within Majesty", omer.Sefira("en"))
assert.Equal("נֶּֽצַח שֶׁבְּמַּלְכוּת", omer.Sefira("he"))
assert.Equal("Netzach sheb'Malkhut", omer.Sefira("translit"))
}

func ExampleOmerEvent_Sefira() {
omer := NewOmerEvent(hdate.New(5770, hdate.Sivan, 2), 46)
fmt.Println(omer.Sefira("en"))
fmt.Println(omer.Sefira("he"))
fmt.Println(omer.Sefira("translit"))
// Output:
// Eternity within Majesty
// נֶּֽצַח שֶׁבְּמַּלְכוּת
// Netzach sheb'Malkhut
}

func TestTodayIsEn(t *testing.T) {
assert := assert.New(t)

var omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 16), 1)
var omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 16), 1)
assert.Equal("Today is 1 day of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 17), 2)
omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 17), 2)
assert.Equal("Today is 2 days of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 22), 7)
omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 22), 7)
assert.Equal("Today is 7 days, which is 1 week of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 23), 8)
omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 23), 8)
assert.Equal("Today is 8 days, which is 1 week and 1 day of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 28), 13)
omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 28), 13)
assert.Equal("Today is 13 days, which is 1 week and 6 days of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Nisan, 29), 14)
omer = NewOmerEvent(hdate.New(5770, hdate.Nisan, 29), 14)
assert.Equal("Today is 14 days, which is 2 weeks of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Iyyar, 26), 41)
omer = NewOmerEvent(hdate.New(5770, hdate.Iyyar, 26), 41)
assert.Equal("Today is 41 days, which is 5 weeks and 6 days of the Omer", omer.TodayIs("en"))

omer = newOmerEvent(hdate.New(5770, hdate.Sivan, 2), 46)
omer = NewOmerEvent(hdate.New(5770, hdate.Sivan, 2), 46)
assert.Equal("Today is 46 days, which is 6 weeks and 4 days of the Omer", omer.TodayIs("en"))

}
Expand Down Expand Up @@ -101,7 +113,7 @@ func TestTodayIsHe(t *testing.T) {
start := hdate.New(5782, hdate.Nisan, 16)
startAbs := start.Abs()
for i := 1; i <= 49; i++ {
ev := newOmerEvent(hdate.FromRD(startAbs+i-1), i)
ev := NewOmerEvent(hdate.FromRD(startAbs+i-1), i)
actual[i] = ev.TodayIs("he")
}
assert.Equal(t, expected, actual)
Expand All @@ -122,8 +134,23 @@ func TestEmoji(t *testing.T) {
start := hdate.New(5782, hdate.Nisan, 16)
startAbs := start.Abs()
for i := 1; i <= 49; i++ {
ev := newOmerEvent(hdate.FromRD(startAbs+i-1), i)
ev := NewOmerEvent(hdate.FromRD(startAbs+i-1), i)
actual[i] = ev.GetEmoji()
}
assert.Equal(t, expected, actual)
}

func ExampleOmerEvent_GetEmoji() {
omer := NewOmerEvent(hdate.New(5770, hdate.Nisan, 28), 13)
fmt.Println(omer.GetEmoji())
// Output: ⑬
}

func ExampleOmerEvent_TodayIs() {
omer := NewOmerEvent(hdate.New(5770, hdate.Nisan, 28), 13)
fmt.Println(omer.TodayIs("en"))
fmt.Println(omer.TodayIs("he"))
// Output:
// Today is 13 days, which is 1 week and 6 days of the Omer
// הַיוֹם שְׁלוֹשָׁה עָשָׂר יוֹם, שְׁהֵם שָׁבוּעַ אֶחָד וְשִׁשָׁה יָמִים לָעוֹמֶר
}

0 comments on commit eded748

Please sign in to comment.