actic 0.0.2.2 → 0.0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  module Actic
2
2
  require 'actic/engine' if defined?(Rails)
3
-
3
+ #require 'generators/actic/actic_install_generator' if defined?(Rails)
4
4
  end
@@ -2,6 +2,20 @@
2
2
  module Actic
3
3
  class Engine < Rails::Engine
4
4
  config.autoload_paths << File.expand_path("../../app/models", __FILE__)
5
+ #config.autoload_paths << File.expand_path("../../app/views", __FILE__)
6
+ #config.autoload_paths << File.expand_path("../../app/views/calendars", __FILE__)
7
+ config.autoload_paths << File.expand_path("../../app/controllers", __FILE__)
5
8
  config.autoload_paths << File.expand_path("../../migrate", __FILE__)
9
+ config.autoload_paths << File.expand_path("../../app/helpers", __FILE__)
10
+
11
+ paths.config.routes = File.expand_path("../../config/routes.rb", __FILE__)
12
+ paths.app.views = File.expand_path("../../app/views", __FILE__)
13
+
14
+ # paths.config.app = File.expand_path("../../app", __FILE__)
15
+
16
+ rake_tasks do
17
+ #load "your_railtie/railties/tasks.rake"
18
+ end
19
+
6
20
  end
7
21
  end
@@ -0,0 +1,83 @@
1
+ class CalendarsController < ApplicationController
2
+ # GET /calendars
3
+ # GET /calendars.xml
4
+ def index
5
+ @calendars = Calendar.all
6
+
7
+ respond_to do |format|
8
+ format.html # index.html.erb
9
+ format.xml { render :xml => @calendars }
10
+ end
11
+ end
12
+
13
+ # GET /calendars/1
14
+ # GET /calendars/1.xml
15
+ def show
16
+ @calendar = Calendar.find(params[:id])
17
+
18
+ respond_to do |format|
19
+ format.html # show.html.erb
20
+ format.xml { render :xml => @calendar }
21
+ end
22
+ end
23
+
24
+ # GET /calendars/new
25
+ # GET /calendars/new.xml
26
+ def new
27
+ @calendar = Calendar.new
28
+
29
+ respond_to do |format|
30
+ format.html # new.html.erb
31
+ format.xml { render :xml => @calendar }
32
+ end
33
+ end
34
+
35
+ # GET /calendars/1/edit
36
+ def edit
37
+ @calendar = Calendar.find(params[:id])
38
+ end
39
+
40
+ # POST /calendars
41
+ # POST /calendars.xml
42
+ def create
43
+ @calendar = Calendar.new(params[:calendar])
44
+
45
+ respond_to do |format|
46
+ if @calendar.save
47
+ format.html { redirect_to(@calendar, :notice => 'Dummy resource was successfully created.') }
48
+ format.xml { render :xml => @calendar, :status => :created, :location => @calendar }
49
+ else
50
+ format.html { render :action => "new" }
51
+ format.xml { render :xml => @calendar.errors, :status => :unprocessable_entity }
52
+ end
53
+ end
54
+ end
55
+
56
+ # PUT /calendars/1
57
+ # PUT /calendars/1.xml
58
+ def update
59
+ @calendar = Calendar.find(params[:id])
60
+
61
+ respond_to do |format|
62
+ if @calendar.update_attributes(params[:calendar])
63
+ format.html { redirect_to(@calendar, :notice => 'Dummy resource was successfully updated.') }
64
+ format.xml { head :ok }
65
+ else
66
+ format.html { render :action => "edit" }
67
+ format.xml { render :xml => @calendar.errors, :status => :unprocessable_entity }
68
+ end
69
+ end
70
+ end
71
+
72
+ # DELETE /calendars/1
73
+ # DELETE /calendars/1.xml
74
+ def destroy
75
+ @calendar = Calendar.find(params[:id])
76
+ @calendar.destroy
77
+
78
+ respond_to do |format|
79
+ format.html { redirect_to(calendars_url) }
80
+ format.xml { head :ok }
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,3 @@
1
+ module CalendarsHelper
2
+
3
+ end
@@ -1,9 +1,10 @@
1
1
  class Component < ActiveRecord::Base
2
2
  attr_accessor :component
3
3
  after_initialize :set_component
4
+ before_save :trigger_parent_component#, :except => :create
4
5
 
5
6
  def set_component
6
- @component = self.ical if (self.ical != nil)
7
+ #@component = self.ical if (self.ical != nil)
7
8
 
8
9
  [[Calendar, RiCal.Calendar], [Event, RiCal.Event], [Todo, RiCal.Todo],
9
10
  [Journal, RiCal.Journal], [Alarm, RiCal.Alarm], [FreeBusy, RiCal.Freebusy]].each {|comp|
@@ -34,7 +35,7 @@ class Component < ActiveRecord::Base
34
35
 
35
36
  def component_names
36
37
  self.class.reflect_on_all_associations.map do |a|
37
- a.name if a.klass.ancestors.include? Component
38
+ a.name if a.klass.ancestors.include?(Component) && (a.macro != :belongs_to)
38
39
  end.compact
39
40
  end
40
41
 
@@ -51,6 +52,16 @@ class Component < ActiveRecord::Base
51
52
  }
