serializer 0.0.8 → 0.0.9
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/README.rdoc +6 -5
- data/lib/serializer.rb +1 -0
- data/lib/serializer/version.rb +1 -1
- data/test/dummy/app/models/subscription.rb +5 -0
- data/test/dummy/app/models/user.rb +4 -0
- data/test/dummy/db/migrate/20130207030140_create_subscriptions.rb +9 -0
- data/test/dummy/db/schema.rb +7 -1
- data/test/dummy/test/unit/account_test.rb +12 -1
- data/test/dummy/test/unit/subscription_test.rb +23 -0
- metadata +8 -2
data/README.rdoc
CHANGED
@@ -6,11 +6,12 @@ Serializer is a Ruby on Rails tool for adding accessor to serialized attributes
|
|
6
6
|
|
7
7
|
The gem is tested with:
|
8
8
|
|
9
|
-
* Ruby (MRI)
|
10
|
-
* Ruby (MRI) 1.9.
|
11
|
-
* Ruby (MRI) 1.
|
12
|
-
* Ruby (
|
13
|
-
*
|
9
|
+
* Ruby (MRI) 2.0.0
|
10
|
+
* Ruby (MRI) 1.9.3
|
11
|
+
* Ruby (MRI) 1.9.2
|
12
|
+
* Ruby (MRI) 1.8.7
|
13
|
+
* Ruby (REE) 1.8.7
|
14
|
+
* JRuby 1.7.2
|
14
15
|
* Rubinius 1.2.4
|
15
16
|
|
16
17
|
== Installation
|
data/lib/serializer.rb
CHANGED
data/lib/serializer/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class User < ActiveRecord::Base
|
2
2
|
|
3
3
|
belongs_to :account
|
4
|
+
has_one :subscription
|
4
5
|
|
5
6
|
has_serialized :settings do |settings|
|
6
7
|
settings.define :tw_share, :default => true, :type => :boolean
|
@@ -15,6 +16,9 @@ class User < ActiveRecord::Base
|
|
15
16
|
settings.define :permissions, :default => [], :type => :array
|
16
17
|
|
17
18
|
settings.define :mystery
|
19
|
+
|
20
|
+
settings.define :notifications, :type => :boolean, :default => false
|
18
21
|
end
|
22
|
+
|
19
23
|
|
20
24
|
end
|
data/test/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20130207030140) do
|
15
15
|
|
16
16
|
create_table "accounts", :force => true do |t|
|
17
17
|
t.string "name"
|
@@ -19,6 +19,12 @@ ActiveRecord::Schema.define(:version => 20120731074843) do
|
|
19
19
|
t.datetime "updated_at", :null => false
|
20
20
|
end
|
21
21
|
|
22
|
+
create_table "subscriptions", :force => true do |t|
|
23
|
+
t.integer "user_id"
|
24
|
+
t.datetime "created_at", :null => false
|
25
|
+
t.datetime "updated_at", :null => false
|
26
|
+
end
|
27
|
+
|
22
28
|
create_table "users", :force => true do |t|
|
23
29
|
t.integer "account_id"
|
24
30
|
t.string "name"
|
@@ -4,7 +4,7 @@ class AccountTest < ActiveSupport::TestCase
|
|
4
4
|
|
5
5
|
fixtures :all
|
6
6
|
|
7
|
-
test "accepts nested attributes for users" do
|
7
|
+
test "accepts nested attributes for users on create" do
|
8
8
|
@account = Account.create({ :user_attributes => { :tw_share => false, :fb_share => false, :tb_share => true } })
|
9
9
|
@user = @account.user
|
10
10
|
|
@@ -14,4 +14,15 @@ class AccountTest < ActiveSupport::TestCase
|
|
14
14
|
assert @user.tb_share?, "should have accepted nested attributes"
|
15
15
|
end
|
16
16
|
|
17
|
+
test "accepts nested attributes for users on update" do
|
18
|
+
@account = Account.create()
|
19
|
+
@account.create_user()
|
20
|
+
|
21
|
+
@account.update_attributes({ :user_attributes => { :tw_share => true, :fb_share => false, :tb_share => true } })
|
22
|
+
|
23
|
+
assert !@account.user.fb_share?, "should have accepted nested attributes"
|
24
|
+
assert @account.user.tw_share?, "should have accepted nested attributes"
|
25
|
+
assert @account.user.tb_share?, "should have accepted nested attributes"
|
26
|
+
end
|
27
|
+
|
17
28
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class SubscriptionTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
test "accepts nested attributes from belongs_to side of association" do
|
6
|
+
@user = User.create()
|
7
|
+
@subscription = @user.create_subscription()
|
8
|
+
|
9
|
+
user_id = @user.id.to_s
|
10
|
+
|
11
|
+
@subscription.update_attributes({ "user_attributes" => { "notifications" => "1", "id" => user_id } })
|
12
|
+
@user.reload
|
13
|
+
|
14
|
+
assert @user.subscription, "should have an subscription"
|
15
|
+
assert @user.notifications?, "should have accepted nested attributes setting to true"
|
16
|
+
|
17
|
+
@subscription.update_attributes({ "user_attributes" => { "notifications" => "0", "id" => user_id } })
|
18
|
+
@user.reload
|
19
|
+
|
20
|
+
assert !@user.notifications?, "should have accepted nested attributes setting to false"
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- test/dummy/app/helpers/main_helper.rb
|
73
73
|
- test/dummy/app/helpers/users_helper.rb
|
74
74
|
- test/dummy/app/models/account.rb
|
75
|
+
- test/dummy/app/models/subscription.rb
|
75
76
|
- test/dummy/app/models/user.rb
|
76
77
|
- test/dummy/app/views/layouts/application.html.haml
|
77
78
|
- test/dummy/app/views/main/index.html.haml
|
@@ -96,6 +97,7 @@ files:
|
|
96
97
|
- test/dummy/db/development.sqlite3
|
97
98
|
- test/dummy/db/migrate/20110927222742_create_users.rb
|
98
99
|
- test/dummy/db/migrate/20120731074843_create_accounts.rb
|
100
|
+
- test/dummy/db/migrate/20130207030140_create_subscriptions.rb
|
99
101
|
- test/dummy/db/production.sqlite3
|
100
102
|
- test/dummy/db/schema.rb
|
101
103
|
- test/dummy/db/test.sqlite3
|
@@ -113,6 +115,7 @@ files:
|
|
113
115
|
- test/dummy/test/unit/account_test.rb
|
114
116
|
- test/dummy/test/unit/helpers/main_helper_test.rb
|
115
117
|
- test/dummy/test/unit/helpers/users_helper_test.rb
|
118
|
+
- test/dummy/test/unit/subscription_test.rb
|
116
119
|
- test/dummy/test/unit/user_test.rb
|
117
120
|
- test/dummy/tmp/cache/assets/C36/B50/sprockets%2F5e8353089687a8324957248c12a6ea87
|
118
121
|
- test/dummy/tmp/cache/assets/C63/7C0/sprockets%2F951340282b11ba35a865d4e04300b3a8
|
@@ -183,6 +186,7 @@ test_files:
|
|
183
186
|
- test/dummy/app/helpers/main_helper.rb
|
184
187
|
- test/dummy/app/helpers/users_helper.rb
|
185
188
|
- test/dummy/app/models/account.rb
|
189
|
+
- test/dummy/app/models/subscription.rb
|
186
190
|
- test/dummy/app/models/user.rb
|
187
191
|
- test/dummy/app/views/layouts/application.html.haml
|
188
192
|
- test/dummy/app/views/main/index.html.haml
|
@@ -207,6 +211,7 @@ test_files:
|
|
207
211
|
- test/dummy/db/development.sqlite3
|
208
212
|
- test/dummy/db/migrate/20110927222742_create_users.rb
|
209
213
|
- test/dummy/db/migrate/20120731074843_create_accounts.rb
|
214
|
+
- test/dummy/db/migrate/20130207030140_create_subscriptions.rb
|
210
215
|
- test/dummy/db/production.sqlite3
|
211
216
|
- test/dummy/db/schema.rb
|
212
217
|
- test/dummy/db/test.sqlite3
|
@@ -224,6 +229,7 @@ test_files:
|
|
224
229
|
- test/dummy/test/unit/account_test.rb
|
225
230
|
- test/dummy/test/unit/helpers/main_helper_test.rb
|
226
231
|
- test/dummy/test/unit/helpers/users_helper_test.rb
|
232
|
+
- test/dummy/test/unit/subscription_test.rb
|
227
233
|
- test/dummy/test/unit/user_test.rb
|
228
234
|
- test/dummy/tmp/cache/assets/C36/B50/sprockets%2F5e8353089687a8324957248c12a6ea87
|
229
235
|
- test/dummy/tmp/cache/assets/C63/7C0/sprockets%2F951340282b11ba35a865d4e04300b3a8
|