active_hash_fields 0.1.0 → 0.1.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'activerecord', '~> 3.2.0'
3
+ gem 'activerecord'
4
4
 
5
5
  group :development do
6
6
  gem 'rspec'
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  GIT
2
2
  remote: https://github.com/technicalpickles/jeweler
3
- revision: f7e0a55a207d83f56637dd8fbabf26a803410faf
3
+ revision: a220d93f464935fd0cb9f92378476177bef5aee2
4
4
  specs:
5
- jeweler (1.8.7)
5
+ jeweler (1.8.8)
6
6
  builder
7
7
  bundler (~> 1.0)
8
8
  git (>= 1.2.5)
@@ -15,20 +15,11 @@ GIT
15
15
  GEM
16
16
  remote: http://rubygems.org/
17
17
  specs:
18
- activemodel (3.2.14)
19
- activesupport (= 3.2.14)
20
- builder (~> 3.0.0)
21
- activerecord (3.2.14)
22
- activemodel (= 3.2.14)
23
- activesupport (= 3.2.14)
24
- arel (~> 3.0.2)
25
- tzinfo (~> 0.3.29)
26
- activesupport (3.2.14)
27
- i18n (~> 0.6, >= 0.6.4)
28
- multi_json (~> 1.0)
18
+ activerecord (2.3.18)
19
+ activesupport (= 2.3.18)
20
+ activesupport (2.3.18)
29
21
  addressable (2.3.5)
30
- arel (3.0.2)
31
- builder (3.0.4)
22
+ builder (3.2.2)
32
23
  diff-lcs (1.2.4)
33
24
  faraday (0.8.8)
34
25
  multipart-post (~> 1.2.0)
@@ -41,13 +32,12 @@ GEM
41
32
  nokogiri (~> 1.5.2)
42
33
  oauth2
43
34
  hashie (2.0.5)
44
- highline (1.6.19)
35
+ highline (1.6.20)
45
36
  httpauth (0.2.0)
46
- i18n (0.6.5)
47
- json (1.8.0)
37
+ json (1.8.1)
48
38
  jwt (0.1.8)
49
39
  multi_json (>= 1.5)
50
- multi_json (1.8.0)
40
+ multi_json (1.8.2)
51
41
  multi_xml (0.5.5)
52
42
  multipart-post (1.2.0)
53
43
  nokogiri (1.5.10)
@@ -66,18 +56,17 @@ GEM
66
56
  rspec-core (~> 2.14.0)
67
57
  rspec-expectations (~> 2.14.0)
68
58
  rspec-mocks (~> 2.14.0)
69
- rspec-core (2.14.5)
59
+ rspec-core (2.14.6)
70
60
  rspec-expectations (2.14.3)
71
61
  diff-lcs (>= 1.1.3, < 2.0)
72
- rspec-mocks (2.14.3)
62
+ rspec-mocks (2.14.4)
73
63
  sqlite3 (1.3.8)
74
- tzinfo (0.3.37)
75
64
 
76
65
  PLATFORMS
77
66
  ruby
78
67
 
79
68
  DEPENDENCIES
80
- activerecord (~> 3.2.0)
69
+ activerecord
81
70
  bundler (~> 1.0)
82
71
  jeweler!
83
72
  rdoc (~> 3.12)
data/README.markdown CHANGED
@@ -12,7 +12,15 @@ This can usually be solved by either creating an additional associated model lik
12
12
  Usage
13
13
  ------------------------
14
14
 
15
- Here's the solution:
15
+ Here's the solution. First add a field to store all nested fields as a serialized hash:
16
+
17
+ class AddNotificationsToUsers < ActiveRecord::Migration
18
+ def change
19
+ add_column :users, :notifications, :text
20
+ end
21
+ end
22
+
23
+ Then define nested fields in your model:
16
24
 
17
25
  class User < ActiveRecord::Base
18
26
 
@@ -35,8 +43,7 @@ Now you can do things like:
35
43
  user.notifications.new_private_message # => true
36
44
 
37
45
 
38
- IMPORTANT NOTE
39
- if you don't set a default value for the field, it will be ignore, that is:
46
+ IMPORTANT NOTE! If you don't set a default value for the field, it will be ignored, that is:
40
47
 
41
48
  user.notifications.some_non_existent_field = true
42
49
  user.notifications.some_non_existent_field # => nil
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "active_hash_fields"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Roman Snitko"]
12
- s.date = "2013-09-27"
12
+ s.date = "2013-10-17"
13
13
  s.description = "Adds nested fields to an AR model stored in a serialized field as hash"
14
14
  s.email = "roman.snitko@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -37,21 +37,21 @@ Gem::Specification.new do |s|
37
37
  s.homepage = "http://github.com/snitko/active_hash_fields"
