acts-as-messageable 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "activerecord", "~> 3.0.0"
3
+ gem "activerecord", ">= 3.0.0"
4
+ gem "activesupport", ">= 3.0.0"
4
5
  gem "ancestry", "~> 1.2.4"
5
6
 
6
7
  group :development do
@@ -20,8 +20,20 @@ To use it, add it to your Gemfile:
20
20
  class User < ActiveRecord::Base
21
21
  acts_as_messageable :table_name => "table_with_messages", # default 'messages'
22
22
  :required => :body # default [:topic, :body]
23
+ :class_name => "CustomMessages" # default "ActsAsMessageable::Message"
23
24
  end
24
25
 
26
+ == Upgrade
27
+ Just type once again
28
+
29
+ rails g acts-as-messageable:migration
30
+
31
+ And new migrations should be created.
32
+
33
+ ~$ rails g acts-as-messageable:migration
34
+ create db/migrate/20110811223435_add_recipient_permanent_delete_and_sender_permanent_delete_to_messages.rb
35
+ Another migration is already named create_messages_table: /home/lite/work/acts_test/db/migrate/20110811184810_create_messages_table.rb
36
+
25
37
  == Send message
26
38
 
27
39
  @alice = User.first
@@ -62,7 +74,7 @@ or
62
74
  @message.conversation #=> [@message, @reply_message]
63
75
  @reply_message.conversation #=> [@message, @reply_message]
64
76
 
65
- == New API
77
+ == API
66
78
  @alice.messages # all messages connected with @alice (inbox/outbox)
67
79
  @alice.received_messages # @alice inbox
68
80
  @alice.sent_messages # @alice outbox
@@ -73,7 +85,10 @@ or
73
85
  @alice.messages.are_to(@bob) # all message to @bob
74
86
  @alice.messages.with_id(@id_of_message) # message with id id_of_message
75
87
  @alice.messages.readed # all readed @alice messages
76
- @alice.messages.unaded # all unreaded @alice messages
88
+ @alice.messages.unread # all unreaded @alice messages
89
+
90
+ @alice.received_messages.are_from(@bob) # all messages from bob (inbox)
91
+ @alice.sent_messages.are_to(@bob) # all messages do bob (outbox)
77
92
 
78
93
  You can use multiple filters at the same time
79
94
 
@@ -82,9 +97,22 @@ You can use multiple filters at the same time
82
97
 
83
98
  === Delete message
84
99
 
100
+ @message = @alice.send_message(@bob, "Topic", "Body")
101
+
85
102
  @alice.messages.process do |message|
86
103
  message.delete
87
104
  end
88
105
 
106
+ Now we can find message in trash
107
+
108
+ @alice.deleted_messages #=> [@message]
109
+
110
+ @alice.deleted_messages.process do |message|
111
+ message.delete
112
+ end
113
+
114
+ @alice.delete_message #=> []
115
+
116
+ Message was permanent delete
89
117
 
90
118
  Copyright © 2011 Piotr Niełacny (http://ruby-blog.pl), released under the MIT license
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.4.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{acts-as-messageable}
8
- s.version = "0.3.1"
8
+ s.version = "0.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Piotr Nielacny"]
12
- s.date = %q{2011-07-02}
11
+ s.authors = [%q{Piotr Nielacny}]
12
+ s.date = %q{2011-08-11}
13
13
  s.email = %q{piotr.nielacny@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "README.rdoc"
@@ -29,29 +29,33 @@ Gem::Specification.new do |s|
29
29
  "lib/acts-as-messageable/relation.rb",
30
30
  "lib/generators/acts-as-messageable/migration/migration_generator.rb",
31
31
  "lib/generators/acts-as-messageable/migration/templates/migration.rb",
32
+ "lib/generators/acts-as-messageable/migration/templates/migration_permanent.rb",
32
33
  "rails/init.rb",
33
34
  "spec/acts-as-messageable_spec.rb",
35
+ "spec/custom-class_spec.rb",
34
36
  "spec/custom-required_spec.rb",
35
37
  "spec/spec_helper.rb",
36
38
  "spec/support/user.rb"
37
39
  ]
