nepdate 1.0.0.rc.1
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +10 -0
- data/LICENSE +21 -0
- data/NOTICE +31 -0
- data/README.md +20 -0
- data/lib/nepdate/calendar.rb +85 -0
- data/lib/nepdate/calendar_table.rb +617 -0
- data/lib/nepdate/date.rb +580 -0
- data/lib/nepdate/date_diff.rb +49 -0
- data/lib/nepdate/date_range.rb +251 -0
- data/lib/nepdate/errors.rb +78 -0
- data/lib/nepdate/fiscal_year.rb +103 -0
- data/lib/nepdate/format.rb +148 -0
- data/lib/nepdate/format_options.rb +64 -0
- data/lib/nepdate/lang.rb +21 -0
- data/lib/nepdate/lenient.rb +175 -0
- data/lib/nepdate/month.rb +84 -0
- data/lib/nepdate/month_overflow.rb +21 -0
- data/lib/nepdate/names.rb +81 -0
- data/lib/nepdate/parse.rb +125 -0
- data/lib/nepdate/quarter.rb +78 -0
- data/lib/nepdate/version.rb +5 -0
- data/lib/nepdate/weekday.rb +85 -0
- data/lib/nepdate.rb +37 -0
- data/sig/nepdate.rbs +435 -0
- metadata +75 -0
data/sig/nepdate.rbs
ADDED
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
module NepDate
|
|
2
|
+
VERSION: String
|
|
3
|
+
|
|
4
|
+
module ErrorKind
|
|
5
|
+
OUT_OF_RANGE: Symbol
|
|
6
|
+
INVALID_MONTH: Symbol
|
|
7
|
+
INVALID_DAY: Symbol
|
|
8
|
+
INVALID_GREGORIAN: Symbol
|
|
9
|
+
INVALID_CHARACTER: Symbol
|
|
10
|
+
WRONG_GROUP_COUNT: Symbol
|
|
11
|
+
NUMBER_TOO_LONG: Symbol
|
|
12
|
+
AMBIGUOUS: Symbol
|
|
13
|
+
UNRECOGNIZED: Symbol
|
|
14
|
+
ALL: Array[Symbol]
|
|
15
|
+
|
|
16
|
+
def self.name_for: (Symbol) -> String
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class Error < StandardError
|
|
20
|
+
attr_reader kind: Symbol
|
|
21
|
+
|
|
22
|
+
def initialize: (Symbol, String) -> void
|
|
23
|
+
def kind_name: () -> String
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class OutOfRangeError < Error
|
|
27
|
+
def initialize: (String) -> void
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
class InvalidMonthError < Error
|
|
31
|
+
def initialize: (String) -> void
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
class InvalidDayError < Error
|
|
35
|
+
def initialize: (String) -> void
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class InvalidGregorianError < Error
|
|
39
|
+
def initialize: (String) -> void
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
class ParseError < Error
|
|
43
|
+
def initialize: (Symbol, String) -> void
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
module Lang
|
|
47
|
+
EN: Symbol
|
|
48
|
+
NE: Symbol
|
|
49
|
+
|
|
50
|
+
def self.coerce: (Symbol | String) -> Symbol
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
module MonthOverflow
|
|
54
|
+
CLAMP: Symbol
|
|
55
|
+
SPILL: Symbol
|
|
56
|
+
ALL: Array[Symbol]
|
|
57
|
+
|
|
58
|
+
def self.coerce: (Symbol | String) -> Symbol
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
module DateOrder
|
|
62
|
+
ORDER: Hash[Symbol, Array[Symbol]]
|
|
63
|
+
ALL: Array[Symbol]
|
|
64
|
+
|
|
65
|
+
def self.coerce: (Symbol | String) -> Symbol
|
|
66
|
+
def self.fields: (Symbol | String) -> Array[Symbol]
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
module Separator
|
|
70
|
+
CHARACTERS: Hash[Symbol, String]
|
|
71
|
+
ALL: Array[Symbol]
|
|
72
|
+
BY_CHARACTER: Hash[String, Symbol]
|
|
73
|
+
|
|
74
|
+
def self.coerce: (Symbol | String) -> Symbol
|
|
75
|
+
def self.character: (Symbol | String) -> String
|
|
76
|
+
def self.name_for: (String) -> Symbol
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
module Names
|
|
80
|
+
MONTH_EN: Array[String]
|
|
81
|
+
MONTH_NE: Array[String]
|
|
82
|
+
MONTH_SHORT_EN: Array[String]
|
|
83
|
+
WEEKDAY_EN: Array[String]
|
|
84
|
+
WEEKDAY_NE: Array[String]
|
|
85
|
+
WEEKDAY_SHORT_EN: Array[String]
|
|
86
|
+
WEEKDAY_SHORT_NE: Array[String]
|
|
87
|
+
DEVANAGARI_DIGITS: Array[String]
|
|
88
|
+
ASCII_DIGITS: Array[String]
|
|
89
|
+
|
|
90
|
+
def self.month_name: (Integer, Symbol) -> String
|
|
91
|
+
def self.month_short: (Integer, Symbol) -> String
|
|
92
|
+
def self.weekday_name: (Integer, Symbol) -> String
|
|
93
|
+
def self.weekday_short: (Integer, Symbol) -> String
|
|
94
|
+
def self.nepali_digits: (String) -> String
|
|
95
|
+
def self.digits: (Integer, Symbol, ?width: Integer) -> String
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
class Month
|
|
99
|
+
include Comparable
|
|
100
|
+
|
|
101
|
+
NAMES_EN: Array[String]
|
|
102
|
+
NAMES_NE: Array[String]
|
|
103
|
+
SHORT_EN: Array[String]
|
|
104
|
+
BAISHAKH: Month
|
|
105
|
+
JESTHA: Month
|
|
106
|
+
ASHAD: Month
|
|
107
|
+
SHRAWAN: Month
|
|
108
|
+
BHADRA: Month
|
|
109
|
+
ASHOJ: Month
|
|
110
|
+
KARTIK: Month
|
|
111
|
+
MANGSIR: Month
|
|
112
|
+
POUSH: Month
|
|
113
|
+
MAGH: Month
|
|
114
|
+
FALGUN: Month
|
|
115
|
+
CHAITRA: Month
|
|
116
|
+
ALL: Array[Month]
|
|
117
|
+
|
|
118
|
+
attr_reader number: Integer
|
|
119
|
+
|
|
120
|
+
def initialize: (Integer) -> void
|
|
121
|
+
def self.from: (Month | Integer) -> Month
|
|
122
|
+
def label: (?lang: Symbol | String) -> String
|
|
123
|
+
def short_label: (?lang: Symbol | String) -> String
|
|
124
|
+
def to_i: () -> Integer
|
|
125
|
+
def to_s: () -> String
|
|
126
|
+
def <=>: (untyped) -> Integer?
|
|
127
|
+
def ==: (untyped) -> bool
|
|
128
|
+
def eql?: (untyped) -> bool
|
|
129
|
+
def hash: () -> Integer
|
|
130
|
+
def inspect: () -> String
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
class Weekday
|
|
134
|
+
include Comparable
|
|
135
|
+
|
|
136
|
+
SUNDAY: Weekday
|
|
137
|
+
MONDAY: Weekday
|
|
138
|
+
TUESDAY: Weekday
|
|
139
|
+
WEDNESDAY: Weekday
|
|
140
|
+
THURSDAY: Weekday
|
|
141
|
+
FRIDAY: Weekday
|
|
142
|
+
SATURDAY: Weekday
|
|
143
|
+
ALL: Array[Weekday]
|
|
144
|
+
|
|
145
|
+
attr_reader number: Integer
|
|
146
|
+
|
|
147
|
+
def initialize: (Integer) -> void
|
|
148
|
+
def self.from: (Weekday | Integer) -> Weekday
|
|
149
|
+
def label: (?lang: Symbol | String) -> String
|
|
150
|
+
def short_label: (?lang: Symbol | String) -> String
|
|
151
|
+
def sunday?: () -> bool
|
|
152
|
+
def monday?: () -> bool
|
|
153
|
+
def tuesday?: () -> bool
|
|
154
|
+
def wednesday?: () -> bool
|
|
155
|
+
def thursday?: () -> bool
|
|
156
|
+
def friday?: () -> bool
|
|
157
|
+
def saturday?: () -> bool
|
|
158
|
+
def to_i: () -> Integer
|
|
159
|
+
def to_s: () -> String
|
|
160
|
+
def <=>: (untyped) -> Integer?
|
|
161
|
+
def ==: (untyped) -> bool
|
|
162
|
+
def eql?: (untyped) -> bool
|
|
163
|
+
def hash: () -> Integer
|
|
164
|
+
def inspect: () -> String
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
class Quarter
|
|
168
|
+
include Comparable
|
|
169
|
+
|
|
170
|
+
NAMES: Hash[Integer, Symbol]
|
|
171
|
+
LABELS: Hash[Integer, String]
|
|
172
|
+
Q1: Quarter
|
|
173
|
+
Q2: Quarter
|
|
174
|
+
Q3: Quarter
|
|
175
|
+
Q4: Quarter
|
|
176
|
+
ALL: Array[Quarter]
|
|
177
|
+
|
|
178
|
+
attr_reader number: Integer
|
|
179
|
+
|
|
180
|
+
def initialize: (Integer) -> void
|
|
181
|
+
def self.from: (Quarter | Integer | Symbol | String) -> Quarter
|
|
182
|
+
def name: () -> Symbol
|
|
183
|
+
def label: () -> String
|
|
184
|
+
def to_i: () -> Integer
|
|
185
|
+
def to_s: () -> String
|
|
186
|
+
def <=>: (untyped) -> Integer?
|
|
187
|
+
def ==: (untyped) -> bool
|
|
188
|
+
def eql?: (untyped) -> bool
|
|
189
|
+
def hash: () -> Integer
|
|
190
|
+
def inspect: () -> String
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
class DateDiff
|
|
194
|
+
attr_reader years: Integer
|
|
195
|
+
attr_reader months: Integer
|
|
196
|
+
attr_reader days: Integer
|
|
197
|
+
attr_reader total_days: Integer
|
|
198
|
+
|
|
199
|
+
def initialize: (negative: bool, years: Integer, months: Integer, days: Integer, total_days: Integer) -> void
|
|
200
|
+
def negative?: () -> bool
|
|
201
|
+
def sign: () -> Integer
|
|
202
|
+
def to_h: () -> Hash[Symbol, Integer | bool]
|
|
203
|
+
def ==: (untyped) -> bool
|
|
204
|
+
def eql?: (untyped) -> bool
|
|
205
|
+
def hash: () -> Integer
|
|
206
|
+
def inspect: () -> String
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
class Date
|
|
210
|
+
include Comparable
|
|
211
|
+
|
|
212
|
+
DEFAULT_OFFSET: Integer
|
|
213
|
+
DEFAULT_ZONE: String
|
|
214
|
+
OFFSET_ALIASES: Hash[String, Integer]
|
|
215
|
+
MIN: Date
|
|
216
|
+
MAX: Date
|
|
217
|
+
|
|
218
|
+
attr_reader year: Integer
|
|
219
|
+
attr_reader month: Integer
|
|
220
|
+
attr_reader day: Integer
|
|
221
|
+
attr_reader serial: Integer
|
|
222
|
+
|
|
223
|
+
def initialize: (Integer, Integer, Integer) -> void
|
|
224
|
+
|
|
225
|
+
def self.from_bs: (Integer, Integer, Integer) -> Date
|
|
226
|
+
def self.from_ymd_parts: (Integer, Integer, Integer) -> Date
|
|
227
|
+
def self.from_gregorian: (Integer, Integer, Integer) -> Date
|
|
228
|
+
def self.from_date: (::Date) -> Date
|
|
229
|
+
def self.from_time: (::Time) -> Date
|
|
230
|
+
def self.min: () -> Date
|
|
231
|
+
def self.max: () -> Date
|
|
232
|
+
def self.today: (?zone: untyped, ?clock: untyped) -> Date
|
|
233
|
+
def self.parse: (String) -> Date
|
|
234
|
+
def self.try_parse: (String) -> Date?
|
|
235
|
+
def self.parse_lenient: (String) -> Date
|
|
236
|
+
def self.try_parse_lenient: (String) -> Date?
|
|
237
|
+
def self.from_ymd: (Integer) -> Date
|
|
238
|
+
def self.from_ymd_int: (Integer) -> Date
|
|
239
|
+
def self.from_json: (String) -> Date
|
|
240
|
+
def self.from_gregorian_batch: (Enumerable[untyped]) -> Array[Date]
|
|
241
|
+
def self.parse_batch: (Enumerable[String]) -> Array[::Date]
|
|
242
|
+
def self.to_gregorian_batch: (Enumerable[Date]) -> Array[::Date]
|
|
243
|
+
def self.min_gregorian: () -> ::Date
|
|
244
|
+
def self.max_gregorian: () -> ::Date
|
|
245
|
+
def self.offset_seconds: (untyped) -> Integer
|
|
246
|
+
def self.from_serial: (Integer) -> Date
|
|
247
|
+
def self.integer_argument: (untyped, String) -> Integer
|
|
248
|
+
|
|
249
|
+
def day_of_year: () -> Integer
|
|
250
|
+
def year_length: () -> Integer
|
|
251
|
+
def month_length: () -> Integer
|
|
252
|
+
def month_end_day: () -> Integer
|
|
253
|
+
def month_enum: () -> Month
|
|
254
|
+
def month_name: () -> Month
|
|
255
|
+
def weekday: () -> Weekday
|
|
256
|
+
def day_of_week: () -> Weekday
|
|
257
|
+
def last_day_of_month: () -> Date
|
|
258
|
+
def month_end_date: () -> Date
|
|
259
|
+
def to_date: () -> ::Date
|
|
260
|
+
def english_date: () -> ::Date
|
|
261
|
+
def to_datetime: (?zone: untyped) -> ::DateTime
|
|
262
|
+
def to_time: (?zone: untyped, ?hour: Integer, ?minute: Integer, ?second: Integer) -> ::Time
|
|
263
|
+
def today?: (?zone: untyped, ?clock: untyped) -> bool
|
|
264
|
+
def is_today: (?zone: untyped, ?clock: untyped) -> bool
|
|
265
|
+
def yesterday?: (?zone: untyped, ?clock: untyped) -> bool
|
|
266
|
+
def is_yesterday: (?zone: untyped, ?clock: untyped) -> bool
|
|
267
|
+
def tomorrow?: (?zone: untyped, ?clock: untyped) -> bool
|
|
268
|
+
def is_tomorrow: (?zone: untyped, ?clock: untyped) -> bool
|
|
269
|
+
def fiscal_year: () -> FiscalYear
|
|
270
|
+
def quarter: () -> Quarter
|
|
271
|
+
def add_days: (Integer) -> Date
|
|
272
|
+
def add_months: (Integer, ?overflow: Symbol | String) -> Date
|
|
273
|
+
def add_years: (Integer, ?overflow: Symbol | String) -> Date
|
|
274
|
+
def days_until: (Date) -> Integer
|
|
275
|
+
def diff: (Date) -> DateDiff
|
|
276
|
+
def calendar_breakdown: (Date) -> DateDiff
|
|
277
|
+
def succ: () -> Date
|
|
278
|
+
def +: (Integer) -> Date
|
|
279
|
+
def -: (Integer) -> Date
|
|
280
|
+
| (Date) -> Integer
|
|
281
|
+
def <=>: (untyped) -> Integer?
|
|
282
|
+
def compare_to: (Date) -> Integer?
|
|
283
|
+
def ==: (untyped) -> bool
|
|
284
|
+
def eql?: (untyped) -> bool
|
|
285
|
+
def hash: () -> Integer
|
|
286
|
+
def to_ymd: () -> Integer
|
|
287
|
+
def ymd: () -> Integer
|
|
288
|
+
def iso8601: () -> String
|
|
289
|
+
def isoformat: () -> String
|
|
290
|
+
def to_s: () -> String
|
|
291
|
+
def to_short_string: (?order: Symbol | String, ?separator: Symbol | String, ?pad: bool, ?lang: Symbol | String) -> String
|
|
292
|
+
def to_long_string: (?weekday: bool, ?year: bool, ?pad: bool, ?lang: Symbol | String) -> String
|
|
293
|
+
def to_unicode_string: (?order: Symbol | String, ?separator: Symbol | String, ?pad: bool) -> String
|
|
294
|
+
def to_long_unicode_string: (?weekday: bool, ?year: bool, ?pad: bool) -> String
|
|
295
|
+
def format: (String, ?lang: Symbol | String) -> String
|
|
296
|
+
def to_json: (*untyped) -> String
|
|
297
|
+
def to_h: () -> Hash[Symbol, Integer]
|
|
298
|
+
def to_a: () -> Array[Integer]
|
|
299
|
+
def to_ary: () -> Array[Integer]
|
|
300
|
+
def deconstruct: () -> Array[Integer]
|
|
301
|
+
def deconstruct_keys: (untyped) -> Hash[Symbol, Integer]
|
|
302
|
+
def inspect: () -> String
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
class DateRange
|
|
306
|
+
include Enumerable[Date]
|
|
307
|
+
|
|
308
|
+
attr_reader start: Date
|
|
309
|
+
attr_reader end: Date
|
|
310
|
+
|
|
311
|
+
def initialize: (Date, Date) -> void
|
|
312
|
+
def self.of: (Date, Date) -> DateRange
|
|
313
|
+
def self.single_day: (Date) -> DateRange
|
|
314
|
+
def self.from_day_count: (Date, Integer) -> DateRange
|
|
315
|
+
def self.for_month: (Integer, Integer) -> DateRange
|
|
316
|
+
def self.for_year: (Integer) -> DateRange
|
|
317
|
+
def self.current_month: (?zone: untyped, ?clock: untyped) -> DateRange
|
|
318
|
+
def self.current_fiscal_year: (?zone: untyped, ?clock: untyped) -> DateRange
|
|
319
|
+
def self.current_calendar_year: (?zone: untyped, ?clock: untyped) -> DateRange
|
|
320
|
+
|
|
321
|
+
def length: () -> Integer
|
|
322
|
+
def size: () -> Integer
|
|
323
|
+
def first: () -> Date
|
|
324
|
+
| (Integer) -> Array[Date]
|
|
325
|
+
def last: () -> Date
|
|
326
|
+
| (Integer) -> Array[Date]
|
|
327
|
+
def empty?: () -> bool
|
|
328
|
+
def include?: (Date) -> bool
|
|
329
|
+
def contains?: (Date) -> bool
|
|
330
|
+
def contains: (Date) -> bool
|
|
331
|
+
def contains_range?: (DateRange) -> bool
|
|
332
|
+
def contains_range: (DateRange) -> bool
|
|
333
|
+
def overlaps?: (DateRange) -> bool
|
|
334
|
+
def overlaps: (DateRange) -> bool
|
|
335
|
+
def adjacent_to?: (DateRange) -> bool
|
|
336
|
+
def is_adjacent_to: (DateRange) -> bool
|
|
337
|
+
def intersect: (DateRange) -> DateRange?
|
|
338
|
+
def union: (DateRange) -> DateRange
|
|
339
|
+
def except: (DateRange) -> Array[DateRange]
|
|
340
|
+
def split_by_month: () -> Array[DateRange]
|
|
341
|
+
def split_by_fiscal_quarter: () -> Array[DateRange]
|
|
342
|
+
def dates_with_interval: (?Integer) -> Array[Date]
|
|
343
|
+
def working_days: (?exclude_sunday: bool) -> Array[Date]
|
|
344
|
+
def weekend_days: (?include_sunday: bool) -> Array[Date]
|
|
345
|
+
def each: () { (Date) -> void } -> self
|
|
346
|
+
| () -> Enumerator[Date, self]
|
|
347
|
+
def ==: (untyped) -> bool
|
|
348
|
+
def eql?: (untyped) -> bool
|
|
349
|
+
def hash: () -> Integer
|
|
350
|
+
def to_s: () -> String
|
|
351
|
+
def to_short_string: (?order: Symbol | String, ?separator: Symbol | String, ?lang: Symbol | String) -> String
|
|
352
|
+
def to_h: () -> Hash[Symbol, Date]
|
|
353
|
+
def inspect: () -> String
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
class FiscalYear
|
|
357
|
+
include Comparable
|
|
358
|
+
|
|
359
|
+
attr_reader start_year: Integer
|
|
360
|
+
|
|
361
|
+
def initialize: (Integer) -> void
|
|
362
|
+
def self.from: (FiscalYear | Integer) -> FiscalYear
|
|
363
|
+
def self.containing: (Date) -> FiscalYear
|
|
364
|
+
def start: () -> Date
|
|
365
|
+
def end: () -> Date
|
|
366
|
+
def range: () -> DateRange
|
|
367
|
+
def quarter_range: (Quarter | Integer | Symbol | String) -> DateRange
|
|
368
|
+
def quarter_start: (Quarter | Integer | Symbol | String) -> Date
|
|
369
|
+
def quarter_end: (Quarter | Integer | Symbol | String) -> Date
|
|
370
|
+
def label: (?lang: Symbol | String) -> String
|
|
371
|
+
def succ: () -> FiscalYear
|
|
372
|
+
def <=>: (untyped) -> Integer?
|
|
373
|
+
def ==: (untyped) -> bool
|
|
374
|
+
def eql?: (untyped) -> bool
|
|
375
|
+
def hash: () -> Integer
|
|
376
|
+
def to_s: () -> String
|
|
377
|
+
def inspect: () -> String
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
module Calendar
|
|
381
|
+
GREGORIAN_MONTH_LENGTHS: Array[Integer]
|
|
382
|
+
|
|
383
|
+
def self.month_length: (Integer, Integer) -> Integer
|
|
384
|
+
def self.to_serial: (Integer, Integer, Integer) -> Integer
|
|
385
|
+
def self.from_serial: (Integer) -> [Integer, Integer, Integer]
|
|
386
|
+
def self.validate: (Integer, Integer, Integer) -> true
|
|
387
|
+
def self.days_from_civil: (Integer, Integer, Integer) -> Integer
|
|
388
|
+
def self.civil_from_days: (Integer) -> [Integer, Integer, Integer]
|
|
389
|
+
def self.gregorian_month_length: (Integer, Integer) -> Integer
|
|
390
|
+
def self.gregorian_leap_year?: (Integer) -> bool
|
|
391
|
+
def self.valid_gregorian?: (Integer, Integer, Integer) -> bool
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
module Parse
|
|
395
|
+
GROUP_COUNT: Integer
|
|
396
|
+
MAX_DIGITS: Integer
|
|
397
|
+
ASCII_SEPARATORS: Array[String]
|
|
398
|
+
DANDA: String
|
|
399
|
+
|
|
400
|
+
def self.strict: (String) -> [Integer, Integer, Integer]
|
|
401
|
+
def self.invalid_character: (String, Integer) -> bot
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
module Lenient
|
|
405
|
+
SEPARATORS: Array[String]
|
|
406
|
+
MAX_DIGITS: Integer
|
|
407
|
+
KELVIN: String
|
|
408
|
+
DEVA_DIGITS: Hash[String, String]
|
|
409
|
+
ERA_MARKERS: Array[String]
|
|
410
|
+
IGNORED_WORDS: Array[String]
|
|
411
|
+
MONTH_WORDS: Hash[String, Integer]
|
|
412
|
+
|
|
413
|
+
def self.parse: (String) -> [Integer, Integer, Integer]
|
|
414
|
+
def self.tokens: (String) -> [Array[Integer], Array[Integer], Array[Integer], bool]
|
|
415
|
+
def self.numeric?: (String) -> bool
|
|
416
|
+
def self.word_value: (String) -> Integer
|
|
417
|
+
def self.fold: (String) -> String
|
|
418
|
+
def self.month_form: (Integer, Array[Integer], Array[Integer]) -> [Integer, Integer, Integer]
|
|
419
|
+
def self.numeric_form: (Array[Integer], Array[Integer]) -> [Integer, Integer, Integer]
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
module Format
|
|
423
|
+
DEFAULT_PATTERNS: Array[String]
|
|
424
|
+
|
|
425
|
+
def self.default: (Integer, Integer, Integer, Symbol) -> String
|
|
426
|
+
def self.iso8601: (Integer, Integer, Integer, Symbol) -> String
|
|
427
|
+
def self.short: (Integer, Integer, Integer, order: Symbol | String, separator: Symbol | String, pad: bool, lang: Symbol | String) -> String
|
|
428
|
+
def self.long: (Integer, Integer, Integer, weekday_number: Integer?, include_year: bool, pad: bool, lang: Symbol | String) -> String
|
|
429
|
+
def self.pattern: (String, year: Integer, month: Integer, day: Integer, lang: Symbol | String) -> String
|
|
430
|
+
def self.run_end: (Array[String], Integer, String) -> Integer
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
def self.parse: (String) -> Date
|
|
434
|
+
def self.today: (?zone: untyped, ?clock: untyped) -> Date
|
|
435
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: nepdate
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.0.rc.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Sanam Pakuwal
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
12
|
+
description: |
|
|
13
|
+
A pure Ruby port of the C# NepDate library. Converts between Bikram Sambat and Gregorian
|
|
14
|
+
dates, adds days, months and years with an explicit overflow mode, formats in English and
|
|
15
|
+
Nepali, parses strictly and leniently, and works with inclusive date ranges and fiscal years.
|
|
16
|
+
No runtime dependencies and no runtime data file.
|
|
17
|
+
email:
|
|
18
|
+
- 31341013+sanamhub@users.noreply.github.com
|
|
19
|
+
executables: []
|
|
20
|
+
extensions: []
|
|
21
|
+
extra_rdoc_files: []
|
|
22
|
+
files:
|
|
23
|
+
- CHANGELOG.md
|
|
24
|
+
- LICENSE
|
|
25
|
+
- NOTICE
|
|
26
|
+
- README.md
|
|
27
|
+
- lib/nepdate.rb
|
|
28
|
+
- lib/nepdate/calendar.rb
|
|
29
|
+
- lib/nepdate/calendar_table.rb
|
|
30
|
+
- lib/nepdate/date.rb
|
|
31
|
+
- lib/nepdate/date_diff.rb
|
|
32
|
+
- lib/nepdate/date_range.rb
|
|
33
|
+
- lib/nepdate/errors.rb
|
|
34
|
+
- lib/nepdate/fiscal_year.rb
|
|
35
|
+
- lib/nepdate/format.rb
|
|
36
|
+
- lib/nepdate/format_options.rb
|
|
37
|
+
- lib/nepdate/lang.rb
|
|
38
|
+
- lib/nepdate/lenient.rb
|
|
39
|
+
- lib/nepdate/month.rb
|
|
40
|
+
- lib/nepdate/month_overflow.rb
|
|
41
|
+
- lib/nepdate/names.rb
|
|
42
|
+
- lib/nepdate/parse.rb
|
|
43
|
+
- lib/nepdate/quarter.rb
|
|
44
|
+
- lib/nepdate/version.rb
|
|
45
|
+
- lib/nepdate/weekday.rb
|
|
46
|
+
- sig/nepdate.rbs
|
|
47
|
+
homepage: https://nepdate.com
|
|
48
|
+
licenses:
|
|
49
|
+
- MIT
|
|
50
|
+
metadata:
|
|
51
|
+
bug_tracker_uri: https://github.com/sanamhub/nepdate-ruby/issues
|
|
52
|
+
changelog_uri: https://github.com/sanamhub/nepdate-ruby/blob/main/CHANGELOG.md
|
|
53
|
+
documentation_uri: https://github.com/sanamhub/nepdate-ruby/blob/main/docs/API.md
|
|
54
|
+
homepage_uri: https://nepdate.com
|
|
55
|
+
rubygems_mfa_required: 'true'
|
|
56
|
+
source_code_uri: https://github.com/sanamhub/nepdate-ruby
|
|
57
|
+
rdoc_options: []
|
|
58
|
+
require_paths:
|
|
59
|
+
- lib
|
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
61
|
+
requirements:
|
|
62
|
+
- - ">="
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '3.4'
|
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
requirements: []
|
|
71
|
+
rubygems_version: 3.6.9
|
|
72
|
+
specification_version: 4
|
|
73
|
+
summary: 'Bikram Sambat dates for Ruby: conversion, arithmetic, formatting, parsing
|
|
74
|
+
and ranges'
|
|
75
|
+
test_files: []
|