38
38
  s.licenses = ["MIT"]
39
39
  s.require_paths = ["lib"]
40
- s.rubygems_version = "2.0.3"
40
+ s.rubygems_version = "1.8.25"
41
41
  s.summary = "Adds nested fields to an AR model"
42
42
 
43
43
  if s.respond_to? :specification_version then
44
- s.specification_version = 4
44
+ s.specification_version = 3
45
45
 
46
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_runtime_dependency(%q<activerecord>, ["~> 3.2.0"])
47
+ s.add_runtime_dependency(%q<activerecord>, [">= 0"])
48
48
  s.add_development_dependency(%q<rspec>, [">= 0"])
49
49
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
50
50
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
51
51
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
52
52
  s.add_development_dependency(%q<jeweler>, [">= 0"])
53
53
  else
54
- s.add_dependency(%q<activerecord>, ["~> 3.2.0"])
54
+ s.add_dependency(%q<activerecord>, [">= 0"])
55
55
  s.add_dependency(%q<rspec>, [">= 0"])
56
56
  s.add_dependency(%q<sqlite3>, [">= 0"])
57
57
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
@@ -59,7 +59,7 @@ Gem::Specification.new do |s|
59
59
  s.add_dependency(%q<jeweler>, [">= 0"])
60
60
  end
61
61
  else
62
- s.add_dependency(%q<activerecord>, ["~> 3.2.0"])
62
+ s.add_dependency(%q<activerecord>, [">= 0"])
63
63
  s.add_dependency(%q<rspec>, [">= 0"])
64
64
  s.add_dependency(%q<sqlite3>, [">= 0"])
65
65
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
data/db/test.sqlite3 CHANGED
Binary file
data/spec/spec_helper.rb CHANGED
@@ -15,4 +15,12 @@ RSpec.configure do |config|
15
15
  ActiveRecord::Base.establish_connection(dbconfig)
16
16
  end
17
17
 
18
+ config.after(:suite) do
19
+ conn = ActiveRecord::Base.connection
20
+ tables = conn.execute("SELECT name FROM sqlite_master WHERE type = 'table'").map { |r| r[0] }
21
+ tables.delete "schema_migrations"
22
+ tables.each { |t| conn.execute("DELETE FROM #{t};") }
23
+ tables.each { |t| conn.execute("DELETE FROM SQLITE_SEQUENCE WHERE name='#{t}';") }
24
+ end
25
+
18
26
  end
metadata CHANGED
@@ -1,60 +1,68 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_hash_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Roman Snitko
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-09-27 00:00:00.000000000 Z
12
+ date: 2013-10-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activerecord
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ~>
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
- version: 3.2.0
21
+ version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ~>
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
- version: 3.2.0
29
+ version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rspec
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: sqlite3
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rdoc
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: bundler
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ~>
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ~>
81
92
  - !ruby/object:Gem::Version
@@ -83,15 +94,17 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: jeweler
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: '0'
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: '0'
97
110
  description: Adds nested fields to an AR model stored in a serialized field as hash
@@ -121,25 +134,29 @@ files:
121
134
  homepage: http://github.com/snitko/active_hash_fields
122
135
  licenses:
123
136
  - MIT
124
- metadata: {}
125
137
  post_install_message:
126
138
  rdoc_options: []
127
139
  require_paths:
128
140
  - lib
129
141
  required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
130
143
  requirements:
131
- - - '>='
144
+ - - ! '>='
132
145
  - !ruby/object:Gem::Version
133
146
  version: '0'
147
+ segments:
148
+ - 0
149
+ hash: -4192656926053817055
134
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
+ none: false
135
152
  requirements:
136
- - - '>='
153
+ - - ! '>='
137
154
  - !ruby/object:Gem::Version
138
155
  version: '0'
139
156
  requirements: []
140
157
  rubyforge_project:
141
- rubygems_version: 2.0.3
158
+ rubygems_version: 1.8.25
142
159
  signing_key:
143
- specification_version: 4
160
+ specification_version: 3
144
161
  summary: Adds nested fields to an AR model
145
162
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 69fa18f40e4f324b1357b1461e45b135258e383a
4
- data.tar.gz: a052a4c6c1f55bd403452aa7579fc82d73d08e36
5
- SHA512:
6
- metadata.gz: 5f0ea59e94bac76a890c5e21160e8f1e351f6bc51b586049c3e82775068891c26eb77083c05d264a8c796af53c0d2efa1682a533dbf139982579ea19baa1d11d
7
- data.tar.gz: 221f1b3be52508a91ea4aa5d7df389cb1bab8c0afbad4ba9a064f869c2180c43edb0cbb689480219b4f1dbab07c30d2419cfa8fa6e350aeda2a4ee5aae857ec5