Class: PrayerTimes::CalculationMethods
- Inherits:
-
Object
- Object
- PrayerTimes::CalculationMethods
- Extended by:
- Forwardable
- Defined in:
- lib/prayer_times/calculation_methods.rb
Overview
Helper class to initiate a list of calculation methods and add/update others
Class Method Summary collapse
-
.default_methods ⇒ Object
default methods defined in this gem Methods MWL, ISNA, Egypt, Makkah, Karachi, Tehran and Jafari are accurate Other methods need validation.
Instance Method Summary collapse
- #add(name, description, settings = {}, offsets = {}) ⇒ Object
-
#initialize ⇒ CalculationMethods
constructor
Initializer it populates a hash with predefined set of methods.
-
#names ⇒ Array
Names of the available methods.
Constructor Details
#initialize ⇒ CalculationMethods
Initializer it populates a hash with predefined set of methods
116 117 118 119 |
# File 'lib/prayer_times/calculation_methods.rb', line 116 def initialize self.hash = {} populate end |
Class Method Details
.default_methods ⇒ Object
default methods defined in this gem Methods MWL, ISNA, Egypt, Makkah, Karachi, Tehran and Jafari are accurate Other methods need validation. Your help is appreciated.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/prayer_times/calculation_methods.rb', line 11 def self.default_methods { "MWL" =>{ desc: 'Muslim World League', settings: {fajr: 18, isha: 17} }, 'ISNA' => { desc: 'Islamic Society of North America (ISNA)', settings: {fajr: 15, isha: 15} }, 'Egypt' => { desc: 'Egyptian General Authority of Survey', settings: {fajr: 19.5, isha: 17.5} }, 'Makkah' => { desc: 'Umm Al-Qura University, Makkah', settings: {fajr: 18.5, isha: '90 min'} # fajr was 19 degrees before 1430 hijri }, 'Karachi' => { desc: 'University of Islamic Sciences, Karachi', settings: {fajr: 18, isha: 18} }, 'Tehran' => { desc: 'Institute of Geophysics, University of Tehran', settings: {fajr: 17.7, maghrib: 4.5, isha: 14, midnight: 'Jafari'} # isha is not explicitly specified in this method }, 'Jafari' => { desc: 'Shia Ithna-Ashari, Leva Institute, Qum', settings: {fajr: 16, maghrib: 4, isha: 14, midnight: 'Jafari'} }, 'UOIF' =>{ desc: "UNION DES ORGANISATIONS ISLAMIQUES DE FRANCE", settings: {fajr: 19, maghrib: '0 min', isha: 17} }, 'Algeria' =>{ desc: "Algeria", settings: {fajr: 18, maghrib: '3 min', isha: 17} }, 'EmirateDubai' =>{ desc: "Emirate, Dubai", settings: {fajr: 18.5, maghrib: '0 min', isha: '90 min'}, offsets: {dhuhr: 4, asr: 5, maghrib: 2} }, 'Emirates' =>{ desc: "Emirates", settings: {fajr: 18.5, maghrib: '0 min', isha: '90 min'}, offsets: {asr: 4, maghrib: 2} }, 'EnglandBirmingham' =>{ desc: "England, Birmingham", settings: {fajr: 5, maghrib: '0 min', isha: 84}, offsets: {fajr: -60, isha: 60} }, 'Jordan' =>{ desc: "General Iftaa' Department, The Hashemite Kingdom of Jordan", settings: {fajr: 18, maghrib: '0 min', isha: 18} }, 'Kuwait' =>{ desc: "Kuwait", settings: {fajr: 18, maghrib: '0 min', isha: 17.5} }, 'Libya' =>{ desc: "Libya", settings: {fajr: 18.5, maghrib: '0 min', isha: 18.5}, offsets: { dhuhr: 4, maghrib: 4} }, 'Malaysia' =>{ desc: "Malaysia", settings: {fajr: 20, maghrib: '0 min', isha: 18}, offsets: {fajr: 3, sunrise: 2, dhuhr: 1, asr: 2, maghrib: 1, isha: -1} }, 'Maldives' =>{ desc: "Maldives", settings: {fajr: 19, maghrib: '0 min', isha: 19}, offsets: {sunrise: -1, dhuhr: 4, asr: 1, maghrib: 1, isha: 1} }, 'Morocco' =>{ desc: "Morocco", settings: {fajr: 19, maghrib: '0 min', isha: 17}, offsets: {fajr: -1, sunrise: -2, dhuhr: 5, maghrib: 3} }, 'Oman' =>{ desc: "Oman", settings: {fajr: 18, maghrib: '5 min', isha: 18}, offsets: {dhuhr: 5, asr: 5, isha: 1} }, 'Qatar' =>{ desc: "Qatar", settings: {fajr: 18, maghrib: '0 min', isha: '90 min'} }, 'Tunisia' =>{ desc: "Tunisia", settings: {fajr: 18, maghrib: '1 min', isha: 18}, offsets: {fajr: -1, sunrise: -2, dhuhr: 8, isha: 1} }, 'Turkey' =>{ desc: "Presidency of Religious Affairs, Turkey", settings: {fajr: 18, maghrib: '9 min', isha: 17}, offsets: {fajr: -2, sunrise: -7, dhuhr: 6, asr: 4, isha: 2} } } end |
Instance Method Details
#add(name, description, settings = {}, offsets = {}) ⇒ Object
126 127 128 |
# File 'lib/prayer_times/calculation_methods.rb', line 126 def add(name, description, settings={}, offsets={}) hash[name] = CalculationMethod.new(name, description, settings, offsets) end |
#names ⇒ Array
Names of the available methods
132 133 134 |
# File 'lib/prayer_times/calculation_methods.rb', line 132 def names keys end |