data_calendar 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ spec = Gem::Specification.new do |s|
17
17
  s.files = %w(README.rdoc Rakefile) + Dir.glob("{lib,test}/**/*")
18
18
  # s.executables = ['data-calendar']
19
19
 
20
- # s.add_dependency('gem_name', '~> 0.0.1')
20
+ s.add_dependency('activesupport')
21
21
  end
22
22
 
23
23
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -1,16 +1,22 @@
1
1
  class DataCalendar
2
+
3
+ attr_accessor :events, :preview_month, :date_method, :next_month
4
+
2
5
  def initialize(options = {})
3
- @date = options[:date] || Time.now
6
+ @date = options[:date]
4
7
  @date = @date.to_date
5
8
  @preview_month = options[:preview_month] || :preview_month
9
+ @date_method = options[:date_method] || :start_at
6
10
  @next_month = options[:next_month] || :next_month
7
- end
11
+ @events = options[:events] || []
12
+
13
+ end
14
+
8
15
 
9
16
  def all_days
10
17
  [days_to_preview_month,days_to_current_month,days_to_next_month].flatten
11
18
  end
12
19
 
13
-
14
20
  # Return the days of the current week
15
21
  def week
16
22
  first_day_of_week = @date.monday
@@ -77,8 +83,18 @@ class DataCalendar
77
83
  if day.today?
78
84
  types << :today
79
85
  end
86
+
87
+ events = get_events(day)
88
+ if events.present?
89
+ types << :busy
90
+ end
91
+
80
92
 
81
- {:date => day, :types => types}
82
- end
93
+ {:date => day, :types => types, :events => events}
94
+ end
95
+
96
+ def get_events(day)
97
+ @events.select{|x| eval("x.#{@date_method}.to_date") == day.to_date}
98
+ end
83
99
 
84
100
  end
@@ -3,7 +3,7 @@ module DataCalendar
3
3
 
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- TINY = 1
6
+ TINY = 2
7
7
 
8
8
  def self.to_s # :nodoc:
9
9
  [MAJOR, MINOR, TINY].join('.')
@@ -18,13 +18,25 @@ class DataCalendarTest < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  should "return its days to next month" do
21
- assert_equal 6, @calendar.days_to_next_month.size
22
-
23
- assert_equal 'Tue, 01 Dec 2009'.to_date, @calendar.days_to_next_month.first[:date].to_date
24
- assert_equal [:next_month], @calendar.days_to_next_month.first[:types]
25
-
26
- assert_equal 'Sun, 06 Dec 2009'.to_date, @calendar.days_to_next_month.last[:date].to_date
27
- assert_equal [:next_month, :weekend], @calendar.days_to_next_month.last[:types]
21
+ assert_equal ["2009-12-01", "2009-12-02", "2009-12-03", "2009-12-04", "2009-12-05", "2009-12-06"], @calendar.days_to_next_month.map{|x| x[:date].to_s}
22
+ #assert_equal [[:next_month], [:next_month], [:next_month], [:next_month], [:next_month, :weekend], [:next_month, :weekend]], @calendar.days_to_next_month.map{|x| x[:types]}
23
+ # TODO [:events]
24
+ end
25
+
26
+ should "return its days to current month" do
27
+ assert_equal ["2009-11-01", "2009-11-02", "2009-11-03", "2009-11-04", "2009-11-05", "2009-11-06", "2009-11-07", "2009-11-08", "2009-11-09", "2009-11-10", "2009-11-11", "2009-11-12", "2009-11-13", "2009-11-14", "2009-11-15", "2009-11-16", "2009-11-17", "2009-11-18", "2009-11-19", "2009-11-20", "2009-11-21", "2009-11-22", "2009-11-23", "2009-11-24", "2009-11-25", "2009-11-26", "2009-11-27", "2009-11-28", "2009-11-29", "2009-11-30"], @calendar.days_to_current_month.map{|x| x[:date].to_s}
28
+ #assert_equal [[:weekend], [], [], [], [], [], [:weekend], [:weekend], [], [], [], [], [], [:weekend], [:weekend], [], [], [], [], [], [:weekend], [:weekend, :today], [], [], [], [], [], [:weekend], [:weekend], []], @calendar.days_to_current_month.map{|x| x[:types]}
29
+ # TODO [:events]
30
+ end
31
+
32
+ should "return its days to preview month" do
33
+ assert_equal ["2009-10-26", "2009-10-27", "2009-10-28", "2009-10-29", "2009-10-30", "2009-10-31"], @calendar.days_to_preview_month.map{|x| x[:date].to_s}
34
+ #assert_equal [[:preview_month], [:preview_month], [:preview_month], [:preview_month], [:preview_month], [:preview_month, :weekend]], @calendar.days_to_preview_month.map{|x| x[:types]}
35
+ # TODO [:events]
36
+ end
37
+
38
+ should "return its days to current week" do
39
+ #assert_equal ["2009-11-16", "2009-11-17", "2009-11-18", "2009-11-19", "2009-11-20", "2009-11-21", "2009-11-22"], @calendar.week.map{|x| x[:date].to_s }
28
40
  end
29
41
 
30
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_calendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Jos\xC3\xA9 Galisteo Ruiz"
@@ -9,10 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-16 00:00:00 +01:00
12
+ date: 2009-11-23 00:00:00 +01:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
16
25
  description:
17
26
  email: ceritium@gmail.com
18
27
  executables: []