ice_cube 0.16.4 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/config/locales/id.yml +134 -0
  3. data/lib/ice_cube/builders/hash_builder.rb +1 -5
  4. data/lib/ice_cube/builders/ical_builder.rb +13 -15
  5. data/lib/ice_cube/builders/string_builder.rb +10 -16
  6. data/lib/ice_cube/deprecated.rb +3 -4
  7. data/lib/ice_cube/errors/count_exceeded.rb +0 -2
  8. data/lib/ice_cube/errors/until_exceeded.rb +0 -2
  9. data/lib/ice_cube/flexible_hash.rb +3 -7
  10. data/lib/ice_cube/i18n.rb +11 -19
  11. data/lib/ice_cube/input_alignment.rb +9 -11
  12. data/lib/ice_cube/null_i18n.rb +6 -6
  13. data/lib/ice_cube/occurrence.rb +10 -11
  14. data/lib/ice_cube/parsers/hash_parser.rb +3 -6
  15. data/lib/ice_cube/parsers/ical_parser.rb +39 -38
  16. data/lib/ice_cube/parsers/yaml_parser.rb +2 -4
  17. data/lib/ice_cube/rule.rb +7 -18
  18. data/lib/ice_cube/rules/daily_rule.rb +0 -4
  19. data/lib/ice_cube/rules/hourly_rule.rb +0 -4
  20. data/lib/ice_cube/rules/minutely_rule.rb +0 -4
  21. data/lib/ice_cube/rules/monthly_rule.rb +0 -4
  22. data/lib/ice_cube/rules/secondly_rule.rb +0 -4
  23. data/lib/ice_cube/rules/weekly_rule.rb +1 -5
  24. data/lib/ice_cube/rules/yearly_rule.rb +0 -4
  25. data/lib/ice_cube/schedule.rb +32 -40
  26. data/lib/ice_cube/single_occurrence_rule.rb +1 -5
  27. data/lib/ice_cube/time_util.rb +49 -57
  28. data/lib/ice_cube/validated_rule.rb +4 -10
  29. data/lib/ice_cube/validations/count.rb +2 -8
  30. data/lib/ice_cube/validations/daily_interval.rb +5 -11
  31. data/lib/ice_cube/validations/day.rb +7 -13
  32. data/lib/ice_cube/validations/day_of_month.rb +4 -10
  33. data/lib/ice_cube/validations/day_of_week.rb +10 -13
  34. data/lib/ice_cube/validations/day_of_year.rb +6 -12
  35. data/lib/ice_cube/validations/fixed_value.rb +9 -15
  36. data/lib/ice_cube/validations/hour_of_day.rb +5 -11
  37. data/lib/ice_cube/validations/hourly_interval.rb +3 -9
  38. data/lib/ice_cube/validations/lock.rb +8 -14
  39. data/lib/ice_cube/validations/minute_of_hour.rb +4 -10
  40. data/lib/ice_cube/validations/minutely_interval.rb +4 -10
  41. data/lib/ice_cube/validations/month_of_year.rb +2 -8
  42. data/lib/ice_cube/validations/monthly_interval.rb +4 -10
  43. data/lib/ice_cube/validations/schedule_lock.rb +0 -6
  44. data/lib/ice_cube/validations/second_of_minute.rb +4 -10
  45. data/lib/ice_cube/validations/secondly_interval.rb +2 -8
  46. data/lib/ice_cube/validations/until.rb +2 -8
  47. data/lib/ice_cube/validations/weekly_interval.rb +5 -11
  48. data/lib/ice_cube/validations/yearly_interval.rb +3 -9
  49. data/lib/ice_cube/version.rb +1 -3
  50. data/lib/ice_cube.rb +51 -51
  51. metadata +23 -8
  52. data/spec/spec_helper.rb +0 -79
data/lib/ice_cube.rb CHANGED
@@ -1,71 +1,71 @@
1
- require 'date'
2
- require 'ice_cube/deprecated'
1
+ require "date"
2
+ require "ice_cube/deprecated"
3
3
 
4
4
  module IceCube
