coligny 0.3.0 → 0.3.1

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: e0ac5981b5527fd98ba326d0b53e0dae72310da8
4
- data.tar.gz: 6a1fcf9eb2becbe38cf7f81dffcfbaf05eb9d467
3
+ metadata.gz: a4f92c2525cbed0013f9d1e231750a273b95c72a
4
+ data.tar.gz: 83b315694b856f5f6a42d6f45b8129e219e1ce55
5
5
  SHA512:
6
- metadata.gz: 05115bf556215f51a3cbf056dccea82331fe59b454a65b042a585a019c53452c69aa7ccdcd15548ad35bb6b7ccd2d1aa101d20450e082c1d454966cff19473a7
7
- data.tar.gz: 478d163555fc3c27f00a273888ad48a1f34e41b354c57babcc49b28531243520a177377bdf0ad194cb64cb7af8309675a448c55d08caa8f66942b87c19112ddd
6
+ metadata.gz: 9575a9406579430ed4602abff45596eb2d7ac526c5d67009b11c4cbf22c217567a6404960eb7edfce60618ecabe2da022ee20dc0ec81feb4412db4e95d93f0aa
7
+ data.tar.gz: 6db4c853da184705765d8bb078c6c15532e3d2fc83661c7503b2a80a11ee98a6f351eb9c1215607205d075638c279ada97723909fd2cd9b9469d788c7f898717
data/README.md CHANGED
@@ -9,9 +9,8 @@ This gem is intended to provide a resource for the use of the Coligny Calendar,
9
9
 
10
10
  ##To-DO
11
11
 
12
- - Finish long-cycle checks for dates earlier than cycle start dates.
13
12
  - Refactor populate methods for 30-year cycle
14
- - Add Inscriptions for dates
13
+ - Add Inscriptions for dates(?)
15
14
  - Comments
16
15
 
17
16
  ## Installation
@@ -1,3 +1,3 @@
1
1
  module Coligny
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/coligny.rb CHANGED
@@ -64,52 +64,52 @@ module Coligny
64
64
 
65
65
  def year_difference
66
66
  if @is_metonic
67
- if @is_early
68
- return 3035 - @year
69
- else
70
- return @year - 3035
71
- end
72
- else
73
- if @is_early
74
- return 3034 - @year
75
- else
76
- return @year - 3034
77
- end
78
- end
79
- end
80
-
81
- def populate_saturn_earlier_equos
82
- if (year_difference % 5 == 1) || (year_difference % 5 == 0)
67
+ if @is_early
68
+ return 3035 - @year
69
+ else
70
+ return @year - 3035
71
+ end
72
+ else
73
+ if @is_early
74
+ return 3034 - @year
75
+ else
76
+ return @year - 3034
77
+ end
78
+ end
79
+ end
80
+
81
+ def populate_saturn_equos
82
+ if @is_early
83
+ if (year_difference % 5 == 1) || (year_difference % 5 == 0)
84
+ @months.insert(8, ColignyMonth.new("Equos", 30))
85
+ end
86
+ elsif (year_difference % 5 == 0) || (year_difference % 5 == 4)
83
87
  @months.insert(8, ColignyMonth.new("Equos", 30))
84
88
  else
85
89
  @months.insert(8, ColignyMonth.new("Equos", 29))
86
90
  end
87
91
  end
88
92
 
89
- def populate_saturn_earlier_int
90
- if (year_difference % 5 == 0) && (year_difference % 30 != 5)
93
+ def populate_saturn_int1
94
+ if year_difference % 5 == 0
91
95
  @months.unshift(ColignyMonth.new("Intercalary One", 29))
92
- elsif (year_difference % 5 == 3)
93
- @months.insert(6, ColignyMonth.new("Intercalary Two", 30))
94
96
  end
95
97
  end
96
98
 
97
- def populate_saturn_later_equos
98
- if (year_difference % 5 == 0) || (year_difference % 5 == 4)
99
- @months.insert(8, ColignyMonth.new("Equos", 30))
99
+ def populate_saturn_int2_check(cycle_repeat, cycle_limit, exception_cycle, exception_limit)
100
+ if (year_difference % cycle_repeat == cycle_limit) && (year_difference % exception_cycle != exception_limit)
101
+ return true
100
102
  else
101
- @months.insert(8, ColignyMonth.new("Equos", 29))
103
+ return false
102
104
  end
103
105
  end
104
106
 
105
- def populate_saturn_later_int
106
- if (year_difference % 5 == 0)
107
- @months.unshift(ColignyMonth.new("Intercalary One", 29))
108
- elsif (year_difference % 5 == 2) && (year_difference % 30 != 27)
107
+ def populate_saturn_int2
108
+ if (@is_early && populate_saturn_int2_check(5, 3, 30, 3)) || (!@is_early && populate_saturn_int2_check(5, 2, 30, 27))
109
109
  @months.insert(6, ColignyMonth.new("Intercalary Two", 30))
110
110
  end
111
111
  end
