ffcrm_cloudfuji 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  pkg/
2
2
  *.gem
3
+ Gemfile.lock
@@ -12,7 +12,6 @@ Gem::Specification.new do |s|
12
12
  s.files = `git ls-files`.split("\n")
13
13
  s.version = FatFreeCRM::Cloudfuji::VERSION
14
14
 
15
- s.add_dependency 'fat_free_crm', '>= 0.11.3'
16
15
  s.add_dependency 'cloudfuji'
17
16
  s.add_dependency 'authlogic_cloudfuji', '~> 0.9'
18
17
 
@@ -1,6 +1,3 @@
1
- require 'cloudfuji'
2
- require 'authlogic_cloudfuji'
3
-
4
1
  module FatFreeCRM
5
2
  module Cloudfuji
6
3
  class << self
@@ -1,23 +1,25 @@
1
- module Cloudfuji
2
- module EventObservers
3
- class AppObserver < Cloudfuji::EventObserver
4
- def app_claimed
5
- puts "Updating #{User.first.inspect} with incoming data #{params.inspect}"
6
- puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
7
- puts "Setting username to: #{params.try(:[], 'ido_id')}"
1
+ module FatFreeCRM
2
+ module Cloudfuji
3
+ module EventObservers
4
+ class AppObserver < ::Cloudfuji::EventObserver
5
+ def app_claimed
6
+ puts "Updating #{User.first.inspect} with incoming data #{params.inspect}"
7
+ puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
8
+ puts "Setting username to: #{params.try(:[], 'ido_id')}"
8
9
 
9
- user = User.first
10
- if user
11
- data = params['data']
10
+ user = User.first
11
+ if user
12
+ data = params['data']
12
13
 
13
- user.email = data['email']
14
- user.first_name = user.email.split('@').first
15
- user.last_name = user.email.split('@').last
16
- user.username = data['email']
17
- user.deleted_at = nil
18
- user.send("#{::Authlogic::Cas.cas_username_column}=".to_sym, params['data'].try(:[], 'ido_id'))
19
- puts user.inspect
20
- user.save!
14
+ user.email = data['email']
15
+ user.first_name = user.email.split('@').first
16
+ user.last_name = user.email.split('@').last
17
+ user.username = data['email']
18
+ user.deleted_at = nil
19
+ user.send("#{::Authlogic::Cas.cas_username_column}=".to_sym, params['data'].try(:[], 'ido_id'))
20
+ puts user.inspect
21
+ user.save!
22
+ end
21
23
  end
22
24
  end
23
25
  end
@@ -1,53 +1,55 @@
1
- module Cloudfuji
2
- module EventObservers
3
- class CustomerObserver < Cloudfuji::EventObserver
4
- # "customer_created"
5
- # :account_balance => 0
6
- # :object => "customer"
7
- # :email => "s+cfdemo@cloudfuji.com"
8
- # :created => 1332269951
9
- # :id => "cus_cpkg4h0KfLD3lp"
10
- # :livemode => true
11
- # :human => "Customer CREATED (cus_cpkg4h0KfLD3lp), s+cfdemo@cloudfuji.com"}
12
- def customer_created
13
- note_customer_activity("#{data['email']} created as a customer with external id #{data['id']}") if data['livemode']
14
- end
15
-
16
- def customer_signed_up
17
- note_customer_activity("#{data['first_name']} #{data['last_name']} (#{data['email']}) signed up as a customer")
18
- end
1
+ module FatFreeCRM
2
+ module Cloudfuji
3
+ module EventObservers
4
+ class CustomerObserver < ::Cloudfuji::EventObserver
5
+ # "customer_created"
6
+ # :account_balance => 0
7
+ # :object => "customer"
8
+ # :email => "s+cfdemo@cloudfuji.com"
9
+ # :created => 1332269951
10
+ # :id => "cus_cpkg4h0KfLD3lp"
11
+ # :livemode => true
12
+ # :human => "Customer CREATED (cus_cpkg4h0KfLD3lp), s+cfdemo@cloudfuji.com"}
13
+ def customer_created
14
+ note_customer_activity("#{data['email']} created as a customer with external id #{data['id']}") if data['livemode']
15
+ end
19
16
 