38
40
  s.homepage = %q{http://github.com/LTe/acts-as-messageable}
39
- s.require_paths = ["lib"]
40
- s.rubygems_version = %q{1.6.2}
41
+ s.require_paths = [%q{lib}]
42
+ s.rubygems_version = %q{1.8.6}
41
43
  s.summary = %q{Make user messageable!;-)}
42
44
 
43
45
  if s.respond_to? :specification_version then
44
46
  s.specification_version = 3
45
47
 
46
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_runtime_dependency(%q<activerecord>, ["~> 3.0.0"])
49
+ s.add_runtime_dependency(%q<activerecord>, [">= 3.0.0"])
50
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0"])
48
51
  s.add_runtime_dependency(%q<ancestry>, ["~> 1.2.4"])
49
52
  s.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
50
53
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
54
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
52
55
  s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
53
56
  else
54
- s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
57
+ s.add_dependency(%q<activerecord>, [">= 3.0.0"])
58
+ s.add_dependency(%q<activesupport>, [">= 3.0.0"])
55
59
  s.add_dependency(%q<ancestry>, ["~> 1.2.4"])
56
60
  s.add_dependency(%q<rspec>, ["~> 2.6.0"])
57
61
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -59,7 +63,8 @@ Gem::Specification.new do |s|
59
63
  s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
60
64
  end
61
65
  else
62
- s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
66
+ s.add_dependency(%q<activerecord>, [">= 3.0.0"])
67
+ s.add_dependency(%q<activesupport>, [">= 3.0.0"])
63
68
  s.add_dependency(%q<ancestry>, ["~> 1.2.4"])
64
69
  s.add_dependency(%q<rspec>, ["~> 2.6.0"])
65
70
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -1,5 +1,6 @@
1
1
  require "active_record"
2
- require 'acts-as-messageable/acts-as-messageable'
2
+ require "active_support/core_ext"
3
+ require "acts-as-messageable/acts-as-messageable"
3
4
 
4
5
  module ActsAsMessageable
5
6
  autoload :Message, "acts-as-messageable/message"
@@ -6,32 +6,32 @@ module ActsAsMessageable
6
6
  end
7
7
 
8
8
  module ClassMethods
9
+ mattr_accessor :class_name
10
+
9
11
  # Method make ActiveRecord::Base object messageable
10
12
  # @param [Symbol] :table_name - table name for messages
11
13
  def acts_as_messageable(options = {})
12
- has_many :received_messages,
14
+ has_many :received_messages_relation,
13
15
  :as => :received_messageable,
14
- :class_name => "ActsAsMessageable::Message",
16
+ :class_name => options[:class_name] || "ActsAsMessageable::Message",
15
17
  :dependent => :nullify
16
- has_many :sent_messages,
18
+ has_many :sent_messages_relation,
17
19
  :as => :sent_messageable,
18
- :class_name => "ActsAsMessageable::Message",
20
+ :class_name => options[:class_name] || "ActsAsMessageable::Message",
19
21
  :dependent => :nullify
20
22
 
21
-
22
- ActsAsMessageable::Message.set_table_name(options[:table_name] || "messages")
23
- ActsAsMessageable::Message.validates_presence_of(options[:required] || [:topic ,:body])
23
+ self.class_name = (options[:class_name] || "ActsAsMessageable::Message").constantize
24
+ self.class_name.set_table_name(options[:table_name] || "messages")
24
25
 
25
26
  if options[:required].is_a? Symbol
26
- ActsAsMessageable::Message.required = [options[:required]]
27
+ self.class_name.required = [options[:required]]
27
28
  elsif options[:required].is_a? Array
28
- ActsAsMessageable::Message.required = options[:required]
29
+ self.class_name.required = options[:required]
29
30
  else
30
- ActsAsMessageable::Message.required = [:topic, :body]
31
+ self.class_name.required = [:topic, :body]
31
32
  end
32
33
 