52
53
  end
53
54
 
55
+ def belongs_to
56
+ self.class.reflect_on_all_associations.select {|a| a.macro == :belongs_to }
57
+ end
58
+
59
+ def trigger_parent_component
60
+ self.belongs_to.each {|asc|
61
+ self.send(asc.name).add_component(self) unless self.send(asc.name).nil?
62
+ } if self.new_record?
63
+ end
64
+
54
65
  #These methods override ActiveRecords methods
55
66
  class << self
56
67
  def table_name
File without changes
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do |map|
2
+ resources :calendars#, :controller => '../app/controllers/calendars'#, :only => [:new, :create]
3
+ end
@@ -0,0 +1,21 @@
1
+ # require 'rails/generators'
2
+ # require 'rails/generators/migration'
3
+ require 'rails/generators/active_record'
4
+ class ActicInstallGenerator < Rails::Generators::Base
5
+ include Rails::Generators::Migration
6
+
7
+ source_root File.expand_path("../templates", __FILE__)
8
+
9
+ # def self.source_root
10
+ # @source_root ||= File.join(File.dirname(__FILE__), 'templates')
11
+ # end
12
+
13
+ def self.next_migration_number(dirname)
14
+ ActiveRecord::Generators::Base.next_migration_number(dirname)
15
+ end
16
+
17
+ def create_migration_file
18
+ migration_template 'migration.rb.tmpl', "db/migrate/create_actic_components.rb"
19
+ end
20
+ end
21
+
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.0.2.2
9
+ - 3
10
+ version: 0.0.2.3
11
11
  platform: ruby
12
12
  authors: []
13
13
 
@@ -46,6 +46,32 @@ dependencies:
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: haml
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :runtime
60
+ prerelease: false
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: haml-rails
64
+ requirement: &id004 !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: *id004
49
75
  description: Actic is a calendaring engine for Rails3, it combines an iCal interface with ORM. It acts as a wrapper around the RiCal library
50
76
  email:
51
77
  executables: []
@@ -57,12 +83,13 @@ extra_rdoc_files: []
57
83
  files:
58
84
  - lib/actic/engine.rb
59
85
  - lib/actic.rb
86
+ - lib/app/controllers/calendars_controller.rb
87
+ - lib/app/helpers/calendars_helper.rb
60
88
  - lib/app/models/alarm.rb
61
89
  - lib/app/models/calendar.rb
62
90
  - lib/app/models/component.rb
63
91
  - lib/app/models/event.rb
64
92
  - lib/app/models/free_busy.rb
65
- - lib/app/models/inspectable.rb
66
93
  - lib/app/models/journal.rb
67
94
  - lib/app/models/pattern.rb
68
95
  - lib/app/models/patterns/ex_date.rb
@@ -71,8 +98,14 @@ files:
71
98
  - lib/app/models/patterns/r_rule.rb
72
99
  - lib/app/models/sub_calendar.rb
73
100
  - lib/app/models/todo.rb
74
- - lib/migrate/20101217173535_create_components.rb
75
- - lib/migrate/20101218062739_create_inspectables.rb
101
+ - lib/app/views/calendars/_form.html.haml
102
+ - lib/app/views/calendars/edit.html.haml
103
+ - lib/app/views/calendars/index.html.haml
104
+ - lib/app/views/calendars/new.html.haml
105
+ - lib/app/views/calendars/show.html.haml
106
+ - lib/config/routes.rb
107
+ - lib/generators/actic_install_generator.rb
108
+ - lib/generators/templates/migration.rb.tmpl
76
109
  - MIT-LICENSE
77
110
  - Rakefile
78
111
  - README.rdoc
@@ -90,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
123
  requirements:
91
124
  - - ">="
92
125
  - !ruby/object:Gem::Version
93
- hash: 4058765439295397492
126
+ hash: 106874503336549993
94
127
  segments:
95
128
  - 0
96
129
  version: "0"
@@ -99,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
132
  requirements:
100
133
  - - ">="
101
134
  - !ruby/object:Gem::Version
102
- hash: 4058765439295397492
135
+ hash: 106874503336549993
103
136
  segments:
104
137
  - 0
105
138
  version: "0"
@@ -1,2 +0,0 @@
1
- class Inspectable < ActiveRecord::Base
2
- end
@@ -1,12 +0,0 @@
1
- class CreateInspectables < ActiveRecord::Migration
2
- def self.up
3
- create_table :inspectables do |t|
4
-
5
- t.timestamps
6
- end
7
- end
8
-
9
- def self.down
10
- drop_table :inspectables
11
- end
12
- end