20
- private
17
+ def customer_signed_up
18
+ note_customer_activity("#{data['first_name']} #{data['last_name']} (#{data['email']}) signed up as a customer")
19
+ end
21
20
 
22
- def note_customer_activity(message)
23
- subject = find_or_create_activity_subject!
24
- puts "Found subject: #{subject.inspect}"
21
+ private
25
22
 
26
- subject.versions.create! :event => message
27
- end
23
+ def note_customer_activity(message)
24
+ subject = find_or_create_activity_subject!
25
+ puts "Found subject: #{subject.inspect}"
28
26
 
29
- def data
30
- params['data']
31
- end
27
+ subject.versions.create! :event => message
28
+ end
32
29
 
33
- def find_or_create_activity_subject!
34
- lookups = [Account, Lead, Contact]
35
- lookups.each do |model|
36
- puts "#{model}.find_by_email( #{data['email']} )"
37
- result = model.find_by_email(data['email'])
38
- return result if result
30
+ def data
31
+ params['data']
39
32
  end
40
33
 
41
- lead = Lead.find_by_email(data['email'])
42
- lead ||= Lead.new
34
+ def find_or_create_activity_subject!
35
+ lookups = [Account, Lead, Contact]
36
+ lookups.each do |model|
37
+ puts "#{model}.find_by_email( #{data['email']} )"
38
+ result = model.find_by_email(data['email'])
39
+ return result if result
40
+ end
43
41
 
44
- lead.email = data['email']
45
- lead.first_name ||= data['first_name'] || recipient.split("@").first if lead.first_name.blank?
46
- lead.last_name ||= data['last_name'] || recipient.split("@").last if lead.last_name.blank?
42
+ lead = Lead.find_by_email(data['email'])
43
+ lead ||= Lead.new
47
44
 
48
- lead.save
45
+ lead.email = data['email']
46
+ lead.first_name ||= data['first_name'] || recipient.split("@").first if lead.first_name.blank?
47
+ lead.last_name ||= data['last_name'] || recipient.split("@").last if lead.last_name.blank?
49
48
 
50
- lead
49
+ lead.save
50
+
51
+ lead
52
+ end
51
53
  end
52
54
  end
53
55
  end