33
- ActsAsMessageable::Message.validates_presence_of ActsAsMessageable::Message.required
34
-
34
+ self.class_name.validates_presence_of self.class_name.required
35
35
  include ActsAsMessageable::Model::InstanceMethods
36
36
  end
37
37
 
@@ -41,7 +41,21 @@ module ActsAsMessageable
41
41
  # Get all messages connected with user
42
42
  # @return [ActiveRecord::Relation] all messages connected with user
43
43
  def messages(trash = false)
44
- result = ActsAsMessageable::Message.connected_with(self, trash)
44
+ result = self.class.class_name.connected_with(self, trash)
45
+ result.relation_context = self
46
+
47
+ result
48
+ end
49
+
50
+ def received_messages
51
+ result = received_messages_relation.scoped.where(:recipient_delete => false)
52
+ result.relation_context = self
53
+
54
+ result
55
+ end
56
+
57
+ def sent_messages
58
+ result = sent_messages_relation.scoped.where(:sender_delete => false)
45
59
  result.relation_context = self
46
60
 
47
61
  result
@@ -61,17 +75,17 @@ module ActsAsMessageable
61
75
  case args.first
62
76
  when String
63
77
  message_attributes = {}
64
- ActsAsMessageable::Message.required.each_with_index do |attribute, index|
78
+ self.class.class_name.required.each_with_index do |attribute, index|
65
79
  message_attributes[attribute] = args[index]
66
80
  end
67
81
  when Hash
68
82
  message_attributes = args.first
69
83
  end
70
84
 
71
- message = ActsAsMessageable::Message.create! message_attributes
85
+ message = self.class.class_name.create! message_attributes
72
86
 
73
- self.sent_messages << message
74
- to.received_messages << message
87
+ self.sent_messages_relation << message
88
+ to.received_messages_relation << message
75
89
 
76
90
  message
77
91
  end
@@ -88,9 +102,17 @@ module ActsAsMessageable
88
102
  current_user = self
89
103
 
90
104
  if message.received_messageable == current_user
91
- message.update_attributes!(:recipient_delete => true)
105
+ unless message.recipient_delete
106
+ message.update_attributes!(:recipient_delete => true)
107
+ else
108
+ message.update_attributes!(:recipient_permanent_delete => true)
109
+ end
92
110
  elsif message.sent_messageable == current_user
93
- message.update_attributes!(:sender_delete => true)
111
+ unless message.sender_delete
112
+ message.update_attributes!(:sender_delete => true)
113
+ else
114
+ message.update_attributes!(:sender_permanent_delete => true)
115
+ end
94
116
  end
95
117
  end
96
118
 
@@ -15,29 +15,36 @@ module ActsAsMessageable
15
15
  :sent_messageable_id,
16
16
  :opened,
17
17
  :recipient_delete,
18
- :sender_delete
18
+ :sender_delete,
19
+ :recipient_permanent_delete,
20
+ :sender_permanent_delete,
21
+ :created_at,
22
+ :updated_at
19
23
 
20
24
  attr_accessor :removed
21
25
  cattr_accessor :required
22
26
 
23
27
 
24
28
  # Sample documentation for scope
29
+ default_scope order(:created_at)
25
30
  scope :are_from, lambda { |*args| where("sent_messageable_id = :sender", :sender => args.first) }
26
31
  scope :are_to, lambda { |*args| where("received_messageable_id = :receiver", :receiver => args.first) }
27
32
  scope :with_id, lambda { |*args| where("id = :id", :id => args.first) }
28
33
 
29
34
  scope :connected_with, lambda { |*args| where("(sent_messageable_type = :sent_type and
30
35
  sent_messageable_id = :sent_id and
31
- sender_delete = :s_delete) or
36
+ sender_delete = :s_delete and sender_permanent_delete = :s_perm_delete) or
32
37
  (received_messageable_type = :received_type and
33
38
  received_messageable_id = :received_id and
34
- recipient_delete = :r_delete)",
39
+ recipient_delete = :r_delete and recipient_permanent_delete = :r_perm_delete)",
35
40
  :sent_type => args.first.class.name,
