smart_month 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README +33 -0
  3. data/Rakefile +51 -0
  4. data/VERSION +1 -0
  5. data/lib/month.rb +26 -0
  6. data/lib/smart_month.rb +11 -0
  7. data/lib/smart_month/calculations.rb +87 -0
  8. data/lib/smart_month/collection.rb +51 -0
  9. data/lib/smart_month/extensions/date.rb +19 -0
  10. data/lib/smart_month/magic.rb +71 -0
  11. data/lib/smart_month/math.rb +41 -0
  12. data/lib/smart_month/rulesets.rb +151 -0
  13. data/lib/smart_month/util.rb +37 -0
  14. data/pkg/smart_month-1.0.0.gem +0 -0
  15. data/rdoc/classes/Date.html +209 -0
  16. data/rdoc/classes/Month.html +189 -0
  17. data/rdoc/classes/SmartMonth.html +136 -0
  18. data/rdoc/classes/SmartMonth/Calculations.html +383 -0
  19. data/rdoc/classes/SmartMonth/Collection.html +306 -0
  20. data/rdoc/classes/SmartMonth/Magic.html +214 -0
  21. data/rdoc/classes/SmartMonth/Magic/MonthFactory.html +178 -0
  22. data/rdoc/classes/SmartMonth/Math.html +311 -0
  23. data/rdoc/classes/SmartMonth/Rulesets.html +419 -0
  24. data/rdoc/classes/SmartMonth/Util.html +302 -0
  25. data/rdoc/classes/Time.html +152 -0
  26. data/rdoc/created.rid +1 -0
  27. data/rdoc/files/README.html +170 -0
  28. data/rdoc/files/lib/month_rb.html +113 -0
  29. data/rdoc/files/lib/smart_month/calculations_rb.html +101 -0
  30. data/rdoc/files/lib/smart_month/collection_rb.html +101 -0
  31. data/rdoc/files/lib/smart_month/extensions/date_rb.html +108 -0
  32. data/rdoc/files/lib/smart_month/magic_rb.html +101 -0
  33. data/rdoc/files/lib/smart_month/math_rb.html +101 -0
  34. data/rdoc/files/lib/smart_month/rulesets_rb.html +108 -0
  35. data/rdoc/files/lib/smart_month/util_rb.html +101 -0
  36. data/rdoc/files/lib/smart_month_rb.html +108 -0
  37. data/rdoc/fr_class_index.html +37 -0
  38. data/rdoc/fr_file_index.html +36 -0
  39. data/rdoc/fr_method_index.html +74 -0
  40. data/rdoc/index.html +24 -0
  41. data/rdoc/rdoc-style.css +208 -0
  42. data/smart_month.gemspec +179 -0
  43. data/test/spec/date/accessor_spec.rb +91 -0
  44. data/test/spec/date/add_month_spec.rb +24 -0
  45. data/test/spec/date/add_spec.rb +23 -0
  46. data/test/spec/date/boat_spec.rb +20 -0
  47. data/test/spec/date/civil_spec.rb +28 -0
  48. data/test/spec/date/commercial_spec.rb +29 -0
  49. data/test/spec/date/constants_spec.rb +41 -0
  50. data/test/spec/date/conversions_spec.rb +153 -0
  51. data/test/spec/date/downto_spec.rb +18 -0
  52. data/test/spec/date/eql_spec.rb +10 -0
  53. data/test/spec/date/gregorian_spec.rb +28 -0
  54. data/test/spec/date/hash_spec.rb +14 -0
  55. data/test/spec/date/infinity_spec.rb +77 -0
  56. data/test/spec/date/julian_spec.rb +52 -0
  57. data/test/spec/date/minus_month_spec.rb +23 -0
  58. data/test/spec/date/minus_spec.rb +30 -0
  59. data/test/spec/date/new_spec.rb +9 -0
  60. data/test/spec/date/neww_spec.rb +9 -0
  61. data/test/spec/date/ordinal_spec.rb +29 -0
  62. data/test/spec/date/parse_spec.rb +149 -0
  63. data/test/spec/date/relationship_spec.rb +20 -0
  64. data/test/spec/date/shared/civil.rb +66 -0
  65. data/test/spec/date/shared/commercial.rb +39 -0
  66. data/test/spec/date/shared/parse.rb +54 -0
  67. data/test/spec/date/shared/parse_eu.rb +30 -0
  68. data/test/spec/date/shared/parse_us.rb +29 -0
  69. data/test/spec/date/step_spec.rb +56 -0
  70. data/test/spec/date/strftime_spec.rb +205 -0
  71. data/test/spec/date/strptime_spec.rb +143 -0
  72. data/test/spec/date/upto_spec.rb +18 -0
  73. data/test/spec/parsedate/parsedate.rb +95 -0
  74. data/test/spec/time/httpdate_spec.rb +21 -0
  75. data/test/spec/time/iso8601_spec.rb +7 -0
  76. data/test/spec/time/rfc2822_spec.rb +7 -0
  77. data/test/spec/time/rfc822_spec.rb +7 -0
  78. data/test/spec/time/shared/rfc2822.rb +65 -0
  79. data/test/spec/time/shared/xmlschema.rb +53 -0
  80. data/test/spec/time/xmlschema_spec.rb +7 -0
  81. data/test/spec_helper.rb +56 -0
  82. data/test/test_helper.rb +4 -0
  83. data/test/unit/calculations_test.rb +82 -0
  84. data/test/unit/collection_test.rb +42 -0
  85. data/test/unit/magic_test.rb +37 -0
  86. data/test/unit/math_test.rb +30 -0
  87. data/test/unit/rulesets_test.rb +94 -0
  88. data/test/unit/samples/test_ruleset.yml +6 -0
  89. data/test/unit/util_test.rb +29 -0
  90. metadata +196 -0
