0.01
Low commit activity in last 3 years
A long-lived project that still receives updates
Производственный календарь РФ
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 2.4
~> 13.2
~> 3.1
~> 1.71.1
 Project Readme

russian_workdays

Gem Version

Производственный календарь РФ

Установка

Выполняем в терминале:

gem install russian_workdays

и подгружаем:

require "russian_workdays"

Использование

Класс RussianWorkdays::Collection

Инициализатор принимает массив или интервал дат.

collection = RussianWorkdays::Collection.new((Date.new(2014, 2, 10)..Date.new(2014, 3, 10)))
# Получить массив с выходными днями c 10 февраля 2014 по 10 марта 2014:
collection.holidays
# Получить массив с предпраздничными днями:
collection.preholidays
# Получить массив с рабочими днями:
collection.works
# Получить количество рабочих часов:
collection.work_hours_count
# В качестве аргумента метод work_hours_count принимает количество рабочих часов в неделю, по умолчанию это 40 часов. Получить количество рабочих часов при 36-часовой рабочей неделе:
collection.work_hours_count(36)

Класс RussianWorkdays::Year

Инициализатор принимает в качестве параметра год. Имеет те же методы что и RussianWorkdays::Collection.

collection = RussianWorkdays::Year.new(2014)
# Получить массив с выходными днями в 2014 году:
collection.holidays

Класс RussianWorkdays::Month

Инициализатор принимает первым параметром год, вторым - номер месяца. Имеет те же методы что и RussianWorkdays::Collection.

collection = RussianWorkdays::Month.new(2014, 2)
# Получить массив с выходными днями в феврале 2014 года:
collection.holidays

Класс RussianWorkdays::Day

Предназначен для работы с одной датой. В качестве параметра принимает объект класса Date.

date = RussianWorkdays::Day.new(Date.new(2014, 10, 5))
# Является ли дата выходным днем?
date.holiday?
# Является ли дата предпраздничным днем?
date.preholiday?
# Является ли дата рабочим днем?
date.work?

Contributing

  1. Fork it ( https://github.com/[my-github-username]/russian_workdays/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request