36
41
  :sent_id => args.first.id,
37
42
  :received_type => args.first.class.name,
38
43
  :received_id => args.first.id,
39
44
  :r_delete => args.last,
40
- :s_delete => args.last)
45
+ :s_delete => args.last,
46
+ :r_perm_delete => false,
47
+ :s_perm_delete => false)
41
48
  }
42
49
  scope :readed, lambda { where("opened = :opened", :opened => true) }
43
50
  scope :unread, lambda { where("opened = :opened", :opened => false) }
@@ -15,6 +15,7 @@ module ActsAsMessageable
15
15
  end
16
16
 
17
17
  def create_migration_file
18
+ migration_template 'migration_permanent.rb', 'db/migrate/add_recipient_permanent_delete_and_sender_permanent_delete_to_messages.rb'
18
19
  migration_template 'migration.rb', 'db/migrate/create_messages_table.rb'
19
20
  end
20
21
 
@@ -8,6 +8,7 @@ class CreateMessagesTable < ActiveRecord::Migration
8
8
  t.boolean :opened, :default => false
9
9
  t.boolean :recipient_delete, :default => false
10
10
  t.boolean :sender_delete, :default => false
11
+ t.timestamps
11
12
 
12
13
  # ancestry
13
14
  t.string :ancestry
@@ -0,0 +1,11 @@
1
+ class AddRecipientPermanentDeleteAndSenderPermanentDeleteToMessages < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :<%= table_name %>, :recipient_permanent_delete, :boolean, :default => false
4
+ add_column :<%= table_name %>, :sender_permanent_delete, :boolean, :default => false
5
+ end
6
+
7
+ def self.down
8
+ remove_column :<%= table_name %>, :recipient_permanent_delete
9
+ remove_column :<%= table_name %>, :sender_permanent_delete
10
+ end
11
+ end
@@ -95,4 +95,49 @@ describe "ActsAsMessageable" do
95
95
  @message.topic.should == "Topic"
96
96
  @message.body.should == "Body"
97
97
  end
98
+
99
+ it "messages should return in right order :created_at" do
100
+ @message = @bob.send_message(@alice, "Topic", "First message")
101
+ @message = @bob.send_message(@alice, "Topic", "Sec message")
102
+ @alice.messages.first.body.should == "First message"
103
+ end
104
+
105
+ it "message should permanent delete" do
106
+ @message = @bob.send_message(@alice, "Topic", "Message")
107
+ @alice.messages.process { |m| m.delete }
108
+ @alice.messages.count.should == 0
109
+
110
+ @alice.deleted_messages.count.should == 1
111
+ @alice.deleted_messages.process { |m| m.delete }
112
+ @alice.deleted_messages.count.should == 0
113
+
114
+ @message.reload
115
+ @message.recipient_permanent_delete.should == true
116
+
117
+ @bob.sent_messages.count.should == 1
118
+ end
119
+
120
+ it "received_messages should return ActiveRecord::Relation" do
121
+ @message = @bob.send_message(@alice, "Topic", "Message")
122
+ @alice.received_messages.class.should == ActiveRecord::Relation
123
+ end
124
+
125
+ it "sent_messages should return ActiveRecord::Relation" do
126
+ @message = @bob.send_message(@alice, "Topic", "Message")
127
+ @bob.sent_messages.class.should == ActiveRecord::Relation
128
+ end
129
+
130
+ it "received_messages and sent_messages should work with .process method" do
131
+ @message = @bob.send_message(@alice, "Helou", "Alice")
132
+
133
+ @bob.sent_messages.count.should == 1
134
+ @alice.received_messages.count.should == 1
135
+
136
+ @bob.sent_messages.process { |m| m.delete }
137
+ @bob.sent_messages.count.should == 0
138
+ @alice.received_messages.count.should == 1
139
+
140
+ @alice.received_messages.process { |m| m.delete }
141
+ @alice.received_messages.count.should == 0
142
+ end
98
143
  end