5
+ autoload :VERSION, "ice_cube/version"
5
6
 
6
- autoload :VERSION, 'ice_cube/version'
7
+ autoload :TimeUtil, "ice_cube/time_util"
8
+ autoload :FlexibleHash, "ice_cube/flexible_hash"
7
9
 
8
- autoload :TimeUtil, 'ice_cube/time_util'
9
- autoload :FlexibleHash, 'ice_cube/flexible_hash'
10
- autoload :I18n, 'ice_cube/i18n'
10
+ require "ice_cube/i18n"
11
11
 
12
- autoload :Rule, 'ice_cube/rule'
13
- autoload :Schedule, 'ice_cube/schedule'
14
- autoload :Occurrence, 'ice_cube/occurrence'
12
+ autoload :Rule, "ice_cube/rule"
13
+ autoload :Schedule, "ice_cube/schedule"
14
+ autoload :Occurrence, "ice_cube/occurrence"
15
15
 
16
- autoload :IcalBuilder, 'ice_cube/builders/ical_builder'
17
- autoload :HashBuilder, 'ice_cube/builders/hash_builder'
18
- autoload :StringBuilder, 'ice_cube/builders/string_builder'
16
+ autoload :IcalBuilder, "ice_cube/builders/ical_builder"
17
+ autoload :HashBuilder, "ice_cube/builders/hash_builder"
18
+ autoload :StringBuilder, "ice_cube/builders/string_builder"
19
19
 
20
- autoload :HashParser, 'ice_cube/parsers/hash_parser'
21
- autoload :YamlParser, 'ice_cube/parsers/yaml_parser'
22
- autoload :IcalParser, 'ice_cube/parsers/ical_parser'
20
+ autoload :HashParser, "ice_cube/parsers/hash_parser"
21
+ autoload :YamlParser, "ice_cube/parsers/yaml_parser"
22
+ autoload :IcalParser, "ice_cube/parsers/ical_parser"
23
23
 
24
- autoload :CountExceeded, 'ice_cube/errors/count_exceeded'
25
- autoload :UntilExceeded, 'ice_cube/errors/until_exceeded'
24
+ autoload :CountExceeded, "ice_cube/errors/count_exceeded"
25
+ autoload :UntilExceeded, "ice_cube/errors/until_exceeded"
26
26
 
27
- autoload :ValidatedRule, 'ice_cube/validated_rule'
28
- autoload :SingleOccurrenceRule, 'ice_cube/single_occurrence_rule'
27
+ autoload :ValidatedRule, "ice_cube/validated_rule"
28
+ autoload :SingleOccurrenceRule, "ice_cube/single_occurrence_rule"
29
29
 
30
- autoload :SecondlyRule, 'ice_cube/rules/secondly_rule'
31
- autoload :MinutelyRule, 'ice_cube/rules/minutely_rule'
32
- autoload :HourlyRule, 'ice_cube/rules/hourly_rule'
33
- autoload :DailyRule, 'ice_cube/rules/daily_rule'
34
- autoload :WeeklyRule, 'ice_cube/rules/weekly_rule'
35
- autoload :MonthlyRule, 'ice_cube/rules/monthly_rule'
36
- autoload :YearlyRule, 'ice_cube/rules/yearly_rule'
30
+ autoload :SecondlyRule, "ice_cube/rules/secondly_rule"
31
+ autoload :MinutelyRule, "ice_cube/rules/minutely_rule"
32
+ autoload :HourlyRule, "ice_cube/rules/hourly_rule"
33
+ autoload :DailyRule, "ice_cube/rules/daily_rule"
34
+ autoload :WeeklyRule, "ice_cube/rules/weekly_rule"
35
+ autoload :MonthlyRule, "ice_cube/rules/monthly_rule"
36
+ autoload :YearlyRule, "ice_cube/rules/yearly_rule"
37
37
 
38
38
  module Validations
