# WorkDay Gem para verificação de dias úteis e cálculo entre datas úteis. ## Installation Add this line to your application's Gemfile: ```ruby gem 'work_day' ``` And then execute: $ bundle Or install it yourself as: $ gem install work_day ## Usage ### WorkDay.work_day?(date) Verifica se uma data é um dia útil ```ruby > WorkDay.work_day?("2017-01-01") => false > WorkDay.work_day?("2017-01-05") => true ``` ### WorkDay.last_until(date, days = 0) Retorna o n-dia útil até certa data. ###### Passando uma data útil, com 0 dias ```ruby > WorkDay.last_until("2017-01-05") => Thu, 05 Jan 2017 # retorna a própria data por ser uma data útil ``` ###### Passando uma data não-útil, com 0 dias ```ruby > WorkDay.last_until("2017-01-08") => Fri, 06 Jan 2017 # retorna o primeiro dia útil anterior a data passada ``` ###### Passando uma data útil, com 2 dias ```ruby > WorkDay.last_until("2017-01-05", 2) => Tue, 03 Jan 2017 # retorna a data 2 dias úteis anteriores a data passada ``` ###### Passando uma data não-útil, com 2 dias ```ruby > WorkDay.last_until("2017-01-08", 2) => Wed, 04 Jan 2017 # retorna a data 2 dias úteis anteriores a data passada ``` ### WorkDay.next_after(date, days = 1) Retorna o n-dia útil após certa data ###### Passando uma data útil, com 2 dias ```ruby > WorkDay.next_after("2017-01-05", 2) => Mon, 09 Jan 2017 ``` ###### Passando uma data não-útil, com 2 dias ```ruby > WorkDay.next_after("2017-01-07", 2) => Tue, 10 Jan 2017 ``` ###### Passando uma data útil, com 1 dia ```ruby > WorkDay.next_after("2017-01-05") => Fri, 06 Jan 2017 ``` ###### Passando uma data não-útil, com 1 dia ```ruby > WorkDay.next_after("2017-01-07") => Mon, 09 Jan 2017 ``` ### WorkDay.between(start_date, end_date) Lista todas as datas úteis entre 2 datas (`start_date` e `end_date`) ```ruby > WorkDay.between("2013-01-05", "2013-01-10") => [Mon, 07 Jan 2013, Tue, 08 Jan 2013, Wed, 09 Jan 2013, Thu, 10 Jan 2013] ``` ### Escolhendo calendários Pode ser utilizado mais de um calendário ao mesmo tempo Calendários disponíveis london, new_york e brazil ```ruby > wd = WorkDay.new(['london', 'new_york']) > wd.work_day?("2018-05-28") => false ``` ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).