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.
- data/Gemfile +4 -1
- data/Gemfile.lock +12 -2
- data/README.md +75 -0
- data/app/controllers/accounts_controller.rb +2 -0
- data/app/controllers/billings_controller.rb +22 -0
- data/app/controllers/plans_controller.rb +12 -0
- data/app/models/limit.rb +5 -0
- data/app/models/signup.rb +20 -6
- data/app/views/accounts/_tab_bar.html.erb +3 -1
- data/app/views/accounts/edit.html.erb +6 -0
- data/app/views/accounts/new.html.erb +14 -4
- data/app/views/billings/_form.html.erb +8 -0
- data/app/views/billings/edit.html.erb +11 -0
- data/app/views/billings/show.html.erb +3 -0
- data/app/views/plans/_plan.html.erb +2 -0
- data/app/views/plans/edit.html.erb +23 -0
- data/config/routes.rb +2 -0
- data/features/run_features.feature +4 -0
- data/lib/generators/saucy/features/features_generator.rb +4 -0
- data/lib/generators/saucy/features/templates/factories.rb +14 -2
- data/lib/generators/saucy/features/templates/features/manage_account.feature +0 -2
- data/lib/generators/saucy/features/templates/features/manage_billing.feature +119 -0
- data/lib/generators/saucy/features/templates/features/sign_up.feature +2 -0
- data/lib/generators/saucy/features/templates/features/sign_up_paid.feature +76 -0
- data/lib/generators/saucy/features/templates/step_definitions/braintree_steps.rb +7 -0
- data/lib/generators/saucy/features/templates/step_definitions/html_steps.rb +22 -0
- data/lib/generators/saucy/features/templates/step_definitions/plan_steps.rb +9 -0
- data/lib/generators/saucy/features/templates/support/braintree.rb +5 -0
- data/lib/generators/saucy/install/templates/create_saucy_tables.rb +14 -1
- data/lib/generators/saucy/specs/specs_generator.rb +20 -0
- data/lib/generators/saucy/specs/templates/support/braintree.rb +5 -0
- data/lib/saucy/account.rb +134 -1
- data/lib/saucy/braintree.rb +100 -0
- data/lib/saucy/plan.rb +23 -0
- data/spec/controllers/accounts_controller_spec.rb +2 -2
- data/spec/environment.rb +4 -1
- data/spec/models/account_spec.rb +182 -0
- data/spec/models/limit_spec.rb +9 -0
- data/spec/models/plan_spec.rb +54 -0
- data/spec/models/signup_spec.rb +9 -0
- data/spec/support/braintree.rb +5 -0
- metadata +74 -8
- data/README +0 -38
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:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
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:
|
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:
|
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: *
|
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')
|