paid_up 0.2.4 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/README.md +28 -20
- data/VERSION +1 -1
- data/app/helpers/paid_up/features_helper.rb +3 -3
- data/app/models/paid_up/ability.rb +29 -11
- data/app/models/paid_up/feature.rb +70 -8
- data/app/models/paid_up/features_plan.rb +1 -2
- data/app/models/paid_up/plan.rb +9 -13
- data/app/models/paid_up/unlimited.rb +15 -0
- data/app/views/paid_up/features/_abilities_table.html.haml +13 -4
- data/app/views/paid_up/subscriptions/new.html.haml +20 -20
- data/bin/rails +8 -1
- data/config/locales/en.yml +4 -1
- data/coverage/.last_run.json +1 -1
- data/coverage/.resultset.json +291 -145
- data/db/migrate/20150407105900_create_paid_up_features_plans_table.rb +1 -1
- data/lib/generators/paid_up/install/install_generator.rb +6 -0
- data/lib/generators/paid_up/install/templates/initializer.rb +21 -1
- data/lib/paid_up/{integer.rb → extensions/integer.rb} +2 -4
- data/lib/paid_up/{stripe_extensions.rb → extensions/stripe.rb} +3 -6
- data/lib/paid_up/mixins/paid_for.rb +24 -0
- data/lib/paid_up/{mixins.rb → mixins/subscriber.rb} +28 -22
- data/lib/paid_up/validators/rolify_rows.rb +9 -0
- data/lib/paid_up/{table_validator.rb → validators/table_rows.rb} +2 -2
- data/lib/paid_up.rb +27 -7
- data/paid_up.gemspec +26 -16
- data/spec/dummy/app/models/ability.rb +0 -1
- data/spec/dummy/app/models/doodad.rb +3 -0
- data/spec/dummy/app/models/group.rb +1 -1
- data/spec/dummy/app/models/role.rb +10 -0
- data/spec/dummy/app/models/user.rb +2 -3
- data/spec/dummy/bin/rspec +3 -0
- data/spec/dummy/config/application.rb +0 -1
- data/spec/dummy/config/initializers/paid_up.rb +21 -1
- data/spec/dummy/config/initializers/rolify.rb +7 -0
- data/spec/dummy/config/routes.rb +10 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20150517175135_create_groups_table.rb +0 -1
- data/spec/dummy/db/migrate/20150517175136_create_doodads_table.rb +9 -0
- data/spec/dummy/db/migrate/{20150518000915_add_devise_to_users.rb → 20150523010827_add_devise_to_users.rb} +0 -0
- data/spec/dummy/db/migrate/20150523010837_rolify_create_roles.rb +19 -0
- data/spec/dummy/db/migrate/{20150518000917_create_paid_up_features_plans_table.paid_up.rb → 20150523010838_create_paid_up_features_plans_table.paid_up.rb} +1 -1
- data/spec/dummy/db/migrate/{20150518000919_create_paid_up_plans_table.paid_up.rb → 20150523010839_create_paid_up_plans_table.paid_up.rb} +0 -0
- data/spec/dummy/db/migrate/{20150519164355_add_stripe_id_column_to_users.paid_up.rb → 20150523010840_add_stripe_id_column_to_users.paid_up.rb} +0 -0
- data/spec/dummy/db/schema.rb +29 -15
- data/spec/dummy/db/seeds/features_plans.seeds.rb +9 -9
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +932 -108863
- data/spec/models/paid_up/feature_spec.rb +23 -5
- data/spec/models/paid_up/features_plan_spec.rb +2 -1
- data/spec/models/paid_up/plan_spec.rb +8 -32
- data/spec/models/user_spec.rb +110 -37
- data/spec/rails_helper.rb +1 -0
- data/spec/support/plans_and_features.rb +16 -62
- data/spec/views/paid_up/subscriptions_spec.rb +1 -1
- metadata +47 -15
- data/db/migrate/20150407110100_create_paid_up_features_table.rb +0 -11
- data/lib/paid_up/unlimited.rb +0 -17
- data/spec/dummy/db/migrate/20150518000918_create_paid_up_features_table.paid_up.rb +0 -12
- data/spec/dummy/db/seeds/features.seeds.rb +0 -19
- data/spec/dummy/test/controllers/plans_controller_controller_test.rb +0 -7
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,34 +11,30 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20150523010840) do
|
15
|
+
|
16
|
+
create_table "doodads", force: :cascade do |t|
|
17
|
+
t.string "user_id"
|
18
|
+
t.string "name"
|
19
|
+
t.text "description"
|
20
|
+
end
|
21
|
+
|
22
|
+
add_index "doodads", ["user_id"], name: "index_doodads_on_user_id"
|
15
23
|
|
16
24
|
create_table "groups", force: :cascade do |t|
|
17
|
-
t.string "user_id"
|
18
25
|
t.string "name"
|
19
26
|
t.text "description"
|
20
27
|
t.datetime "created_at"
|
21
28
|
t.datetime "updated_at"
|
22
29
|
end
|
23
30
|
|
24
|
-
add_index "groups", ["user_id"], name: "index_groups_on_user_id"
|
25
|
-
|
26
|
-
create_table "paid_up_features", force: :cascade do |t|
|
27
|
-
t.string "name"
|
28
|
-
t.string "title"
|
29
|
-
t.string "setting_type"
|
30
|
-
t.text "description"
|
31
|
-
end
|
32
|
-
|
33
|
-
add_index "paid_up_features", ["name"], name: "index_paid_up_features_on_name", unique: true
|
34
|
-
|
35
31
|
create_table "paid_up_features_plans", force: :cascade do |t|
|
36
|
-
t.integer "feature_id"
|
37
32
|
t.integer "plan_id"
|
33
|
+
t.string "feature"
|
38
34
|
t.integer "setting"
|
39
35
|
end
|
40
36
|
|
41
|
-
add_index "paid_up_features_plans", ["
|
37
|
+
add_index "paid_up_features_plans", ["feature"], name: "index_paid_up_features_plans_on_feature"
|
42
38
|
add_index "paid_up_features_plans", ["plan_id"], name: "index_paid_up_features_plans_on_plan_id"
|
43
39
|
|
44
40
|
create_table "paid_up_plans", force: :cascade do |t|
|
@@ -53,6 +49,17 @@ ActiveRecord::Schema.define(version: 20150519164355) do
|
|
53
49
|
add_index "paid_up_plans", ["name"], name: "index_paid_up_plans_on_name", unique: true
|
54
50
|
add_index "paid_up_plans", ["stripe_id"], name: "index_paid_up_plans_on_stripe_id", unique: true
|
55
51
|
|
52
|
+
create_table "roles", force: :cascade do |t|
|
53
|
+
t.string "name"
|
54
|
+
t.integer "resource_id"
|
55
|
+
t.string "resource_type"
|
56
|
+
t.datetime "created_at"
|
57
|
+
t.datetime "updated_at"
|
58
|
+
end
|
59
|
+
|
60
|
+
add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id"
|
61
|
+
add_index "roles", ["name"], name: "index_roles_on_name"
|
62
|
+
|
56
63
|
create_table "users", force: :cascade do |t|
|
57
64
|
t.string "name"
|
58
65
|
t.string "email", default: "", null: false
|
@@ -71,4 +78,11 @@ ActiveRecord::Schema.define(version: 20150519164355) do
|
|
71
78
|
add_index "users", ["email"], name: "index_users_on_email", unique: true
|
72
79
|
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
|
73
80
|
|
81
|
+
create_table "users_roles", id: false, force: :cascade do |t|
|
82
|
+
t.integer "user_id"
|
83
|
+
t.integer "role_id"
|
84
|
+
end
|
85
|
+
|
86
|
+
add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id"
|
87
|
+
|
74
88
|
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
after :
|
2
|
-
ad_free = PaidUp::Feature.
|
3
|
-
groups = PaidUp::Feature.
|
4
|
-
|
1
|
+
after :plans do
|
2
|
+
ad_free = PaidUp::Feature.find_by_slug 'ad_free'
|
3
|
+
groups = PaidUp::Feature.find_by_slug 'groups'
|
4
|
+
doodads = PaidUp::Feature.find_by_slug 'doodads'
|
5
5
|
|
6
6
|
free = PaidUp::Plan.find_by_name 'Free'
|
7
7
|
no_ads = PaidUp::Plan.find_by_name 'No Ads'
|
@@ -27,9 +27,9 @@ after :features, :plans do
|
|
27
27
|
setting: 1
|
28
28
|
)
|
29
29
|
PaidUp::FeaturesPlan.create(
|
30
|
-
feature:
|
31
|
-
plan:
|
32
|
-
setting:
|
30
|
+
feature: doodads,
|
31
|
+
plan: group_leader,
|
32
|
+
setting: 5
|
33
33
|
)
|
34
34
|
|
35
35
|
# Professional
|
@@ -44,8 +44,8 @@ after :features, :plans do
|
|
44
44
|
setting: PaidUp::Unlimited.to_i(:db)
|
45
45
|
)
|
46
46
|
PaidUp::FeaturesPlan.create(
|
47
|
-
feature:
|
47
|
+
feature: doodads,
|
48
48
|
plan: professional,
|
49
|
-
setting:
|
49
|
+
setting: PaidUp::Unlimited.to_i(:db)
|
50
50
|
)
|
51
51
|
end
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|