remarkable_devise_invitable 1.0.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.
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "rspec", "~> 2.1.0"
4
+ gem "actionpack", "~> 3.0.0"
5
+ gem "activerecord", "~> 3.0.0"
6
+ gem "devise_invitable", "~> 0.3.5"
7
+ gem "remarkable_devise", "~> 1.0.0"
8
+
9
+ group :development do
10
+ gem "mocha", ">= 0"
11
+ gem "rspec", "~> 2.1.0"
12
+ gem "bundler", "~> 1.0.0"
13
+ gem "jeweler", "~> 1.5.1"
14
+ gem "rcov", ">= 0"
15
+ end
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Vasily Reys
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,42 @@
1
+ # Remarkable devise_invitable
2
+
3
+ Remarkable RSpec matchers for
4
+ [devise_invitable](http://github.com/scambra/devise_invitable)
5
+ models. It should be used with
6
+ [remarkable_devise](http://github.com/vreys/remarkable_devise).
7
+
8
+ ## Install
9
+
10
+ Add to your Gemfile:
11
+
12
+ gem "remarkable_activerecord"
13
+ gem "remarkable_devise"
14
+ gem "remarkable_devise_invitable"
15
+
16
+ Add the require after the remarkabe/devise line in your spec_helper.rb:
17
+
18
+ require "remarkable/active_record"
19
+ require "remarkable/devise"
20
+ require "remarkable/devise/invitable"
21
+
22
+ ## Usage
23
+
24
+ Suppose that you have User model, wich should be an invitable. Specs
25
+ should look like this:
26
+
27
+ # spec/models/user_spec.rb
28
+ describe User do
29
+ it { should be_an_invitable(:invite_for => 2.weeks) }
30
+ end
31
+
32
+ ## Documentation
33
+
34
+ Coming soon
35
+
36
+ ## See also
37
+
38
+ * [http://github.com/scambra/devise_invitable](http://github.com/scambra/devise_invitable)
39
+ * [http://github.com/plataformatec/devise](http://github.com/plataformatec/devise)
40
+ * [http://github.com/rspec/rspec](http://github.com/rspec/rspec)
41
+ * [http://github.com/remarkable/remarkable](http://github.com/remarkable/remarkable)
42
+ * [http://github.com/vreys/remarkable_devise](http://github.com/vreys/remarkable_devise)
@@ -0,0 +1,47 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ require './lib/remarkable/devise/invitable/version.rb'
14
+ Jeweler::Tasks.new do |gem|
15
+ gem.name = "remarkable_devise_invitable"
16
+ gem.homepage = "http://github.com/vreys/remarkable_devise_invitable"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{Remarkable RSpec matchers for devise_invitable models}
19
+ gem.description = %Q{Remarkable RSpec matchers for devise_invitable models. It should be used with remarkable_devise.}
20
+ gem.email = "reys.vasily@gmail.com"
21
+ gem.authors = ["Vasily Reys"]
22
+ gem.version = Remarkable::Devise::Invitable::Version::STRING
23
+ end
24
+ Jeweler::RubygemsDotOrgTasks.new
25
+
26
+ require 'rspec/core'
27
+ require 'rspec/core/rake_task'
28
+ RSpec::Core::RakeTask.new(:spec) do |spec|
29
+ spec.pattern = FileList['spec/**/*_spec.rb']
30
+ end
31
+
32
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
33
+ spec.pattern = 'spec/**/*_spec.rb'
34
+ spec.rcov = true
35
+ end
36
+
37
+ task :default => :spec
38
+
39
+ require 'rake/rdoctask'
40
+ Rake::RDocTask.new do |rdoc|
41
+ version = Remarkable::Devise::Invitable::Version::STRING
42
+
43
+ rdoc.rdoc_dir = 'rdoc'
44
+ rdoc.title = "remarkable_devise_invitable #{version}"
45
+ rdoc.rdoc_files.include('README*')
46
+ rdoc.rdoc_files.include('lib/**/*.rb')
47
+ end
@@ -0,0 +1,24 @@
1
+ # load raiks
2
+ require 'action_pack'
3
+ require 'active_record'
4
+ require 'action_controller'
5
+
6
+ # load remarkable_devise
7
+ require 'remarkable/core'
8
+ require 'remarkable/active_record'
9
+ require 'remarkable/devise'
10
+
11
+ # load devise
12
+ require 'devise'
13
+ require 'devise/orm/active_record'
14
+ require 'devise_invitable'
15
+
16
+ dir = File.dirname(__FILE__)
17
+
18
+ # Add default locale
19
+ Dir["#{dir}/../../../locale/*yml"].each {|f| Remarkable.add_locale(f) }
20
+
21
+ # Add matchers
22
+ require File.join(dir, 'matchers', 'be_an_invitable_matcher')
23
+
24
+ Remarkable.include_matchers!(Remarkable::Devise, RSpec::Core::ExampleGroup)
@@ -0,0 +1,14 @@
1
+ module Remarkable
2
+ module Devise
3
+ module Invitable
4
+ module Version
5
+ MAJOR = 1
6
+ MINOR = 0
7
+ PATCH = 0
8
+ BUILD = nil
9
+
10
+ STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ module Remarkable
2
+ module Devise
3
+ module Matchers
4
+ class BeAnInvitableMatcher < Base
5
+ arguments
6
+
7
+ assertion :included?, :options_match?, :has_invitation_token_column?, :has_invitation_sent_at_column?
8
+
9
+ optionals :invite_for
10
+
11
+ protected
12
+
13
+ def included?
14
+ subject_class.ancestors.include?(::Devise::Models::Invitable)
15
+ end
16
+ end
17
+
18
+ def be_an_invitable(*args, &block)
19
+ BeAnInvitableMatcher.new(*args, &block).spec(self)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ en:
2
+ remarkable:
3
+ devise:
4
+ be_an_invitable:
5
+ description: "be an invitable"
6
+ expectations:
7
+ included: "%{subject_name} to have Devise :invitable model"
8
+ has_invitation_token_column: "%{subject_name} to have invitation_token column"
9
+ has_invitation_sent_at_column: "%{subject_name} to have invitation_sent_at column"
10
+ options_match: "%{subject_name} to be an invitable with options %{options}, got %{actual}"
11
+ optionals:
12
+ invite_for:
13
+ positive: "for %{inspect}"
@@ -0,0 +1,88 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{remarkable_devise_invitable}
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Vasily Reys"]
12
+ s.date = %q{2010-12-10}
13
+ s.description = %q{Remarkable RSpec matchers for devise_invitable models. It should be used with remarkable_devise.}
14
+ s.email = %q{reys.vasily@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.markdown"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "LICENSE.txt",
24
+ "README.markdown",
25
+ "Rakefile",
26
+ "lib/remarkable/devise/invitable.rb",
27
+ "lib/remarkable/devise/invitable/version.rb",
28
+ "lib/remarkable/devise/matchers/be_an_invitable_matcher.rb",
29
+ "locale/en.yml",
30
+ "remarkable_devise_invitable.gemspec",
31
+ "spec/example_models.rb",
32
+ "spec/matchers/be_an_invitable_matcher_spec.rb",
33
+ "spec/matchers_spec.rb",
34
+ "spec/spec_helper.rb"
35
+ ]
36
+ s.homepage = %q{http://github.com/vreys/remarkable_devise_invitable}
37
+ s.licenses = ["MIT"]
38
+ s.require_paths = ["lib"]
39
+ s.rubygems_version = %q{1.3.7}
40
+ s.summary = %q{Remarkable RSpec matchers for devise_invitable models}
41
+ s.test_files = [
42
+ "spec/example_models.rb",
43
+ "spec/matchers/be_an_invitable_matcher_spec.rb",
44
+ "spec/matchers_spec.rb",
45
+ "spec/spec_helper.rb"
46
+ ]
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
+ s.add_runtime_dependency(%q<rspec>, ["~> 2.1.0"])
54
+ s.add_runtime_dependency(%q<actionpack>, ["~> 3.0.0"])
55
+ s.add_runtime_dependency(%q<activerecord>, ["~> 3.0.0"])
56
+ s.add_runtime_dependency(%q<devise_invitable>, ["~> 0.3.5"])
57
+ s.add_runtime_dependency(%q<remarkable_devise>, ["~> 1.0.0"])
58
+ s.add_development_dependency(%q<mocha>, [">= 0"])
59
+ s.add_development_dependency(%q<rspec>, ["~> 2.1.0"])
60
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
61
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
62
+ s.add_development_dependency(%q<rcov>, [">= 0"])
63
+ else
64
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
65
+ s.add_dependency(%q<actionpack>, ["~> 3.0.0"])
66
+ s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
67
+ s.add_dependency(%q<devise_invitable>, ["~> 0.3.5"])
68
+ s.add_dependency(%q<remarkable_devise>, ["~> 1.0.0"])
69
+ s.add_dependency(%q<mocha>, [">= 0"])
70
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
71
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
72
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
73
+ s.add_dependency(%q<rcov>, [">= 0"])
74
+ end
75
+ else
76
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
77
+ s.add_dependency(%q<actionpack>, ["~> 3.0.0"])
78
+ s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
79
+ s.add_dependency(%q<devise_invitable>, ["~> 0.3.5"])
80
+ s.add_dependency(%q<remarkable_devise>, ["~> 1.0.0"])
81
+ s.add_dependency(%q<mocha>, [">= 0"])
82
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
83
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
84
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
85
+ s.add_dependency(%q<rcov>, [">= 0"])
86
+ end
87
+ end
88
+
@@ -0,0 +1,7 @@
1
+ class User < ActiveRecord::Base
2
+ devise :invitable, :invite_for => 3.days
3
+ end
4
+
5
+ class FooUser < ActiveRecord::Base
6
+
7
+ end
@@ -0,0 +1,127 @@
1
+ require 'spec_helper'
2
+
3
+ describe Remarkable::Devise::Matchers::BeAnInvitableMatcher do
4
+ before do
5
+ @valid_columns = ['invitation_token', 'invitation_sent_at']
6
+
7
+ User.stubs(:column_names).returns(@valid_columns)
8
+ end
9
+
10
+ describe "validate inclusion of Devise::Models::Invitable" do
11
+ context "when module is included" do
12
+ it "should match" do
13
+ subject.matches?(User).should be_true
14
+ end
15
+ end
16
+
17
+ context "when module is not included" do
18
+ it "should not match" do
19
+ subject.matches?(FooUser).should be_false
20
+ end
21
+ end
22
+ end
23
+
24
+ describe "options validation" do
25
+ describe :invite_for do
26
+ context "when a model has expected :invite_for value" do
27
+ it "should match" do
28
+ subject.class.new(:invite_for => 3.days).matches?(User).should be_true
29
+ end
30
+ end
31
+
32
+ context "when a model hasn't expected :invite_for value" do
33
+ it "should not match" do
34
+ subject.class.new(:invite_for => 4.weeks).matches?(User).should be_false
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ describe "columns validation" do
41
+ describe :invitation_token do
42
+ context "when a model has invitation_token column" do
43
+ it "should match" do
44
+ subject.matches?(User).should be_true
45
+ end
46
+ end
47
+
48
+ context "when a model hasn't invitation token column" do
49
+ it "should not match" do
50
+ User.stubs(:column_names).returns(@valid_columns - ['invitation_token'])
51
+
52
+ subject.matches?(User).should be_false
53
+ end
54
+ end
55
+ end
56
+
57
+ describe :invitation_sent_at do
58
+ context "when a model has invitation_sent_at column" do
59
+ it "should match" do
60
+ subject.matches?(User).should be_true
61
+ end
62
+ end
63
+
64
+ context "when a model hasn't invitation_sent_at column" do
65
+ it "should not match" do
66
+ User.stubs(:column_names).returns(@valid_columns - ['invitation_sent_at'])
67
+
68
+ subject.matches?(User).should be_false
69
+ end
70
+ end
71
+ end
72
+ end
73
+
74
+ describe "description message" do
75
+ context "when matching without options" do
76
+ specify { subject.description.should eql("be an invitable") }
77
+ end
78
+
79
+ context "when matching with :invite_for option" do
80
+ before do
81
+ @matcher = subject.class.new(:invite_for => 3.days)
82
+ @matcher.matches?(User)
83
+ end
84
+
85
+ specify { @matcher.description.should eql("be an invitable for 3 days") }
86
+ end
87
+ end
88
+
89
+ describe "failure message" do
90
+ context "when Devise::Models::Invitable is not included" do
91
+ before do
92
+ subject.matches?(FooUser)
93
+ end
94
+
95
+ specify { subject.failure_message_for_should.should match("Foo user to have Devise :invitable model") }
96
+ end
97
+
98
+ context "when a model hasn't invitation_token column" do
99
+ before do
100
+ User.stubs(:column_names).returns(@valid_columns - ['invitation_token'])
101
+
102
+ subject.matches?(User)
103
+ end
104
+
105
+ specify { subject.failure_message_for_should.should match("User to have invitation_token column") }
106
+ end
107
+
108
+ context "when a model hasn't inbitation_sent_at column" do
109
+ before do
110
+ User.stubs(:column_names).returns(@valid_columns - ['invitation_sent_at'])
111
+
112
+ subject.matches?(User)
113
+ end
114
+
115
+ specify { subject.failure_message_for_should.should match("User to have invitation_sent_at column") }
116
+ end
117
+
118
+ context "when a model hasn't expected options" do
119
+ before do
120
+ @matcher = subject.class.new(:invite_for => 4.weeks)
121
+ @matcher.matches?(User)
122
+ end
123
+
124
+ specify { @matcher.failure_message_for_should.should match("User to be an invitable with options (.+), got (.+)") }
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Remarkable::Devise::Matchers do
4
+ describe "#be_an_invitable" do
5
+ it "should return an instance of Remarkable::Devise::Matchers::BeAnInvitableMatcher" do
6
+ be_an_invitable(:invite_for => 3.weeks).should be_an_instance_of(Remarkable::Devise::Matchers::BeAnInvitableMatcher)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ require 'mocha'
2
+
3
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'remarkable', 'devise', 'invitable')
4
+
5
+ require 'example_models'
6
+
7
+ ActiveRecord::Base.establish_connection( :adapter => 'sqlite3',
8
+ :database => ':memory:' )
9
+
10
+
11
+ RSpec.configure do |config|
12
+ config.mock_with :mocha
13
+ end
metadata ADDED
@@ -0,0 +1,240 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: remarkable_devise_invitable
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Vasily Reys
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-12-10 00:00:00 +06:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: rspec
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 11
30
+ segments:
31
+ - 2
32
+ - 1
33
+ - 0
34
+ version: 2.1.0
35
+ requirement: *id001
36
+ type: :runtime
37
+ - !ruby/object:Gem::Dependency
38
+ prerelease: false
39
+ name: actionpack
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 7
46
+ segments:
47
+ - 3
48
+ - 0
49
+ - 0
50
+ version: 3.0.0
51
+ requirement: *id002
52
+ type: :runtime
53
+ - !ruby/object:Gem::Dependency
54
+ prerelease: false
55
+ name: activerecord
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 7
62
+ segments:
63
+ - 3
64
+ - 0
65
+ - 0
66
+ version: 3.0.0
67
+ requirement: *id003
68
+ type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ prerelease: false
71
+ name: devise_invitable
72
+ version_requirements: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 25
78
+ segments:
79
+ - 0
80
+ - 3
81
+ - 5
82
+ version: 0.3.5
83
+ requirement: *id004
84
+ type: :runtime
85
+ - !ruby/object:Gem::Dependency
86
+ prerelease: false
87
+ name: remarkable_devise
88
+ version_requirements: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ hash: 23
94
+ segments:
95
+ - 1
96
+ - 0
97
+ - 0
98
+ version: 1.0.0
99
+ requirement: *id005
100
+ type: :runtime
101
+ - !ruby/object:Gem::Dependency
102
+ prerelease: false
103
+ name: mocha
104
+ version_requirements: &id006 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
112
+ version: "0"
113
+ requirement: *id006
114
+ type: :development
115
+ - !ruby/object:Gem::Dependency
116
+ prerelease: false
117
+ name: rspec
118
+ version_requirements: &id007 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ~>
122
+ - !ruby/object:Gem::Version
123
+ hash: 11
124
+ segments:
125
+ - 2
126
+ - 1
127
+ - 0
128
+ version: 2.1.0
129
+ requirement: *id007
130
+ type: :development
131
+ - !ruby/object:Gem::Dependency
132
+ prerelease: false
133
+ name: bundler
134
+ version_requirements: &id008 !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ~>
138
+ - !ruby/object:Gem::Version
139
+ hash: 23
140
+ segments:
141
+ - 1
142
+ - 0
143
+ - 0
144
+ version: 1.0.0
145
+ requirement: *id008
146
+ type: :development
147
+ - !ruby/object:Gem::Dependency
148
+ prerelease: false
149
+ name: jeweler
150
+ version_requirements: &id009 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ~>
154
+ - !ruby/object:Gem::Version
155
+ hash: 1
156
+ segments:
157
+ - 1
158
+ - 5
159
+ - 1
160
+ version: 1.5.1
161
+ requirement: *id009
162
+ type: :development
163
+ - !ruby/object:Gem::Dependency
164
+ prerelease: false
165
+ name: rcov
166
+ version_requirements: &id010 !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
175
+ requirement: *id010
176
+ type: :development
177
+ description: Remarkable RSpec matchers for devise_invitable models. It should be used with remarkable_devise.
178
+ email: reys.vasily@gmail.com
179
+ executables: []
180
+
181
+ extensions: []
182
+
183
+ extra_rdoc_files:
184
+ - LICENSE.txt
185
+ - README.markdown
186
+ files:
187
+ - .document
188
+ - .rspec
189
+ - Gemfile
190
+ - LICENSE.txt
191
+ - README.markdown
192
+ - Rakefile
193
+ - lib/remarkable/devise/invitable.rb
194
+ - lib/remarkable/devise/invitable/version.rb
195
+ - lib/remarkable/devise/matchers/be_an_invitable_matcher.rb
196
+ - locale/en.yml
197
+ - remarkable_devise_invitable.gemspec
198
+ - spec/example_models.rb
199
+ - spec/matchers/be_an_invitable_matcher_spec.rb
200
+ - spec/matchers_spec.rb
201
+ - spec/spec_helper.rb
202
+ has_rdoc: true
203
+ homepage: http://github.com/vreys/remarkable_devise_invitable
204
+ licenses:
205
+ - MIT
206
+ post_install_message:
207
+ rdoc_options: []
208
+
209
+ require_paths:
210
+ - lib
211
+ required_ruby_version: !ruby/object:Gem::Requirement
212
+ none: false
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ hash: 3
217
+ segments:
218
+ - 0
219
+ version: "0"
220
+ required_rubygems_version: !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ hash: 3
226
+ segments:
227
+ - 0
228
+ version: "0"
229
+ requirements: []
230
+
231
+ rubyforge_project:
232
+ rubygems_version: 1.3.7
233
+ signing_key:
234
+ specification_version: 3
235
+ summary: Remarkable RSpec matchers for devise_invitable models
236
+ test_files:
237
+ - spec/example_models.rb
238
+ - spec/matchers/be_an_invitable_matcher_spec.rb
239
+ - spec/matchers_spec.rb
240
+ - spec/spec_helper.rb