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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +28 -20
  4. data/VERSION +1 -1
  5. data/app/helpers/paid_up/features_helper.rb +3 -3
  6. data/app/models/paid_up/ability.rb +29 -11
  7. data/app/models/paid_up/feature.rb +70 -8
  8. data/app/models/paid_up/features_plan.rb +1 -2
  9. data/app/models/paid_up/plan.rb +9 -13
  10. data/app/models/paid_up/unlimited.rb +15 -0
  11. data/app/views/paid_up/features/_abilities_table.html.haml +13 -4
  12. data/app/views/paid_up/subscriptions/new.html.haml +20 -20
  13. data/bin/rails +8 -1
  14. data/config/locales/en.yml +4 -1
  15. data/coverage/.last_run.json +1 -1
  16. data/coverage/.resultset.json +291 -145
  17. data/db/migrate/20150407105900_create_paid_up_features_plans_table.rb +1 -1
  18. data/lib/generators/paid_up/install/install_generator.rb +6 -0
  19. data/lib/generators/paid_up/install/templates/initializer.rb +21 -1
  20. data/lib/paid_up/{integer.rb → extensions/integer.rb} +2 -4
  21. data/lib/paid_up/{stripe_extensions.rb → extensions/stripe.rb} +3 -6
  22. data/lib/paid_up/mixins/paid_for.rb +24 -0
  23. data/lib/paid_up/{mixins.rb → mixins/subscriber.rb} +28 -22
  24. data/lib/paid_up/validators/rolify_rows.rb +9 -0
  25. data/lib/paid_up/{table_validator.rb → validators/table_rows.rb} +2 -2
  26. data/lib/paid_up.rb +27 -7
  27. data/paid_up.gemspec +26 -16
  28. data/spec/dummy/app/models/ability.rb +0 -1
  29. data/spec/dummy/app/models/doodad.rb +3 -0
  30. data/spec/dummy/app/models/group.rb +1 -1
  31. data/spec/dummy/app/models/role.rb +10 -0
  32. data/spec/dummy/app/models/user.rb +2 -3
  33. data/spec/dummy/bin/rspec +3 -0
  34. data/spec/dummy/config/application.rb +0 -1
  35. data/spec/dummy/config/initializers/paid_up.rb +21 -1
  36. data/spec/dummy/config/initializers/rolify.rb +7 -0
  37. data/spec/dummy/config/routes.rb +10 -0
  38. data/spec/dummy/db/development.sqlite3 +0 -0
  39. data/spec/dummy/db/migrate/20150517175135_create_groups_table.rb +0 -1
  40. data/spec/dummy/db/migrate/20150517175136_create_doodads_table.rb +9 -0
  41. data/spec/dummy/db/migrate/{20150518000915_add_devise_to_users.rb → 20150523010827_add_devise_to_users.rb} +0 -0
  42. data/spec/dummy/db/migrate/20150523010837_rolify_create_roles.rb +19 -0
  43. 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
  44. 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
  45. 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
  46. data/spec/dummy/db/schema.rb +29 -15
  47. data/spec/dummy/db/seeds/features_plans.seeds.rb +9 -9
  48. data/spec/dummy/db/test.sqlite3 +0 -0
  49. data/spec/dummy/log/development.log +932 -108863
  50. data/spec/models/paid_up/feature_spec.rb +23 -5
  51. data/spec/models/paid_up/features_plan_spec.rb +2 -1
  52. data/spec/models/paid_up/plan_spec.rb +8 -32
  53. data/spec/models/user_spec.rb +110 -37
  54. data/spec/rails_helper.rb +1 -0
  55. data/spec/support/plans_and_features.rb +16 -62
  56. data/spec/views/paid_up/subscriptions_spec.rb +1 -1
  57. metadata +47 -15
  58. data/db/migrate/20150407110100_create_paid_up_features_table.rb +0 -11
  59. data/lib/paid_up/unlimited.rb +0 -17
  60. data/spec/dummy/db/migrate/20150518000918_create_paid_up_features_table.paid_up.rb +0 -12
  61. data/spec/dummy/db/seeds/features.seeds.rb +0 -19
  62. data/spec/dummy/test/controllers/plans_controller_controller_test.rb +0 -7
@@ -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: 20150519164355) do
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", ["feature_id"], name: "index_paid_up_features_plans_on_feature_id"
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 :features, :plans do
2
- ad_free = PaidUp::Feature.find_by_name 'ad_free'
3
- groups = PaidUp::Feature.find_by_name 'groups'
4
- calendar = PaidUp::Feature.find_by_name 'calendar'
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: calendar,
31
- plan: professional,
32
- setting: 1
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: calendar,
47
+ feature: doodads,
48
48
  plan: professional,
49
- setting: 1
49
+ setting: PaidUp::Unlimited.to_i(:db)
50
50
  )
51
51
  end
Binary file