39
- autoload :FixedValue, 'ice_cube/validations/fixed_value'
40
- autoload :ScheduleLock, 'ice_cube/validations/schedule_lock'
41
-
42
- autoload :Count, 'ice_cube/validations/count'
43
- autoload :Until, 'ice_cube/validations/until'
44
-
45
- autoload :SecondlyInterval, 'ice_cube/validations/secondly_interval'
46
- autoload :MinutelyInterval, 'ice_cube/validations/minutely_interval'
47
- autoload :DailyInterval, 'ice_cube/validations/daily_interval'
48
- autoload :WeeklyInterval, 'ice_cube/validations/weekly_interval'
49
- autoload :MonthlyInterval, 'ice_cube/validations/monthly_interval'
50
- autoload :YearlyInterval, 'ice_cube/validations/yearly_interval'
51
- autoload :HourlyInterval, 'ice_cube/validations/hourly_interval'
52
-
53
- autoload :HourOfDay, 'ice_cube/validations/hour_of_day'
54
- autoload :MonthOfYear, 'ice_cube/validations/month_of_year'
55
- autoload :MinuteOfHour, 'ice_cube/validations/minute_of_hour'
56
- autoload :SecondOfMinute, 'ice_cube/validations/second_of_minute'
57
- autoload :DayOfMonth, 'ice_cube/validations/day_of_month'
58
- autoload :DayOfWeek, 'ice_cube/validations/day_of_week'
59
- autoload :Day, 'ice_cube/validations/day'
60
- autoload :DayOfYear, 'ice_cube/validations/day_of_year'
39
+ autoload :FixedValue, "ice_cube/validations/fixed_value"
40
+ autoload :ScheduleLock, "ice_cube/validations/schedule_lock"
41
+
42
+ autoload :Count, "ice_cube/validations/count"
43
+ autoload :Until, "ice_cube/validations/until"
44
+
45
+ autoload :SecondlyInterval, "ice_cube/validations/secondly_interval"
46
+ autoload :MinutelyInterval, "ice_cube/validations/minutely_interval"
47
+ autoload :DailyInterval, "ice_cube/validations/daily_interval"
48
+ autoload :WeeklyInterval, "ice_cube/validations/weekly_interval"
49
+ autoload :MonthlyInterval, "ice_cube/validations/monthly_interval"
50
+ autoload :YearlyInterval, "ice_cube/validations/yearly_interval"
51
+ autoload :HourlyInterval, "ice_cube/validations/hourly_interval"
52
+
53
+ autoload :HourOfDay, "ice_cube/validations/hour_of_day"
54
+ autoload :MonthOfYear, "ice_cube/validations/month_of_year"
55
+ autoload :MinuteOfHour, "ice_cube/validations/minute_of_hour"
56
+ autoload :SecondOfMinute, "ice_cube/validations/second_of_minute"
57
+ autoload :DayOfMonth, "ice_cube/validations/day_of_month"
58
+ autoload :DayOfWeek, "ice_cube/validations/day_of_week"
59
+ autoload :Day, "ice_cube/validations/day"
60
+ autoload :DayOfYear, "ice_cube/validations/day_of_year"
61
61
  end
62
62
 
63
63
  # Define some useful constants
64
64
  ONE_SECOND = 1
65
65
  ONE_MINUTE = ONE_SECOND * 60
66
- ONE_HOUR = ONE_MINUTE * 60
67
- ONE_DAY = ONE_HOUR * 24
68
- ONE_WEEK = ONE_DAY * 7
66
+ ONE_HOUR = ONE_MINUTE * 60
67
+ ONE_DAY = ONE_HOUR * 24
68
+ ONE_WEEK = ONE_DAY * 7
69
69
 
70
70
  # Defines the format used by IceCube when printing out Schedule#to_s.
71
71
  # Defaults to '%B %e, %Y'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ice_cube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.4
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Crepezzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-21 00:00:00.000000000 Z
11
+ date: 2024-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: standard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: ice_cube is a recurring date library for Ruby. It allows for quick,
42
56
  programatic expansion of recurring date rules.
43
57
  email: john@crepezzi.com
@@ -49,6 +63,7 @@ files:
49
63
  - config/locales/en.yml
50
64
  - config/locales/es.yml
51
65
  - config/locales/fr.yml