@@ -1,123 +1,125 @@
1
- module Cloudfuji
2
- module EventObservers
3
- class EmailObserver < Cloudfuji::EventObserver
4
- # NOTE: It'd be nice to have a before_filter.
5
-
6
- # "email_delivered"
7
- # :message_headers => "[[\"Received\", \"by luna.mailgun.net with SMTP mgrt 7313261; Tue, 20 Mar 2012 19:00:58 +0000\"], [\"Received\", \"from localhost.localdomain (ec2-23-20-14-40.compute-1.amazonaws.com [23.20.14.40]) by mxa.mailgun.org with ESMTP id 4f68d3e9.4ddcdf0-luna; Tue, 20 Mar 2012 19:00:57 -0000 (UTC)\"], [\"Date\", \"Tue, 20 Mar 2012 19:00:57 +0000\"], [\"From\", \"Sean Grove <sean@cloudfuji.com>\"], [\"Reply-To\", \"Cloudfuji Team <support@cloudfuji.com>\"], [\"Message-Id\", \"<4f68d3e9ad834_3c29377ea432615@ip-10-190-150-17.mail>\"], [\"X-Mailgun-Campaign-Id\", \"cloudfuji_buddies\"], [\"Repy-To\", \"support@cloudfuji.com\"], [\"To\", \"s+cfdemo@cloudfuji.com\"], [\"Subject\", \"Cloudfuji Beta: Thank you for your early support. Here's a gift for you.\"], [\"List-Unsubscribe\", \"<mailto:u+na6wcn3gmqzdszbsmrrdam3ghfstkzrxgbstgn3fgvtdgzjumvrgmyzgmm6tqnlkgetheplteuzeey3gmrsw23zfgqyge5ltnbus4zdpez2d2jjsietgipjrmi4a@email.cloudfuji.com>\"], [\"X-Mailgun-Sid\", \"WyI2NWQ4MSIsICJzK2NmZGVtb0BidXNoaS5kbyIsICIxYjgiXQ==\"], [\"Sender\", \"sean=cloudfuji.com@cloudfuji.com\"]]"
8
- # :message_id =>"<4f68d3e9ad834_3c29377ea432615@ip-10-190-150-17.mail>"
9
- # :recipient => "s+cfdemo@cloudfuji.com"
10
- # :domain => "cloudfuji.com"
11
- # :custom_variables => nil
12
- # :human =>"Mail to s+cfdemo@cloudfuji.com successfully delievered."}}
13
- def email_delivered
14
- message = ""
15
- message += "Email delivered to #{recipient}"
16
- message += " in email campaign '#{campaign.titleize}'" if campaign
17
-
18
- note_email_activity( message.strip )
19
- end
20
-
21
- # "email_opened"
22
- # :recipient=>"s+cfdemo@cloudfuji.com"
23
- # :domain=>"cloudfuji.com"
24
- # :campaign_id=>"cloudfuji_buddies"
25
- # :campaign_name=>"Cloudfuji Buddies"
26
- # :tag=>nil
27
- # :mailing_list=>nil
28
- # :custom_variables=>nil
29
- def email_opened
30
- message = ""
31
- message += "Email opened by #{recipient}"
32
- message += " in email campaign '#{campaign.titleize}" if campaign
33
-
34
- note_email_activity( message.strip )
35
- end
1
+ module FatFreeCRM
2
+ module Cloudfuji
3
+ module EventObservers
4
+ class EmailObserver < ::Cloudfuji::EventObserver
5
+ # NOTE: It'd be nice to have a before_filter.
6
+
7
+ # "email_delivered"
8
+ # :message_headers => "[[\"Received\", \"by luna.mailgun.net with SMTP mgrt 7313261; Tue, 20 Mar 2012 19:00:58 +0000\"], [\"Received\", \"from localhost.localdomain (ec2-23-20-14-40.compute-1.amazonaws.com [23.20.14.40]) by mxa.mailgun.org with ESMTP id 4f68d3e9.4ddcdf0-luna; Tue, 20 Mar 2012 19:00:57 -0000 (UTC)\"], [\"Date\", \"Tue, 20 Mar 2012 19:00:57 +0000\"], [\"From\", \"Sean Grove <sean@cloudfuji.com>\"], [\"Reply-To\", \"Cloudfuji Team <support@cloudfuji.com>\"], [\"Message-Id\", \"<4f68d3e9ad834_3c29377ea432615@ip-10-190-150-17.mail>\"], [\"X-Mailgun-Campaign-Id\", \"cloudfuji_buddies\"], [\"Repy-To\", \"support@cloudfuji.com\"], [\"To\", \"s+cfdemo@cloudfuji.com\"], [\"Subject\", \"Cloudfuji Beta: Thank you for your early support. Here's a gift for you.\"], [\"List-Unsubscribe\", \"<mailto:u+na6wcn3gmqzdszbsmrrdam3ghfstkzrxgbstgn3fgvtdgzjumvrgmyzgmm6tqnlkgetheplteuzeey3gmrsw23zfgqyge5ltnbus4zdpez2d2jjsietgipjrmi4a@email.cloudfuji.com>\"], [\"X-Mailgun-Sid\", \"WyI2NWQ4MSIsICJzK2NmZGVtb0BidXNoaS5kbyIsICIxYjgiXQ==\"], [\"Sender\", \"sean=cloudfuji.com@cloudfuji.com\"]]"
9
+ # :message_id =>"<4f68d3e9ad834_3c29377ea432615@ip-10-190-150-17.mail>"
10
+ # :recipient => "s+cfdemo@cloudfuji.com"
11
+ # :domain => "cloudfuji.com"
12
+ # :custom_variables => nil
13
+ # :human =>"Mail to s+cfdemo@cloudfuji.com successfully delievered."}}
14
+ def email_delivered
15
+ message = ""
16
+ message += "Email delivered to #{recipient}"
17
+ message += " in email campaign '#{campaign.titleize}'" if campaign
18
+
19
+ note_email_activity( message.strip )
20
+ end
36
21
 
