saucy 0.1.18 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/Gemfile +4 -1
  2. data/Gemfile.lock +12 -2
  3. data/README.md +75 -0
  4. data/app/controllers/accounts_controller.rb +2 -0
  5. data/app/controllers/billings_controller.rb +22 -0
  6. data/app/controllers/plans_controller.rb +12 -0
  7. data/app/models/limit.rb +5 -0
  8. data/app/models/signup.rb +20 -6
  9. data/app/views/accounts/_tab_bar.html.erb +3 -1
  10. data/app/views/accounts/edit.html.erb +6 -0
  11. data/app/views/accounts/new.html.erb +14 -4
  12. data/app/views/billings/_form.html.erb +8 -0
  13. data/app/views/billings/edit.html.erb +11 -0
  14. data/app/views/billings/show.html.erb +3 -0
  15. data/app/views/plans/_plan.html.erb +2 -0
  16. data/app/views/plans/edit.html.erb +23 -0
  17. data/config/routes.rb +2 -0
  18. data/features/run_features.feature +4 -0
  19. data/lib/generators/saucy/features/features_generator.rb +4 -0
  20. data/lib/generators/saucy/features/templates/factories.rb +14 -2
  21. data/lib/generators/saucy/features/templates/features/manage_account.feature +0 -2
  22. data/lib/generators/saucy/features/templates/features/manage_billing.feature +119 -0
  23. data/lib/generators/saucy/features/templates/features/sign_up.feature +2 -0
  24. data/lib/generators/saucy/features/templates/features/sign_up_paid.feature +76 -0
  25. data/lib/generators/saucy/features/templates/step_definitions/braintree_steps.rb +7 -0
  26. data/lib/generators/saucy/features/templates/step_definitions/html_steps.rb +22 -0
  27. data/lib/generators/saucy/features/templates/step_definitions/plan_steps.rb +9 -0
  28. data/lib/generators/saucy/features/templates/support/braintree.rb +5 -0
  29. data/lib/generators/saucy/install/templates/create_saucy_tables.rb +14 -1
  30. data/lib/generators/saucy/specs/specs_generator.rb +20 -0
  31. data/lib/generators/saucy/specs/templates/support/braintree.rb +5 -0
  32. data/lib/saucy/account.rb +134 -1
  33. data/lib/saucy/braintree.rb +100 -0
  34. data/lib/saucy/plan.rb +23 -0
  35. data/spec/controllers/accounts_controller_spec.rb +2 -2
  36. data/spec/environment.rb +4 -1
  37. data/spec/models/account_spec.rb +182 -0
  38. data/spec/models/limit_spec.rb +9 -0
  39. data/spec/models/plan_spec.rb +54 -0
  40. data/spec/models/signup_spec.rb +9 -0
  41. data/spec/support/braintree.rb +5 -0
  42. metadata +74 -8
  43. data/README +0 -38
@@ -0,0 +1,5 @@
1
+ require 'saucy/braintree'
2
+
3
+ RSpec.configure do |config|
4
+ config.after(:each) { FakeBraintree.clear! }
5
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saucy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 18
10
- version: 0.1.18
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - thoughtbot, inc.
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-12-27 00:00:00 -05:00
20
+ date: 2011-01-08 00:00:00 -05:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -52,9 +52,57 @@ dependencies:
52
52
  type: :runtime
53
53
  version_requirements: *id002
54
54
  - !ruby/object:Gem::Dependency
55
- name: aruba
55
+ name: braintree
56
56
  prerelease: false
57
57
  requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ hash: 19