66
+ - config/locales/id.yml
52
67
  - config/locales/it.yml
53
68
  - config/locales/ja.yml
54
69
  - config/locales/nl.yml
@@ -103,11 +118,12 @@ files:
103
118
  - lib/ice_cube/validations/weekly_interval.rb
104
119
  - lib/ice_cube/validations/yearly_interval.rb
105
120
  - lib/ice_cube/version.rb
106
- - spec/spec_helper.rb
107
- homepage: http://seejohnrun.github.com/ice_cube/
121
+ homepage: https://ice-cube-ruby.github.io/ice_cube/
108
122
  licenses:
109
123
  - MIT
110
- metadata: {}
124
+ metadata:
125
+ changelog_uri: https://github.com/ice-cube-ruby/ice_cube/blob/master/CHANGELOG.md
126
+ wiki_uri: https://github.com/ice-cube-ruby/ice_cube/wiki
111
127
  post_install_message:
112
128
  rdoc_options: []
113
129
  require_paths:
@@ -123,9 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
139
  - !ruby/object:Gem::Version
124
140
  version: '0'
125
141
  requirements: []
126
- rubygems_version: 3.1.4
142
+ rubygems_version: 3.5.11
127
143
  signing_key:
128
144
  specification_version: 4
129
145
  summary: Ruby Date Recurrence Library
130
- test_files:
131
- - spec/spec_helper.rb
146
+ test_files: []
data/spec/spec_helper.rb DELETED
@@ -1,79 +0,0 @@
1
- require "bundler/setup"
2
- require 'ice_cube'
3
- require 'timeout'
4
-
5
- begin
6
- require 'simplecov'
7
- SimpleCov.start
8
- rescue LoadError
9
- # okay
10
- end
11
-
12
- IceCube.compatibility = 12
13
-
14
- DAY = Time.utc(2010, 3, 1)
15
- WEDNESDAY = Time.utc(2010, 6, 23, 5, 0, 0)
16
-
17
- WORLD_TIME_ZONES = [
18
- 'America/Anchorage', # -1000 / -0900
19
- 'Europe/London', # +0000 / +0100
20
- 'Pacific/Auckland', # +1200 / +1300
21
- ]
22
-
23
- # TODO: enable warnings here and update specs to call IceCube objects correctly
24
- def Object.const_missing(sym)
25
- case sym
26
- when :Schedule, :Rule, :Occurrence, :TimeUtil, :ONE_DAY, :ONE_HOUR, :ONE_MINUTE
27
- # warn "Use IceCube::#{sym}", caller[0]
28
- IceCube.const_get(sym)
29
- else
30
- super
31
- end
32
- end
33
-
34
- RSpec.configure do |config|
35
- # Enable flags like --only-failures and --next-failure
36
- config.example_status_persistence_file_path = ".rspec_status"
37
-
38
- config.expect_with :rspec do |c|
39
- c.syntax = :expect
40
- end
41
-
42
- Dir[File.dirname(__FILE__) + '/support/**/*'].each { |f| require f }
43
-
44
- config.warnings = true
45
-
46
- config.include WarningHelpers
47
-
48
- config.before :each do |example|
49
- if example.metadata[:requires_active_support]
50
- raise 'ActiveSupport required but not present' unless defined?(ActiveSupport)
51
- end
52
- end
53
-
54
- config.around :each, system_time_zone: true do |example|
55
- orig_zone = ENV['TZ']
56
- ENV['TZ'] = example.metadata[:system_time_zone]
57
- example.run
58
- ENV['TZ'] = orig_zone
59
- end
60
-
61
- config.around :each, locale: true do |example|
62
- orig_locale = I18n.locale
63
- I18n.locale = example.metadata[:locale]
64
- example.run
65
- I18n.locale = orig_locale
66
- end
67
-
68
- config.around :each, expect_warnings: true do |example|
69
- capture_warnings do
70
- example.run
71
- end
72
- end
73
-
74
- config.around :each do |example|
75
- Timeout.timeout(example.metadata.fetch(:timeout, 1)) do
76
- example.run
77
- end
78
- end
79
- end