37
- # :event=>"clicked"
38
- # :recipient=>"s+cfdemo@cloudfuji.com"
39
- # :domain=>"cloudfuji.com"
40
- # :campaign_id=>"cloudfuji_buddies"
41
- # :campaign_name=>"Cloudfuji Buddies"
42
- # :tag=>nil
43
- # :mailing_list=>nil
44
- # :custom_variables=>nil
45
- # :url=>"https://cloudfuji.com/cas/invite/?invitation_token=8hswc7kqhPys6FsUJ1Nm&service=https://cloudfuji.com/users/service&redirect=https://cloudfuji.com/apps/new?app=fat_free_crm&src=icon"
46
- # :human=>"s+cfdemo@cloudfuji.com clicked on link in Cloudfuji Buddies to https://cloudfuji.com/cas/invite/?invitation_token=8hswc7kqhPys6FsUJ1Nm&service=https://cloudfuji.com/users/service&redirect=https://cloudfuji.com/apps/new?app=fat_free_crm&src=icon"}
47
- def email_clicked
48
- message = "#{recipient} clicked #{data['url']}"
49
- message += "in email campaign '#{campaign.titleize}" if campaign
50
-
51
- note_email_activity(message)
52
- end
22
+ # "email_opened"
23
+ # :recipient=>"s+cfdemo@cloudfuji.com"
24
+ # :domain=>"cloudfuji.com"
25
+ # :campaign_id=>"cloudfuji_buddies"
26
+ # :campaign_name=>"Cloudfuji Buddies"
27
+ # :tag=>nil
28
+ # :mailing_list=>nil
29
+ # :custom_variables=>nil
30
+ def email_opened
31
+ message = ""
32
+ message += "Email opened by #{recipient}"
33
+ message += " in email campaign '#{campaign.titleize}'" if campaign
34
+
35
+ note_email_activity( message.strip )
36
+ end
53
37
 
38
+ # :event=>"clicked"
39
+ # :recipient=>"s+cfdemo@cloudfuji.com"
40
+ # :domain=>"cloudfuji.com"
41
+ # :campaign_id=>"cloudfuji_buddies"
42
+ # :campaign_name=>"Cloudfuji Buddies"
43
+ # :tag=>nil
44
+ # :mailing_list=>nil
45
+ # :custom_variables=>nil
46
+ # :url=>"https://cloudfuji.com/cas/invite/?invitation_token=8hswc7kqhPys6FsUJ1Nm&service=https://cloudfuji.com/users/service&redirect=https://cloudfuji.com/apps/new?app=fat_free_crm&src=icon"
47
+ # :human=>"s+cfdemo@cloudfuji.com clicked on link in Cloudfuji Buddies to https://cloudfuji.com/cas/invite/?invitation_token=8hswc7kqhPys6FsUJ1Nm&service=https://cloudfuji.com/users/service&redirect=https://cloudfuji.com/apps/new?app=fat_free_crm&src=icon"}
48
+ def email_clicked
49
+ message = "#{recipient} clicked #{data['url']}"
50
+ message += "in email campaign '#{campaign.titleize}'" if campaign
51
+
52
+ note_email_activity(message)
53
+ end
54
54
 
55
- def email_subscribed
56
- note_email_activity("#{recipient} subscribed to a mailing list")
57
- end
58
55
 
59
- private
56
+ def email_subscribed
57
+ note_email_activity("#{recipient} subscribed to a mailing list")
58
+ end
60
59
 
61
- def note_email_activity(message)
62
- subject = find_or_create_activity_subject!
63
- puts "Found subject: #{subject.inspect}"
60
+ private
64
61
 
65
- subject.versions.create! :event => message
66
- end
62
+ def note_email_activity(message)
63
+ subject = find_or_create_activity_subject!
64
+ puts "Found subject: #{subject.inspect}"
67
65
 
68
- def data
69
- params['data']
70
- end
66
+ subject.versions.create! :event => message
67
+ end
71
68
 
72
- def find_or_create_activity_subject!
73
- lookups = [Account, Lead, Contact]
74
- lookups.each do |model|
75
- puts "#{model}.find_by_email( #{recipient} )"
76
- result = model.find_by_email(recipient)
77
- return result if result
69
+ def data
70
+ params['data']
78
71
  end
79
72
 
80
- puts "No pre-existing records found, creating a lead"
81
- lead = Lead.find_by_email(recipient)
82
- lead ||= Lead.new
73
+ def find_or_create_activity_subject!
74
+ lookups = [Account, Lead, Contact]
75
+ lookups.each do |model|
76
+ puts "#{model}.find_by_email( #{recipient} )"
77
+ result = model.find_by_email(recipient)
78
+ return result if result
79
+ end
83
80
 