63
+ segments:
64
+ - 2
65
+ - 6
66
+ - 2
67
+ version: 2.6.2
68
+ type: :runtime
69
+ version_requirements: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: sham_rack
72
+ prerelease: false
73
+ requirement: &id004 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - "="
77
+ - !ruby/object:Gem::Version
78
+ hash: 29
79
+ segments:
80
+ - 1
81
+ - 3
82
+ - 3
83
+ version: 1.3.3
84
+ type: :runtime
85
+ version_requirements: *id004
86
+ - !ruby/object:Gem::Dependency
87
+ name: sinatra
88
+ prerelease: false
89
+ requirement: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - "="
93
+ - !ruby/object:Gem::Version
94
+ hash: 23
95
+ segments:
96
+ - 1
97
+ - 1
98
+ - 2
99
+ version: 1.1.2
100
+ type: :runtime
101
+ version_requirements: *id005
102
+ - !ruby/object:Gem::Dependency
103
+ name: aruba
104
+ prerelease: false
105
+ requirement: &id006 !ruby/object:Gem::Requirement
58
106
  none: false
59
107
  requirements:
60
108
  - - "="
@@ -66,7 +114,7 @@ dependencies:
66
114
  - 6
67
115
  version: 0.2.6
68
116
  type: :development
69
- version_requirements: *id003
117
+ version_requirements: *id006
70
118
  description: Clearance-based Rails engine for Software as a Service (Saas) that provides account and project management
71
119
  email: support@thoughtbot.com
72
120
  executables: []
@@ -79,14 +127,16 @@ files:
79
127
  - Gemfile
80
128
  - Gemfile.lock
81
129
  - Rakefile
82
- - README
130
+ - README.md
83
131
  - config/routes.rb
84
132
  - app/controllers/accounts_controller.rb
133
+ - app/controllers/billings_controller.rb
85
134
  - app/controllers/invitations_controller.rb
86
135
  - app/controllers/memberships_controller.rb
87
136
  - app/controllers/plans_controller.rb
88
137
  - app/controllers/profiles_controller.rb
89
138
  - app/models/invitation.rb
139
+ - app/models/limit.rb
90
140
  - app/models/membership.rb
91
141
  - app/models/permission.rb
92
142
  - app/models/signup.rb
@@ -97,11 +147,16 @@ files:
97
147
  - app/views/accounts/edit.html.erb
98
148
  - app/views/accounts/index.html.erb
99
149
  - app/views/accounts/new.html.erb
150
+ - app/views/billings/_form.html.erb
151
+ - app/views/billings/edit.html.erb
152
+ - app/views/billings/show.html.erb
100
153
  - app/views/invitation_mailer/invitation.text.erb
101
154
  - app/views/invitations/new.html.erb
102
155
  - app/views/invitations/show.html.erb
103
156
  - app/views/memberships/edit.html.erb
104
157
  - app/views/memberships/index.html.erb
158
+ - app/views/plans/_plan.html.erb
159
+ - app/views/plans/edit.html.erb
105
160
  - app/views/plans/index.html.erb
106
161
  - app/views/profiles/_inputs.html.erb
107
162
  - app/views/profiles/edit.html.erb
@@ -114,12 +169,15 @@ files:
114
169
  - lib/generators/saucy/base.rb
115
170
  - lib/generators/saucy/features/features_generator.rb
116
171
  - lib/generators/saucy/features/templates/factories.rb
172
+ - lib/generators/saucy/features/templates/step_definitions/braintree_steps.rb
117
173
  - lib/generators/saucy/features/templates/step_definitions/email_steps.rb
118
174
  - lib/generators/saucy/features/templates/step_definitions/factory_girl_steps.rb
119
175
  - lib/generators/saucy/features/templates/step_definitions/html_steps.rb
176
+ - lib/generators/saucy/features/templates/step_definitions/plan_steps.rb
120
177
  - lib/generators/saucy/features/templates/step_definitions/project_steps.rb
121
178
  - lib/generators/saucy/features/templates/step_definitions/session_steps.rb
122
179
  - lib/generators/saucy/features/templates/step_definitions/user_steps.rb
180
+ - lib/generators/saucy/features/templates/support/braintree.rb
123
181
  - lib/generators/saucy/install/install_generator.rb
124
182
  - lib/generators/saucy/install/templates/controllers/projects_controller.rb