@@ -0,0 +1,15 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ class CustomMessage < ActsAsMessageable::Message; end
4
+
5
+ describe "custom class" do
6
+ before(:all) do
7
+ User.acts_as_messageable :class_name => "CustomMessage"
8
+ end
9
+
10
+ it "message should have CustomMessage class" do
11
+ message = @alice.send_message(@bob, :topic => "Helou bob!", :body => "What's up?")
12
+ message.class.should == CustomMessage
13
+ end
14
+ end
15
+
@@ -21,7 +21,7 @@ RSpec.configure do |config|
21
21
  end
22
22
 
23
23
  config.after(:each) do
24
- ActsAsMessageable::Message.destroy_all
24
+ User.class_name.destroy_all
25
25
  end
26
26
  end
27
27
 
@@ -35,7 +35,10 @@ def create_database
35
35
  t.boolean :opened, :default => false
36
36
  t.boolean :recipient_delete, :default => false
37
37
  t.boolean :sender_delete, :default => false
38
+ t.boolean :recipient_permanent_delete, :default => false
39
+ t.boolean :sender_permanent_delete, :default => false
38
40
  t.string :ancestry
41
+ t.timestamps
39
42
  end
40
43
 
41
44
  create_table :users do |t|
metadata CHANGED
@@ -1,90 +1,141 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts-as-messageable
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 15
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 0
10
+ version: 0.4.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Piotr Nielacny
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-07-02 00:00:00.000000000 +02:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activerecord
17
- requirement: &22115060 !ruby/object:Gem::Requirement
17
+
18
+ date: 2011-08-11 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :runtime
22
+ requirement: &id001 !ruby/object:Gem::Requirement
18
23
  none: false
19
- requirements:
20
- - - ~>
21
- - !ruby/object:Gem::Version
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 7
28
+ segments:
29
+ - 3
30
+ - 0
31
+ - 0
22
32
  version: 3.0.0
33
+ version_requirements: *id001
34
+ name: activerecord
35
+ prerelease: false
36
+ - !ruby/object:Gem::Dependency
23
37
  type: :runtime
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 7
44
+ segments:
45
+ - 3
46
+ - 0
47
+ - 0
48
+ version: 3.0.0
49
+ version_requirements: *id002
50
+ name: activesupport
24
51
  prerelease: false
25
- version_requirements: *22115060
26
- - !ruby/object:Gem::Dependency
27
- name: ancestry
28
- requirement: &22114520 !ruby/object:Gem::Requirement
52
+ - !ruby/object:Gem::Dependency
53
+ type: :runtime
54
+ requirement: &id003 !ruby/object:Gem::Requirement
29
55
  none: false
30
- requirements:
56
+ requirements:
31
57
  - - ~>
32
- - !ruby/object:Gem::Version
58
+ - !ruby/object:Gem::Version
59
+ hash: 23
60
+ segments:
61
+ - 1
62
+ - 2
63
+ - 4
33
64
  version: 1.2.4
34
- type: :runtime
65
+ version_requirements: *id003
66
+ name: ancestry
35
67
  prerelease: false
36
- version_requirements: *22114520
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
- requirement: &22113940 !ruby/object:Gem::Requirement
68
+ - !ruby/object:Gem::Dependency
69
+ type: :development
70
+ requirement: &id004 !ruby/object:Gem::Requirement
40
71
  none: false
41
- requirements:
72
+ requirements:
42
73
  - - ~>
43
- - !ruby/object:Gem::Version
74
+ - !ruby/object:Gem::Version
75
+ hash: 23
76
+ segments:
77
+ - 2
78
+ - 6
79
+ - 0
44
80
  version: 2.6.0
45
- type: :development
81
+ version_requirements: *id004
82
+ name: rspec
46
83
  prerelease: false
47
- version_requirements: *22113940
48
- - !ruby/object:Gem::Dependency
49
- name: bundler
50
- requirement: &22113380 !ruby/object:Gem::Requirement
84
+ - !ruby/object:Gem::Dependency
85
+ type: :development
86
+ requirement: &id005 !ruby/object:Gem::Requirement
51
87
  none: false