84
- lead.email = recipient
85
- lead.first_name = recipient.split("@").first if lead.first_name.blank?
86
- lead.last_name = recipient.split("@").last if lead.last_name.blank?
87
- lead.user = User.first if lead.user_id.nil?
81
+ puts "No pre-existing records found, creating a lead"
82
+ lead = Lead.find_by_email(recipient)
83
+ lead ||= Lead.new
88
84
 
89
- puts "About to save:"
90
- puts lead.inspect
85
+ lead.email = recipient
86
+ lead.first_name = recipient.split("@").first if lead.first_name.blank?
87
+ lead.last_name = recipient.split("@").last if lead.last_name.blank?
88
+ lead.user = User.first if lead.user_id.nil?
91
89
 
92
- lead.save!
90
+ puts "About to save:"
91
+ puts lead.inspect
93
92
 
94
- puts lead.inspect
93
+ lead.save!
95
94
 
96
- lead
97
- end
95
+ puts lead.inspect
98
96
 
99
- # Temp workarounds until umi delivers events properly
100
- # Good example of the necessity of deep-schema enforcement for events
101
- def headers
102
- begin
103
- JSON(data['message_headers'])
104
- rescue => e
105
- return []
97
+ lead
106
98
  end
107
- end
108
99
 
109
- def recipient
110
- data['recipient']
111
- end
100
+ # Temp workarounds until umi delivers events properly
101
+ # Good example of the necessity of deep-schema enforcement for events
102
+ def headers
103
+ begin
104
+ JSON(data['message_headers'])
105
+ rescue => e
106
+ return []
107
+ end
108
+ end
112
109
 
113
- def custom_variables
114
- JSON(data['custom_variables'])
115
- end
110
+ def recipient
111
+ data['recipient']
112
+ end
116
113
 
117
- def campaign
118
- campaign = data['campaign_id'] || data['campaign_name']
119
- campaign ||= headers.select{|key, value| key == "X-Mailgun-Campaign-Id"}.try(:first).try(:last) unless headers.empty?
120
- campaign
114
+ def custom_variables
115
+ JSON(data['custom_variables'])
116
+ end
117
+
118
+ def campaign
119
+ campaign = data['campaign_id'] || data['campaign_name']
120
+ campaign ||= headers.select{|key, value| key == "X-Mailgun-Campaign-Id"}.try(:first).try(:last) unless headers.empty?
121
+ campaign
122
+ end
121
123
  end
122
124
  end
123
125
  end
@@ -1,7 +1,9 @@
1
- module Cloudfuji
2
- module EventObservers
3
- class PaymentObserver < Cloudfuji::EventObserver
4
- # NOTE: It'd be nice to have a before_filter.
1
+ module FatFreeCRM
2
+ module Cloudfuji
3
+ module EventObservers
4
+ class PaymentObserver < ::Cloudfuji::EventObserver
5
+ # NOTE: It'd be nice to have a before_filter.
6
+ end
5
7
  end
6
8
  end
7
9
  end
@@ -1,50 +1,52 @@
1
- module Cloudfuji
2
- module EventObservers
3
- class UserObserver < Cloudfuji::EventObserver
4
- def user_added
5
- puts "Adding a new user with incoming data #{params.inspect}"
6
- puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
7
- puts "Setting username to: #{params['data'].try(:[], 'ido_id')}"
1
+ module FatFreeCRM
2
+ module Cloudfuji
3
+ module EventObservers
4
+ class UserObserver < ::Cloudfuji::EventObserver
5
+ def user_added
6
+ puts "Adding a new user with incoming data #{params.inspect}"
7
+ puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
8
+ puts "Setting username to: #{params['data'].try(:[], 'ido_id')}"
8
9
 
9
- data = params['data']
10
+ data = params['data']
10
11
 
11
- user = User.unscoped.find_or_create_by_ido_id(data['ido_id'])
12
+ user = User.unscoped.find_or_create_by_ido_id(data['ido_id'])
12
13
 