125
183
  - lib/generators/saucy/install/templates/create_saucy_tables.rb
@@ -127,9 +185,12 @@ files:
127
185
  - lib/generators/saucy/install/templates/models/invitation_mailer.rb
128
186
  - lib/generators/saucy/install/templates/models/plan.rb
129
187
  - lib/generators/saucy/install/templates/models/project.rb
188
+ - lib/generators/saucy/specs/specs_generator.rb
189
+ - lib/generators/saucy/specs/templates/support/braintree.rb
130
190
  - lib/generators/saucy/views/views_generator.rb
131
191
  - lib/saucy/account.rb
132
192
  - lib/saucy/account_authorization.rb
193
+ - lib/saucy/braintree.rb
133
194
  - lib/saucy/configuration.rb
134
195
  - lib/saucy/engine.rb
135
196
  - lib/saucy/layouts.rb
@@ -149,10 +210,12 @@ files:
149
210
  - lib/generators/saucy/features/templates/features/edit_project_permissions.feature
150
211
  - lib/generators/saucy/features/templates/features/edit_user_permissions.feature
151
212
  - lib/generators/saucy/features/templates/features/manage_account.feature
213
+ - lib/generators/saucy/features/templates/features/manage_billing.feature
152
214
  - lib/generators/saucy/features/templates/features/manage_projects.feature
153
215
  - lib/generators/saucy/features/templates/features/manage_users.feature
154
216
  - lib/generators/saucy/features/templates/features/new_account.feature
155
217
  - lib/generators/saucy/features/templates/features/sign_up.feature
218
+ - lib/generators/saucy/features/templates/features/sign_up_paid.feature
156
219
  - lib/generators/saucy/features/templates/README
157
220
  - spec/controllers/accounts_controller_spec.rb
158
221
  - spec/controllers/application_controller_spec.rb
@@ -164,8 +227,10 @@ files:
164
227
  - spec/layouts_spec.rb
165
228
  - spec/models/account_spec.rb
166
229
  - spec/models/invitation_spec.rb
230
+ - spec/models/limit_spec.rb
167
231
  - spec/models/membership_spec.rb
168
232
  - spec/models/permission_spec.rb
233
+ - spec/models/plan_spec.rb
169
234
  - spec/models/project_spec.rb
170
235
  - spec/models/signup_spec.rb
171
236
  - spec/models/user_spec.rb
@@ -175,6 +240,7 @@ files:
175
240
  - spec/spec_helper.rb
176
241
  - spec/support/authentication_helpers.rb
177
242
  - spec/support/authorization_helpers.rb
243
+ - spec/support/braintree.rb
178
244
  - spec/support/clearance_matchers.rb
179
245
  - spec/views/accounts/_account.html.erb_spec.rb
180
246
  has_rdoc: true
data/README DELETED
@@ -1,38 +0,0 @@
1
- script/rails g saucy:install
2
- script/rails g saucy:features
3
- script/rails g saucy:views
4
-
5
-
6
- To change the layout for a controller inside of saucy, add a line like this to
7
- your config/application.rb:
8
-
9
- config.saucy.layouts.accounts.index = "custom"
10
-
11
- Your layout should yield(:header) in order to get the headers from saucy views.
12
-
13
-
14
- To extend the ProjectsController:
15
-
16
- class ProjectsController < ApplicationController
17
- include Saucy::ProjectsController
18
-
19
- def edit
20
- super
21
- @deleters = @project.deleters
22
- end
23
- end
24
-
25
-
26
- Plans need to exist for users to sign up for. In db/seeds.rb:
27
-
28
- %w(free expensive mega-expensive).each do |plan_name|
29
- Plan.find_or_create_by_name(plan_name)
30
- end
31
-
32
- Then run: rake db:seed
33
-
34
- To use the seed data in your Cucumber:
35
-
36
- features/support/seed.rb:
37
-
38
- require Rails.root.join('db','seeds')