@@ -0,0 +1,4 @@
1
+ require 'test/unit'
2
+ require 'date'
3
+ require 'smart_month'
4
+
@@ -0,0 +1,82 @@
1
+ require 'test_helper'
2
+
3
+ class CalculationsTest < Test::Unit::TestCase
4
+
5
+ # Tested By: Derek Perez
6
+ def test_should_return_first_day_of_month
7
+ # test an ambiguous first, no weekday defined.
8
+ assert_equal Month.april(2008).first, Date.new(2008,4,1)
9
+ # test a specific first weekday.
10
+ assert_equal Month.march(2002).first(:tuesday), Date.new(2002,3,5)
11
+ end
12
+
13
+ # Tested By: Derek Perez
14
+ def test_should_return_second_day_of_month
15
+ assert_equal Month.june(2007).second(:friday), Date.new(2007,6,8)
16
+ end
17
+
18
+ # Tested By: Derek Perez
19
+ def test_should_return_third_day_of_month
20
+ assert_equal Month.august(2008).third(:wednesday), Date.new(2008,8,20)
21
+ end
22
+
23
+ # Tested By: Derek Perez
24
+ def test_should_return_last_day_of_month
25
+ # test an ambiguous last, no weekday defined.
26
+ assert_equal Month.december(2008).last, Date.new(2008,12,31)
27
+ # test a specific last weekday.
28
+ assert_equal Month.september(2004).last(:friday), Date.new(2004,9,24)
29
+ # test a specific ambiguous, fourth, no weekday defined.
30
+ assert_equal Month.june(2004).fourth(:friday), Date.new(2004,6,25)
31
+ end
32
+
33
+ # Tested By: Derek Perez
34
+ def test_should_return_fourth_and_last_day_of_month
35
+ assert_equal Month.june(2004).fourth(:friday), Month.june(2004).last(:friday)
36
+ end
37
+
38
+ # Tested By: Derek Perez
39
+ def test_should_return_every_day_of_month
40
+ assertion = Month.april(2003).every(:tuesday)
41
+ assert_equal assertion.size, 5
42
+ assert_equal assertion, [Date.new(2003,4,1),Date.new(2003,4,8),Date.new(2003,4,15),Date.new(2003,4,22),Date.new(2003,4,29)]
43
+ end
44
+
45
+ # Tested By: Derek Perez
46
+ def test_should_retun_every_set_of_days_of_month
47
+ assertion = Month.august(2006).every!(:monday,:wednesday)
48
+ # verify
49
+ assert assertion.is_a?(Hash)
50
+ # monday assertions
51
+ assert_equal assertion[:monday].size, 4
52
+ assert_equal assertion[:monday], [Date.new(2006,8,7),Date.new(2006,8,14),Date.new(2006,8,21),Date.new(2006,8,28)]
53
+ # wednesday assertions
54
+ assert_equal assertion[:wednesday].size, 5
55
+ assert_equal assertion[:wednesday],
56
+ [Date.new(2006,8,2),Date.new(2006,8,9),Date.new(2006,8,16),Date.new(2006,8,23),Date.new(2006,8,30)]
57
+ end
58
+
59
+ # Tested By: Derek Perez
60
+ def test_should_return_every_day_of_month_as_array
61
+ assertion = Month.april(2003).every(:tuesday)
62
+ assert_equal assertion.size, 5
63
+ assert_equal assertion, [Date.new(2003,4,1),Date.new(2003,4,8),Date.new(2003,4,15),Date.new(2003,4,22),Date.new(2003,4,29)]
64
+ end
65
+
66
+ # Tested By: Derek Perez
67
+ def test_should_retun_every_set_of_days_of_month_as_array
68
+ assertion = Month.august(2006).every(:monday,:wednesday)
69
+ # verify
70
+ assert assertion.is_a?(Array)
71
+ # check for data integrity
72
+ assert_equal assertion.size, 9
73
+ assert_equal assertion, [Date.new(2006,8,2),Date.new(2006,8,9),Date.new(2006,8,16),Date.new(2006,8,23),Date.new(2006,8,30),Date.new(2006,8,7),Date.new(2006,8,14),Date.new(2006,8,21),Date.new(2006,8,28)]
74
+ end
75
+
76
+ # Tested By: Derek Perez
77
+ def test_should_return_total_days_of_month
78
+ assert_equal Month.april(2004).size, 30
79
+ assert_equal Month.april(2004).length, 30 # alternate access
80
+ end
81
+
82
+ end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ class CollectionTest < Test::Unit::TestCase
4
+
5
+ # Tested By: Derek Perez
6
+ def test_should_return_next_month
7
+ # default by copy
8
+ assert_equal Month.april.next, Month.may
9
+ # alternate approach
10
+ month = Month.april
11
+ month.next!
12
+ assert month, Month.may
13
+ end
14
+
15
+ # Tested By: Derek Perez
16
+ def test_should_return_previous_month
17
+ # default by copy
18
+ assert_equal Month.may.previous, Month.april
19
+ # alternate approach (by copy)
20
+ assert_equal Month.june.prev, Month.may
21
+ # alternate approach (by ref)
22
+ month = Month.august
23
+ month.previous!
24
+ assert_equal month, Month.july
25
+ # alternate approach (by copy)
26
+ month = Month.july
27
+ month.prev!
28
+ assert_equal month, Month.june
29
+ end
30
+
31
+ # Tested By: Derek Perez
32
+ def test_should_iterate_through_each_day_of_month
33
+ counter = 0
34
+ Month.april(2009).each do |day|
35
+ counter += 1
36
+ assert Month::DAYS.include?(day.to_day)
37
+ assert (1..31).include?(day.to_i)
38
+ end
39
+ assert_equal counter, Month.april.size
40
+ end
41
+
42
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class MagicTest < Test::Unit::TestCase
4
+
5
+ # Tested By: Derek Perez
6
+ def test_should_create_month_through_class_factory
7
+ assert_equal Month.april, Month.new("April")
8
+ assert_equal Month.march, Month.new(3)
9
+ assert_equal Month.june(2010), Month.new("June",2010)
10
+ end
11
+
12
+ # Tested By: Derek Perez
13
+ def test_should_magically_determine_function_execution
14
+ assert_equal Month.march.first(:tuesday), Month.march.first_tuesday
15
+ assert_equal Month.may.every_thursday, Month.may.every(:thursday)
16
+ assert_equal Month.june.every_tuesday_and_friday, Month.june.every(:tuesday,:friday)
17
+ end
18
+
19
+ # Tested By: Derek Perez
20
+ def test_should_return_month_as_array_index
21
+ assert_equal Month[3], Month.march
22
+ end
23
+
24
+ # Tested By: Derek Perez
25
+ def test_should_return_month_as_hash_key
26
+ assert_equal Month[:june], Month.june
27
+ assert_equal Month["april"], Month.april # alternate
28
+ end
29
+
30
+ # Tested By: Derek Perez
31
+ def test_should_return_days_week_control
32
+ assert_equal Month.march.first_and_third_tuesday, [Month.march.first(:tuesday), Month.march.third(:tuesday)]
33
+ assert_equal Month.march.first_and_last_friday, [Month.march.first(:friday), Month.march.last(:friday)]
34
+ assert_equal Month.march.first_and_second_last_friday, [Month.march.first(:friday), Month.march.second(:friday), Month.march.last(:friday)]
35
+ end
36
+
37
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class MathTest < Test::Unit::TestCase
4
+
5
+ # Tested By: Derek Perez
6
+ def test_should_add_month_and_fixnum
7
+ assert_equal (Month.march + 2), 5
8
+ end
9
+
10
+ # Tested By: Derek Perez
11
+ def text_should_subtract_month_and_fixnum
12
+ assert_equal (Month.june - 4), 2
13
+ end
14
+
15
+ # Tested By: Derek Perez
16
+ def test_should_divide_month_and_fixnum
17
+ assert_equal (Month.december / 2), 6
18
+ end
19
+
20
+ # Tested By: Derek Perez
21
+ def test_should_exponent_month_and_fixnum
22
+ assert_equal (Month.may ** 2), 25
23
+ end
24
+
25
+ # Tested By: Derek Perez
26
+ def test_should_modulo_month_and_fixnum
27
+ assert_equal (Month.june % 7), 6
28
+ end
29
+
30
+ end
@@ -0,0 +1,94 @@
1
+ require 'test_helper'
2
+
3
+ class RulesetsTest < Test::Unit::TestCase
4
+
5
+ # load up the test ruleset yaml file
6
+ def setup
7
+ SmartMonth::Rulesets.load_file(File.dirname(__FILE__)+'/samples/test_ruleset.yml')
8
+ end
9
+
10
+ # tested by: Derek Perez
11
+ def test_should_return_date_from_string_with_floating_year
12
+ floating_year = {:year => Time.now.year, :month => 12, :day => 25}
13
+ assert_equal [:date,floating_year], SmartMonth::Rulesets.new.send(:parse_string_as_date,{'when' => "December 25th"})
14
+ end
15
+
16
+ # tested by: Derek Perez
17
+ def test_should_return_date_from_string_with_fixed_year
18
+ fixed_year = {:year => 2010, :month => 12, :day => 25}
19
+ assert_equal [:date,fixed_year], SmartMonth::Rulesets.new.send(:parse_string_as_date,{'when' => "December 25th, 2010"})
20
+ end
21
+
22
+ # tested by: Derek Perez
23
+ def test_should_insert_rule_manually
24
+ SmartMonth::Rulesets.add_rule('My Manual Rule', 'March 25th 2009')
25
+ assert_equal Month[3].my_manual_rule, Date.new(2009,3,25)
26
+ end
27
+
28
+ # tested by: Derek Perez
29
+ def test_should_override_rule_definition_manually
30
+ initial = Month.december.christmas
31
+ SmartMonth::Rulesets.add_rule('Christmas', 'December 12th, 2009')
32
+ assert initial != Month.december.christmas
33
+ assert_equal Month.december.christmas, Date.new(2009,12,12)
34
+ end
35
+
36
+ # tested by: Derek Perez
37
+ def test_should_return_frequency_from_string
38
+ # parsed values
39
+ expected_every = [:freq, 'every_friday_and_saturday',nil,0]
40
+ expected_first_second = [:freq,'first_and_second_wednesday',nil,0]
41
+ expected_monday = [:freq, 'first_monday',nil,0]
42
+ # test
43
+ assert_equal expected_every, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "every friday and saturday"})
44
+ assert_equal expected_first_second, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "first and second wednesday"})
45
+ assert_equal expected_monday, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "first monday"})
46
+ end
47
+
48
+ # tested by: Derek Perez
49
+ def test_should_return_context_of_months
50
+ # parsed values
51
+ expected_march = [:freq, 'every_monday',['march'], 0]
52
+ expected_march_june = [:freq, 'first_tuesday',['march','june'],0]
53
+ expected_march_june_april = [:freq, 'second_tuesday',['march','june','april'],0]
54
+ # test
55
+ assert_equal expected_march, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "every monday in march"})
56
+ assert_equal expected_march_june, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "first tuesday in march and june"})
57
+ assert_equal expected_march_june_april, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => "second tuesday in march, june, and april"})
58
+ end
59
+
60
+ # tested by: Derek Perez
61
+ def test_should_return_context_of_month_with_year
62
+ expected_2010 = [:freq, 'every_monday',['november'],2010]
63
+ assert_equal expected_2010, SmartMonth::Rulesets.new.send(:parse_string_as_frequency,{'when' => 'every monday in november', 'year' => '2010'})
64
+ end
65
+
66
+ # tested by: Derek Perez
67
+ def test_should_parse_rules
68
+ # parsed values
69
+ rule_with_date = [:date, {:year => 2009, :day => 5, :month => 12}]
70
+ rule_with_freq = [:freq, "every_monday", ["march"], 0]
71
+ rule_with_freq_and_year = [:freq, "first_and_second_tuesday",["april"],2009]
72
+ # test
73
+ assert_equal rule_with_date, SmartMonth::Rulesets.new.send(:parse,{'when'=>'December 5th, 2009'})
74
+ assert_equal rule_with_freq, SmartMonth::Rulesets.new.send(:parse,{'when'=>'every monday in march'})
75
+ assert_equal rule_with_freq_and_year, SmartMonth::Rulesets.new.send(:parse,{'when'=>'first and second tuesday in april','year'=>'2009'})
76
+ end
77
+
78
+
79
+ def test_should_not_apply_alias_if_root_undefined
80
+ end
81
+
82
+ # tested by: Derek Perez
83
+ def test_should_not_remove_undefined_rule
84
+ assert !SmartMonth::Rulesets.remove_rule("Rule fake")
85
+ end
86
+
87
+ # tested by: Derek Perez
88
+ def test_should_remove_defined_rule
89
+ assert SmartMonth::Rulesets.remove_rule("Christmas")
90
+ assert !Month.december.respond_to?(:christmas)
91
+ assert !Month.december.first.respond_to?(:is_christmas?)
92
+ end
93
+
94
+ end
@@ -0,0 +1,6 @@
1
+ Christmas:
2
+ when: "December 25th"
3
+
4
+ "My Meeting":
5
+ when: "June 16th, 2010"
6
+
@@ -0,0 +1,29 @@
1
+ require 'test_helper'
2
+
3
+ class UtilTest < Test::Unit::TestCase
4
+
5
+ def test_should_return_year_of_month
6
+ assert_equal Month.march(2004).year, 2004
7
+ end
8
+
9
+ # Tested By: Derek Perez
10
+ def test_should_inspect_month_as_string
11
+ assert_equal Month.march.inspect, "March"
12
+ end
13
+
14
+ # Tested By: Derek Perez
15
+ def test_should_inspect_month_and_year_as_string
16
+ assert_equal Month.july(2012).inspect!, "July 2012"
17
+ end
18
+
19
+ # Tested By: Derek Perez
20
+ def test_should_convert_month_to_string
21
+ assert_equal Month.march.to_s, "March"
22
+ end
23
+
24
+ # Tested By: Derek Perez
25
+ def test_should_convert_month_to_fixnum
26
+ assert_equal Month.june.to_i, 6
27
+ end
28
+
29
+ end
metadata ADDED
@@ -0,0 +1,196 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: smart_month
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Derek Perez
8
+ - Jonathan Silverman
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2010-01-06 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description: |-
18
+ You can use SmartMonth to:
19
+ - Determine the first tuesday of any month in any year.
20
+ - Determine all of the fridays of any month in any year.
21
+ - Iterate through all the days of a month.
22
+ - Determine how many days of the month there are.
23
+ - Determine the first and last days of the month.
24
+ - And other fun date/month related things!
25
+ email: derek@derekperez.com
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - README
32
+ files:
33
+ - MIT-LICENSE
34
+ - README
35
+ - Rakefile
36
+ - VERSION
37
+ - lib/month.rb
38
+ - lib/smart_month.rb
39
+ - lib/smart_month/calculations.rb
40
+ - lib/smart_month/collection.rb
41
+ - lib/smart_month/extensions/date.rb
42
+ - lib/smart_month/magic.rb
43
+ - lib/smart_month/math.rb
44
+ - lib/smart_month/rulesets.rb
45
+ - lib/smart_month/util.rb
46
+ - pkg/smart_month-1.0.0.gem
47
+ - rdoc/classes/Date.html
48
+ - rdoc/classes/Month.html
49
+ - rdoc/classes/SmartMonth.html
50
+ - rdoc/classes/SmartMonth/Calculations.html
51
+ - rdoc/classes/SmartMonth/Collection.html
52
+ - rdoc/classes/SmartMonth/Magic.html
53
+ - rdoc/classes/SmartMonth/Magic/MonthFactory.html
54
+ - rdoc/classes/SmartMonth/Math.html
55
+ - rdoc/classes/SmartMonth/Rulesets.html
56
+ - rdoc/classes/SmartMonth/Util.html
57
+ - rdoc/classes/Time.html
58
+ - rdoc/created.rid
59
+ - rdoc/files/README.html
60
+ - rdoc/files/lib/month_rb.html
61
+ - rdoc/files/lib/smart_month/calculations_rb.html
62
+ - rdoc/files/lib/smart_month/collection_rb.html
63
+ - rdoc/files/lib/smart_month/extensions/date_rb.html
64
+ - rdoc/files/lib/smart_month/magic_rb.html
65
+ - rdoc/files/lib/smart_month/math_rb.html
66
+ - rdoc/files/lib/smart_month/rulesets_rb.html
67
+ - rdoc/files/lib/smart_month/util_rb.html
68
+ - rdoc/files/lib/smart_month_rb.html
69
+ - rdoc/fr_class_index.html
70
+ - rdoc/fr_file_index.html
71
+ - rdoc/fr_method_index.html
72
+ - rdoc/index.html
73
+ - rdoc/rdoc-style.css
74
+ - smart_month.gemspec
75
+ - test/spec/date/accessor_spec.rb
76
+ - test/spec/date/add_month_spec.rb
77
+ - test/spec/date/add_spec.rb
78
+ - test/spec/date/boat_spec.rb
79
+ - test/spec/date/civil_spec.rb
80
+ - test/spec/date/commercial_spec.rb
81
+ - test/spec/date/constants_spec.rb
82
+ - test/spec/date/conversions_spec.rb
83
+ - test/spec/date/downto_spec.rb
84
+ - test/spec/date/eql_spec.rb
85
+ - test/spec/date/gregorian_spec.rb
86
+ - test/spec/date/hash_spec.rb
87
+ - test/spec/date/infinity_spec.rb
88
+ - test/spec/date/julian_spec.rb
89
+ - test/spec/date/minus_month_spec.rb
90
+ - test/spec/date/minus_spec.rb
91
+ - test/spec/date/new_spec.rb
92
+ - test/spec/date/neww_spec.rb
93
+ - test/spec/date/ordinal_spec.rb
94
+ - test/spec/date/parse_spec.rb
95
+ - test/spec/date/relationship_spec.rb
96
+ - test/spec/date/shared/civil.rb
97
+ - test/spec/date/shared/commercial.rb
98
+ - test/spec/date/shared/parse.rb
99
+ - test/spec/date/shared/parse_eu.rb
100
+ - test/spec/date/shared/parse_us.rb
101
+ - test/spec/date/step_spec.rb
102
+ - test/spec/date/strftime_spec.rb
103
+ - test/spec/date/strptime_spec.rb
104
+ - test/spec/date/upto_spec.rb
105
+ - test/spec/parsedate/parsedate.rb
106
+ - test/spec/time/httpdate_spec.rb
107
+ - test/spec/time/iso8601_spec.rb
108
+ - test/spec/time/rfc2822_spec.rb
109
+ - test/spec/time/rfc822_spec.rb
110
+ - test/spec/time/shared/rfc2822.rb
111
+ - test/spec/time/shared/xmlschema.rb
112
+ - test/spec/time/xmlschema_spec.rb
113
+ - test/spec_helper.rb
114
+ - test/test_helper.rb
115
+ - test/unit/calculations_test.rb
116
+ - test/unit/collection_test.rb
117
+ - test/unit/magic_test.rb
118
+ - test/unit/math_test.rb
119
+ - test/unit/rulesets_test.rb
120
+ - test/unit/samples/test_ruleset.yml
121
+ - test/unit/util_test.rb
122
+ has_rdoc: true
123
+ homepage: http://github.com/perezd/smart_month
124
+ licenses: []
125
+
126
+ post_install_message:
127
+ rdoc_options:
128
+ - --charset=UTF-8
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: "0"
136
+ version:
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: "0"
142
+ version:
143
+ requirements: []
144
+
145
+ rubyforge_project:
146
+ rubygems_version: 1.3.5
147
+ signing_key:
148
+ specification_version: 3
149
+ summary: SmartMonth is a "bodysnatcher" plugin that takes boring Date month fixnums and replaces them with a rich toolkit of functionality.
150
+ test_files:
151
+ - test/test_helper.rb
152
+ - test/spec/date/strftime_spec.rb
153
+ - test/spec/date/ordinal_spec.rb
154
+ - test/spec/date/step_spec.rb
155
+ - test/spec/date/hash_spec.rb
156
+ - test/spec/date/new_spec.rb
157
+ - test/spec/date/relationship_spec.rb
158
+ - test/spec/date/julian_spec.rb
159
+ - test/spec/date/shared/parse.rb
160
+ - test/spec/date/shared/civil.rb
161
+ - test/spec/date/shared/parse_eu.rb
162
+ - test/spec/date/shared/parse_us.rb
163
+ - test/spec/date/shared/commercial.rb
164
+ - test/spec/date/strptime_spec.rb
165
+ - test/spec/date/neww_spec.rb
166
+ - test/spec/date/add_month_spec.rb
167
+ - test/spec/date/add_spec.rb
168
+ - test/spec/date/minus_spec.rb
169
+ - test/spec/date/civil_spec.rb
170
+ - test/spec/date/minus_month_spec.rb
171
+ - test/spec/date/commercial_spec.rb
172
+ - test/spec/date/parse_spec.rb
173
+ - test/spec/date/gregorian_spec.rb
174
+ - test/spec/date/downto_spec.rb
175
+ - test/spec/date/accessor_spec.rb
176
+ - test/spec/date/upto_spec.rb
177
+ - test/spec/date/infinity_spec.rb
178
+ - test/spec/date/boat_spec.rb
179
+ - test/spec/date/eql_spec.rb
180
+ - test/spec/date/constants_spec.rb
181
+ - test/spec/date/conversions_spec.rb
182
+ - test/spec/parsedate/parsedate.rb
183
+ - test/spec/time/shared/rfc2822.rb
184
+ - test/spec/time/shared/xmlschema.rb
185
+ - test/spec/time/httpdate_spec.rb
186
+ - test/spec/time/rfc2822_spec.rb
187
+ - test/spec/time/iso8601_spec.rb
188
+ - test/spec/time/xmlschema_spec.rb
189
+ - test/spec/time/rfc822_spec.rb
190
+ - test/unit/util_test.rb
191
+ - test/unit/calculations_test.rb
192
+ - test/unit/collection_test.rb
193
+ - test/unit/math_test.rb
194
+ - test/unit/rulesets_test.rb
195
+ - test/unit/magic_test.rb
196
+ - test/spec_helper.rb