13
- user.email = data['email']
14
- user.first_name = user.email.split('@').first
15
- user.last_name = user.email.split('@').last
16
- user.username = data['email']
17
- user.deleted_at = nil
18
- user.send("#{::Authlogic::Cas.cas_username_column}=".to_sym, data.try(:[], 'ido_id'))
14
+ user.email = data['email']
15
+ user.first_name = user.email.split('@').first
16
+ user.last_name = user.email.split('@').last
17
+ user.username = data['email']
18
+ user.deleted_at = nil
19
+ user.send("#{::Authlogic::Cas.cas_username_column}=".to_sym, data.try(:[], 'ido_id'))
19
20
 
20
- puts user.inspect
21
+ puts user.inspect
21
22
 
22
- user.save!
23
- end
23
+ user.save!
24
+ end
24
25
 
25
- def user_removed
26
- puts "Removing user based on incoming data #{params.inspect}"
27
- puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
26
+ def user_removed
27
+ puts "Removing user based on incoming data #{params.inspect}"
28
+ puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
28
29
 
29
- user = User.unscoped.find_by_ido_id(params['data']['ido_id'])
30
+ user = User.unscoped.find_by_ido_id(params['data']['ido_id'])
30
31
 
31
- # TODO: Disable the user instead of destroying them (to prevent data loss)
32
- user.try(:destroy)
33
- end
32
+ # TODO: Disable the user instead of destroying them (to prevent data loss)
33
+ user.try(:destroy)
34
+ end
34
35
 
35
- def user_updated
36
- puts "Updating user based on incoming data #{params.inspect}"
37
- puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
36
+ def user_updated
37
+ puts "Updating user based on incoming data #{params.inspect}"
38
+ puts "Authlogic username column: #{::Authlogic::Cas.cas_username_column}="
38
39
 
39
- data = params['data']
40
- user = User.unscoped.find_by_ido_id(data['ido_id'])
40
+ data = params['data']
41
+ user = User.unscoped.find_by_ido_id(data['ido_id'])
41
42
 
42
- if user
43
- # Re-use the CAS login method to set all the extra attributes we
44
- # care about (first_name, last_name, email, local, timezone,
45
- # etc.)
46
- user.cloudfuji_extra_attributes(data)
47
- user.save
43
+ if user
44
+ # Re-use the CAS login method to set all the extra attributes we
45
+ # care about (first_name, last_name, email, local, timezone,
46
+ # etc.)
47
+ user.cloudfuji_extra_attributes(data)
48
+ user.save
49
+ end
48
50
  end
49
51
  end
50
52
  end
@@ -0,0 +1,24 @@
1
+ # Mail routes
2
+ Cloudfuji::Mailroute.map do |m|
3
+ m.route("mail.new_comment") do
4
+ m.subject('{:project_title}: {:mock_title} #{:mock_version} comment {:parent_comment_id}',
5
+ :project_title => m.words_and_spaces,
6
+ :mock_title => m.words_and_spaces,
7
+ :mock_version => m.number,
8
+ :parent_comment_id => m.number)
9
+
10
+
11
+ # Must be replying to send a new comment via email
12
+ m.add_constraint(:reply, :required)
13
+ end
14
+
15
+ m.route("mail.new_project") do
16
+ m.subject("{:project_title}: {:mock_title}",
17
+ :project_title => m.words_and_spaces,
18
+ :mock_title => m.words_and_spaces)
19
+ end
20
+
21
+ m.route("mail.simple") do
22
+ m.subject("hello")
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  module FatFreeCRM
2
2
  module Cloudfuji
3
- VERSION = '0.1.1'
3
+ VERSION = '0.1.3'
4
4
  end
5
5
  end
@@ -1 +1,6 @@
1
+ # Gem Dependencies
2
+ require 'cloudfuji'
3
+ require 'authlogic_cloudfuji'
4
+
5
+ # Rails Engine
1
6
  require 'fat_free_crm/cloudfuji/engine'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffcrm_cloudfuji
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,24 +10,8 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-10 00:00:00.000000000 Z
13
+ date: 2012-05-11 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: fat_free_crm
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: 0.11.3
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ! '>='
29
- - !ruby/object:Gem::Version
30
- version: 0.11.3
31
15
  - !ruby/object:Gem::Dependency
32
16
  name: cloudfuji
33
17
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +52,6 @@ extra_rdoc_files: []
68
52
  files:
69
53
  - .gitignore
70
54
  - Gemfile
71
- - Gemfile.lock
72
55
  - MIT-LICENSE
