saucy 0.1.18 → 0.2.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.
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')