112
-
112
+
113
113
  def identify_year_locator(difference, years_between_instances)
114
114
  if @is_early
115
115
  if ((year_difference) % difference >= years_between_instances) || ((year_difference) % difference == 0)
@@ -135,7 +135,7 @@ module Coligny
135
135
  end
136
136
 
137
137
  def saturn_longcycle_equos_check
138
- if saturn_cycle_check(198, 4, 5, 4)
138
+ if (@is_early && saturn_cycle_check(198, 194, 5, 1)) || (!@is_early && saturn_cycle_check(198, 4, 5, 4))
139
139
  equos = @months.find { |s| s.name == "Equos" }
140
140
  equos.days = 29
141
141
  end
@@ -147,29 +147,21 @@ module Coligny
147
147
  end
148
148
  end
149
149
 
150
- def saturn_reverse_longcycle_equos_check
151
- if saturn_cycle_check(198, 194, 5, 1)
152
- equos = @months.find { |s| s.name == "Equos" }
153
- equos.days = 29
154
- end
155
- end
156
-
157
150
  def saturn_reverse_longcycle_int2_check
158
151
  if saturn_cycle_check(635, 606, 30, 3)
159
152
  @months.insert(6, ColignyMonth.new("Intercalary Two", 30))
160
153
  end
161
154
  end
162
155
 
163
- def populate_saturn_months
156
+ def populate_saturn_months
157
+ populate_saturn_equos
158
+ populate_saturn_int1
159
+ populate_saturn_int2
160
+ saturn_longcycle_equos_check
161
+
164
162
  if @is_early
165
- populate_saturn_earlier_equos
166
- populate_saturn_earlier_int
167
- saturn_reverse_longcycle_equos_check
168
163
  saturn_reverse_longcycle_int2_check
169
164
  else
170
- populate_saturn_later_equos
171
- populate_saturn_later_int
172
- saturn_longcycle_equos_check
173
165
  saturn_longcycle_int2_check
174
166
  end
175
167
  end
@@ -239,19 +231,27 @@ module Coligny
239
231
  end
240
232
  end
241
233
 
234
+ def metonic_longcycle_early_year_check(frequency_of_adjustment, case_limiter)
235
+ if ((year_difference % frequency_of_adjustment >= case_limiter) || (year_difference % frequency_of_adjustment == 0)) && (year_difference >= frequency_of_adjustment)
236
+ return true
237
+ else
238
+ return false
239
+ end
240
+ end
241
+
242
+ def metonic_longcycle_late_year_check(frequency_of_adjustment, case_limiter)
243
+ if (year_difference % frequency_of_adjustment <= case_limiter) && (year_difference >= frequency_of_adjustment)
244
+ return true
245
+ else
246
+ return false
247
+ end
248
+ end
249
+
242
250
  def metonic_longcycle_year_check(frequency_of_adjustment, case_limiter)
243
251
  if @is_early
244
- if ((year_difference % frequency_of_adjustment >= case_limiter) || (year_difference % frequency_of_adjustment == 0)) && (year_difference >= frequency_of_adjustment)
245
- return true
246
- else
247
- return false
248
- end
252
+ return metonic_longcycle_early_year_check(frequency_of_adjustment, case_limiter)
249
253
  else
250
- if (year_difference % frequency_of_adjustment <= case_limiter) && (year_difference >= frequency_of_adjustment)
251
- return true
252
- else
253
- return false
254
- end
254
+ return metonic_longcycle_late_year_check(frequency_of_adjustment, case_limiter)
255
255
  end
256
256
  end
257
257
 
@@ -262,7 +262,7 @@ module Coligny
262
262
  end
263
263
 
264
264
  def metonic_longcycle_equos_check
265
- if metonic_longcycle_year_check(61, 4) && test_earlier_than_start_date_inttwo_metonic
265
+ if (metonic_longcycle_year_check(61, 4) && test_earlier_than_start_date_inttwo_metonic) || (metonic_longcycle_year_check(61, 57) && test_inttwo_metonic)
266
266
  @months.find { |s| s.name == "Equos" }.days = 29
267
267
  end
268
268
  end
@@ -273,23 +273,16 @@ module Coligny
273
273
  end
274
274
  end
275
275
 
276
- def metonic_longcycle_reverse_equos_check
277
- if metonic_longcycle_year_check(61, 57) && test_inttwo_metonic
278
- @months.find { |s| s.name == "Equos" }.days = 29
279
- end
280
- end
281
-
282
276
  def populate_metonic_months
283
277
  populate_metonic_equos
284
278
  populate_metonic_int1
285
279
  populate_metonic_int2
280
+ metonic_longcycle_equos_check
286
281
 
287
282
  if @is_early
288
283
  metonic_longcycle_reverse_int2_check
289
- metonic_longcycle_reverse_equos_check
290
284
  else
291
- metonic_longcycle_int2_check
292
- metonic_longcycle_equos_check
285
+ metonic_longcycle_int2_check
293
286
  end
294
287
  end
295
288
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coligny
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Krusen