52
- requirements:
88
+ requirements:
53
89
  - - ~>
54
- - !ruby/object:Gem::Version
90
+ - !ruby/object:Gem::Version
91
+ hash: 23
92
+ segments:
93
+ - 1
94
+ - 0
95
+ - 0
55
96
  version: 1.0.0
56
- type: :development
97
+ version_requirements: *id005
98
+ name: bundler
57
99
  prerelease: false
58
- version_requirements: *22113380
59
- - !ruby/object:Gem::Dependency
60
- name: jeweler
61
- requirement: &22112860 !ruby/object:Gem::Requirement
100
+ - !ruby/object:Gem::Dependency
101
+ type: :development
102
+ requirement: &id006 !ruby/object:Gem::Requirement
62
103
  none: false
63
- requirements:
104
+ requirements:
64
105
  - - ~>
65
- - !ruby/object:Gem::Version
106
+ - !ruby/object:Gem::Version
107
+ hash: 15
108
+ segments:
109
+ - 1
110
+ - 6
111
+ - 0
66
112
  version: 1.6.0
67
- type: :development
113
+ version_requirements: *id006
114
+ name: jeweler
68
115
  prerelease: false
69
- version_requirements: *22112860
70
- - !ruby/object:Gem::Dependency
71
- name: sqlite3-ruby
72
- requirement: &22112200 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
116
+ - !ruby/object:Gem::Dependency
78
117
  type: :development
118
+ requirement: &id007 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ hash: 3
124
+ segments:
125
+ - 0
126
+ version: "0"
127
+ version_requirements: *id007
128
+ name: sqlite3-ruby
79
129
  prerelease: false
80
- version_requirements: *22112200
81
130
  description:
82
131
  email: piotr.nielacny@gmail.com
83
132
  executables: []
133
+
84
134
  extensions: []
85
- extra_rdoc_files:
135
+
136
+ extra_rdoc_files:
86
137
  - README.rdoc
87
- files:
138
+ files:
88
139
  - .rspec
89
140
  - .travis.yml
90
141
  - Gemfile
@@ -99,37 +150,45 @@ files:
99
150
  - lib/acts-as-messageable/relation.rb
100
151
  - lib/generators/acts-as-messageable/migration/migration_generator.rb
101
152
  - lib/generators/acts-as-messageable/migration/templates/migration.rb
153
+ - lib/generators/acts-as-messageable/migration/templates/migration_permanent.rb
102
154
  - rails/init.rb
103
155
  - spec/acts-as-messageable_spec.rb
156
+ - spec/custom-class_spec.rb
104
157
  - spec/custom-required_spec.rb
105
158
  - spec/spec_helper.rb
106
159
  - spec/support/user.rb
107
- has_rdoc: true
108
160
  homepage: http://github.com/LTe/acts-as-messageable
109
161
  licenses: []
162
+
110
163
  post_install_message:
111
164
  rdoc_options: []
112
- require_paths:
165
+
166
+ require_paths:
113
167
  - lib
114
- required_ruby_version: !ruby/object:Gem::Requirement
168
+ required_ruby_version: !ruby/object:Gem::Requirement
115
169
  none: false
116
- requirements:
117
- - - ! '>='
118
- - !ruby/object:Gem::Version
119
- version: '0'
120
- segments:
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: 3
174
+ segments:
121
175
  - 0
122
- hash: -1671763449284017363
123
- required_rubygems_version: !ruby/object:Gem::Requirement
176
+ version: "0"
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
178
  none: false
125
- requirements:
126
- - - ! '>='
127
- - !ruby/object:Gem::Version
128
- version: '0'
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 3
183
+ segments:
184
+ - 0
185
+ version: "0"
129
186
  requirements: []
187
+
130
188
  rubyforge_project:
131
- rubygems_version: 1.6.2
189
+ rubygems_version: 1.8.6
132
190
  signing_key:
133
191
  specification_version: 3
134
192
  summary: Make user messageable!;-)
135
193
  test_files: []
194
+