73
56
  - README
74
57
  - Rakefile
@@ -85,6 +68,7 @@ files:
85
68
  - lib/fat_free_crm/cloudfuji/event_observers/email_observer.rb
86
69
  - lib/fat_free_crm/cloudfuji/event_observers/payment_observer.rb
87
70
  - lib/fat_free_crm/cloudfuji/event_observers/user_observer.rb
71
+ - lib/fat_free_crm/cloudfuji/mail_routes.rb
88
72
  - lib/fat_free_crm/cloudfuji/version.rb
89
73
  - lib/ffcrm_cloudfuji.rb
90
74
  - uninstall.rb
@@ -102,7 +86,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
86
  version: '0'
103
87
  segments:
104
88
  - 0
105
- hash: 959104865
89
+ hash: -564127629
106
90
  required_rubygems_version: !ruby/object:Gem::Requirement
107
91
  none: false
108
92
  requirements:
@@ -111,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
95
  version: '0'
112
96
  segments:
113
97
  - 0
114
- hash: 959104865
98
+ hash: -564127629
115
99
  requirements: []
116
100
  rubyforge_project:
117
101
  rubygems_version: 1.8.24
data/Gemfile.lock DELETED
@@ -1,193 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ffcrm_cloudfuji (0.1.1)
5
- authlogic_cloudfuji (~> 0.9)
6
- cloudfuji
7
- fat_free_crm (>= 0.11.3)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- actionmailer (3.2.3)
13
- actionpack (= 3.2.3)
14
- mail (~> 2.4.4)
15
- actionpack (3.2.3)
16
- activemodel (= 3.2.3)
17
- activesupport (= 3.2.3)
18
- builder (~> 3.0.0)
19
- erubis (~> 2.7.0)
20
- journey (~> 1.0.1)
21
- rack (~> 1.4.0)
22
- rack-cache (~> 1.2)
23
- rack-test (~> 0.6.1)
24
- sprockets (~> 2.1.2)
25
- activemodel (3.2.3)
26
- activesupport (= 3.2.3)
27
- builder (~> 3.0.0)
28
- activerecord (3.2.3)
29
- activemodel (= 3.2.3)
30
- activesupport (= 3.2.3)
31
- arel (~> 3.0.2)
32
- tzinfo (~> 0.3.29)
33
- activeresource (3.2.3)
34
- activemodel (= 3.2.3)
35
- activesupport (= 3.2.3)
36
- activesupport (3.2.3)
37
- i18n (~> 0.6)
38
- multi_json (~> 1.0)
39
- acts-as-taggable-on (2.2.2)
40
- rails (~> 3.0)
41
- acts_as_commentable (3.0.1)
42
- acts_as_list (0.1.6)
43
- addressable (2.2.8)
44
- ajax-chosen-rails (0.2.0)
45
- chosen-rails_ffcrm
46
- railties (~> 3.0)
47
- thor (~> 0.14)
48
- arel (3.0.2)
49
- authlogic (3.1.0)
50
- activerecord (>= 3.0.7)
51
- activerecord (>= 3.0.7)
52
- authlogic_cloudfuji (0.9.4)
53
- authlogic
54
- rubycas-client (= 2.2.1)
55
- builder (3.0.0)
56
- cancan (1.6.7)
57
- chosen-rails_ffcrm (0.9.5)
58
- railties (~> 3.0)
59
- thor (~> 0.14)
60
- chronic (0.6.7)
61
- cloudfuji (0.0.39)
62
- highline (>= 1.6.1)
63
- json (>= 1.4.6)
64
- orm_adapter (~> 0.0.3)
65
- rest-client (>= 1.6.1)
66
- cocaine (0.2.1)
67
- css_parser (1.2.6)
68
- addressable
69
- rdoc
70
- dynamic_form (1.1.4)
71
- email_reply_parser_ffcrm (0.5.0)
72
- erubis (2.7.0)
73
- fat_free_crm (0.11.3)
74
- acts-as-taggable-on (~> 2.2.1)
75
- acts_as_commentable (~> 3.0.1)
76
- acts_as_list (~> 0.1.4)
77
- ajax-chosen-rails (>= 0.2.0)
78
- authlogic (~> 3.1.0)
79
- cancan
80
- chosen-rails_ffcrm
81
- dynamic_form
82
- email_reply_parser_ffcrm
83
- ffaker (>= 1.12.0)
84
- haml (~> 3.1.3)
85
- jquery-rails
86
- nokogiri
87
- paper_trail
88
- paperclip (~> 2.7.0)
89
- premailer
90
- prototype-rails
91
- rails (~> 3.2.2)
92
- ransack_ffcrm (~> 0.6.0)
93
- responds_to_parent_ffcrm
94
- sass (~> 3.1.10)
95
- simple_form (~> 2.0.1)
96
- squeel (~> 0.9.3)
97
- will_paginate (~> 3.0.2)
98
- ffaker (1.14.0)
99
- haml (3.1.5)
100
- highline (1.6.12)
101
- hike (1.2.1)
102
- htmlentities (4.3.1)
103
- i18n (0.6.0)
104
- journey (1.0.3)
105
- jquery-rails (2.0.2)
106
- railties (>= 3.2.0, < 5.0)
107
- thor (~> 0.14)
108
- json (1.7.0)
109
- mail (2.4.4)
110
- i18n (>= 0.4.0)
111
- mime-types (~> 1.16)
112
- treetop (~> 1.4.8)
113
- mime-types (1.18)
114
- multi_json (1.3.4)
115
- nokogiri (1.5.2)
116
- orm_adapter (0.0.7)
117
- paper_trail (2.6.3)
118
- activerecord (~> 3.0)
119
- railties (~> 3.0)
120
- paperclip (2.7.0)
121
- activerecord (>= 2.3.0)
122
- activesupport (>= 2.3.2)
123
- cocaine (>= 0.0.2)
124
- mime-types
125
- polyamorous (0.5.0)
126
- activerecord (~> 3.0)
127
- polyglot (0.3.3)
128
- premailer (1.7.3)
129
- css_parser (>= 1.1.9)
130
- htmlentities (>= 4.0.0)
131
- prototype-rails (3.2.1)
132
- rails (~> 3.2)
133
- rack (1.4.1)
134
- rack-cache (1.2)
135
- rack (>= 0.4)
136
- rack-ssl (1.3.2)
137
- rack
138
- rack-test (0.6.1)
139
- rack (>= 1.0)
140
- rails (3.2.3)
141
- actionmailer (= 3.2.3)
142
- actionpack (= 3.2.3)
143
- activerecord (= 3.2.3)
144
- activeresource (= 3.2.3)
145
- activesupport (= 3.2.3)
146
- bundler (~> 1.0)
147
- railties (= 3.2.3)
148
- railties (3.2.3)
149
- actionpack (= 3.2.3)
150
- activesupport (= 3.2.3)
151
- rack-ssl (~> 1.3.2)
152
- rake (>= 0.8.7)
153
- rdoc (~> 3.4)
154
- thor (~> 0.14.6)
155
- rake (0.9.2.2)
156
- ransack_ffcrm (0.6.0)
157
- actionpack (~> 3.0)
158
- activerecord (~> 3.0)
159
- chronic (~> 0.6.7)
160
- polyamorous (~> 0.5.0)
161
- rdoc (3.12)
162
- json (~> 1.4)
163
- responds_to_parent_ffcrm (1.1.0)
164
- rest-client (1.6.7)
165
- mime-types (>= 1.16)
166
- rubycas-client (2.2.1)
167
- activesupport
168
- sass (3.1.16)
169
- simple_form (2.0.2)
170
- actionpack (~> 3.0)
171
- activemodel (~> 3.0)
172
- sprockets (2.1.3)
173
- hike (~> 1.2)
174
- rack (~> 1.0)
175
- tilt (~> 1.1, != 1.3.0)
176
- squeel (0.9.5)
177
- activerecord (~> 3.0)
178
- activesupport (~> 3.0)
179
- polyamorous (~> 0.5.0)
180
- thor (0.14.6)
181
- tilt (1.3.3)
182
- treetop (1.4.10)
183
- polyglot
184
- polyglot (>= 0.3.1)
185
- tzinfo (0.3.33)
186
- will_paginate (3.0.3)
187
-
188
- PLATFORMS
189
- ruby
190
-
191
- DEPENDENCIES
192
- fat_free_crm
193
- ffcrm_cloudfuji!