dynabix 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gemfiles CHANGED
@@ -2,9 +2,7 @@
2
2
  .gitattributes
3
3
  .gitignore
4
4
  .rspec
5
- .yardopts
6
5
  Gemfile
7
- Gemfile.lock
8
6
  Guardfile
9
7
  HISTORY.markdown
10
8
  LICENSE
data/.gitignore CHANGED
@@ -1,7 +1,8 @@
1
+ .DS_Store
2
+ Gemfile.lock
1
3
  /pkg/
2
4
  /.bundle/
3
5
  /rdoc/
4
- /.yardoc/
5
6
  rerun.txt
6
7
  tags
7
8
  /tmp/
@@ -7,6 +7,10 @@ Most recent changes are at the top
7
7
  Changes
8
8
  -------
9
9
 
10
+ ### 0.3.2 - 12/21/2017 ###
11
+
12
+ * Update and remove dependencies with known security issues
13
+
10
14
  ### 0.3.1 - 5/7/2012 ###
11
15
 
12
16
  * fix for activerecord not marking nested model serializers dirty
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 GearheadForHire, LLC
1
+ Copyright (c) 2012-2017 GearheadForHire, LLC
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -9,7 +9,18 @@ Overview
9
9
  --------
10
10
 
11
11
  Dynabix dynamically creates read/write accessors on ActiveRecord models for
12
- storing attributes in a serialized Hash.
12
+ storing attributes in a serialized Hash. Read more in our introductory
13
+ [blog article](http://www.gearheadforhire.com/articles/ruby/dynabix/activerecord-gem-for-attribute-serialization).
14
+
15
+ ActiveRecord's native 'store' method
16
+ ------------------------------------
17
+
18
+ ActiveRecord as of 3.2.1, has a very similar native method
19
+ [store](http://apidock.com/rails/ActiveRecord/Store). Dynabix differs
20
+ from store by providing a declarative DSL for defining multiple stores
21
+ (Ruby 1.9+), has separate read/write accessors, and stores to the database
22
+ as HashWithIndifferentAccess. Unless you need one of these specific
23
+ features, using the native 'store' method is recommended.
13
24
 
14
25
  Installation
15
26
  ------------
@@ -74,7 +85,7 @@ the attributes in a separate step.
74
85
  metadata_reader :friends_with_spoons
75
86
  end
76
87
 
77
- Specifying attributes for full attributes accessors in one step
88
+ Specifying attributes for full attribute accessors in one step
78
89
 
79
90
  class Thing < ActiveRecord::Base
80
91
  has_metadata :metadata, :breakfast_food, :wheat_products, :needs_milk
@@ -86,7 +97,7 @@ Using the new accessors
86
97
 
87
98
  thing.breakfast_food = 'a wheat like cereal"
88
99
 
89
- # same thing, but not using the hash directly
100
+ # same thing, but using the hash directly
90
101
  thing.metadata[:breakfast_food] = 'a wheat like cereal"
91
102
 
92
103
  ### Ruby 1.9+
@@ -111,13 +122,13 @@ Specifying multiple metadata serializers (Ruby 1.9 only)
111
122
  has_metadata :chickens, :tasty, :feather_count
112
123
 
113
124
  # read-only
114
- cow_reader :likes_milk, :hates_eggs
125
+ cows_reader :likes_milk, :hates_eggs
115
126
 
116
127
  # write-only
117
- cow_writer :no_wheat_products
128
+ cows_writer :no_wheat_products
118
129
 
119
130
  # extra full accessors for chickens
120
- chicken_accessor :color, :likes_eggs
131
+ chickens_accessor :color, :likes_eggs
121
132
  end
122
133
 
123
134
  Runtime dependencies
@@ -151,4 +162,4 @@ bundle exec rake -T
151
162
  Copyright
152
163
  ---------
153
164
 
154
- Copyright (c) 2012 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
165
+ Copyright (c) 2012-2017 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
data/Rakefile CHANGED
@@ -13,33 +13,6 @@ end
13
13
 
14
14
  task :default => :spec
15
15
 
16
- namespace :doc do
17
-
18
- doc_version = File.open(File.join(File.dirname(__FILE__), 'VERSION'), "r") { |f| f.read }
19
- project_root = File.expand_path(File.dirname(__FILE__))
20
- doc_destination = File.join(project_root, 'rdoc')
21
-
22
- require 'yard'
23
-
24
- YARD::Rake::YardocTask.new(:generate) do |yt|
25
- yt.options = ['--output-dir', doc_destination,
26
- '--title', "Dynabix #{doc_version} Documentation",
27
- '--main', "README.markdown"
28
- ]
29
- end
30
-
31
- desc "Remove generated documenation"
32
- task :clean do
33
- rm_r doc_destination if File.exists?(doc_destination)
34
- end
35
-
36
- desc "List undocumented objects"
37
- task :undocumented do
38
- system('yard stats --list-undoc')
39
- end
40
-
41
- end
42
-
43
16
  # put the gemfiles task in the bundler dependency chain
44
17
  task :build => [:gemfiles]
45
18
  task :install => [:gemfiles]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -33,14 +33,15 @@ Gem::Specification.new do |s|
33
33
  s.add_dependency "activerecord", "~> 3.0"
34
34
 
35
35
  s.add_development_dependency "bundler", ">= 1.0.14"
36
- s.add_development_dependency "rspec", ">= 2.6.0"
36
+ s.add_development_dependency "rspec", "~> 2.9.0"
37
37
  s.add_development_dependency "aruba", "= 0.4.5"
38
- s.add_development_dependency "rake", ">= 0.8.7"
38
+ s.add_development_dependency "rake", "~> 0.9.2"
39
39
  s.add_development_dependency "sqlite3-ruby", ">= 0.8.7"
40
40
 
41
- # doc generation
42
- s.add_development_dependency "yard", ">= 0.7.4"
43
- s.add_development_dependency "redcarpet", ">= 1.17.2"
41
+ # lock downs from Arubu to prevent requiring Ruby 2.0+
42
+ s.add_development_dependency "cucumber", "~> 1.1.9"
43
+ s.add_dependency 'tins', '~> 1.6.0'
44
+ s.add_dependency 'term-ansicolor', '~> 1.0.7'
44
45
 
45
46
  # guard, watches files and runs specs and features
46
47
  #
metadata CHANGED
@@ -1,196 +1,205 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dynabix
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 1
10
- version: 0.3.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Robert Wahler
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-07 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :runtime
12
+ date: 2017-12-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: activerecord
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
23
  prerelease: false
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 3
32
- - 0
33
- version: "3.0"
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
36
- type: :development
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
30
+ - !ruby/object:Gem::Dependency
37
31
  name: bundler
38
- prerelease: false
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 11
45
- segments:
46
- - 1
47
- - 0
48
- - 14
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
49
37
  version: 1.0.14
50
- requirement: *id002
51
- - !ruby/object:Gem::Dependency
52
38
  type: :development
53
- name: rspec
54
39
  prerelease: false
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 23
61
- segments:
62
- - 2
63
- - 6
64
- - 0
65
- version: 2.6.0
66
- requirement: *id003
67
- - !ruby/object:Gem::Dependency
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.0.14
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 2.9.0
68
54
  type: :development
69
- name: aruba
70
55
  prerelease: false
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - "="
75
- - !ruby/object:Gem::Version
76
- hash: 5
77
- segments:
78
- - 0
79
- - 4
80
- - 5
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.9.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: aruba
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - '='
68
+ - !ruby/object:Gem::Version
81
69
  version: 0.4.5
82
- requirement: *id004
83
- - !ruby/object:Gem::Dependency
84
70
  type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.4.5
78
+ - !ruby/object:Gem::Dependency
85
79
  name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.9.2
86
+ type: :development
86
87
  prerelease: false
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 49
93
- segments:
94
- - 0
95
- - 8
96
- - 7
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.9.2
94
+ - !ruby/object:Gem::Dependency
95
+ name: sqlite3-ruby
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
97
101
  version: 0.8.7
98
- requirement: *id005
99
- - !ruby/object:Gem::Dependency
100
102
  type: :development
101
- name: sqlite3-ruby
102
103
  prerelease: false
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- hash: 49
109
- segments:
110
- - 0
111
- - 8
112
- - 7
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
113
109
  version: 0.8.7
114
- requirement: *id006
115
- - !ruby/object:Gem::Dependency
110
+ - !ruby/object:Gem::Dependency
111
+ name: cucumber
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 1.1.9
116
118
  type: :development
117
- name: yard
118
119
  prerelease: false
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
120
- none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 11
125
- segments:
126
- - 0
127
- - 7
128
- - 4
129
- version: 0.7.4
130
- requirement: *id007
131
- - !ruby/object:Gem::Dependency
132
- type: :development
133
- name: redcarpet
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 1.1.9
126
+ - !ruby/object:Gem::Dependency
127
+ name: tins
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 1.6.0
134
+ type: :runtime
134
135
  prerelease: false
135
- version_requirements: &id008 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 87
141
- segments:
142
- - 1
143
- - 17
144
- - 2
145
- version: 1.17.2
146
- requirement: *id008
147
- - !ruby/object:Gem::Dependency
148
- type: :development
149
- name: guard
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.6.0
142
+ - !ruby/object:Gem::Dependency
143
+ name: term-ansicolor
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 1.0.7
150
+ type: :runtime
150
151
  prerelease: false
151
- version_requirements: &id009 !ruby/object:Gem::Requirement
152
- none: false
153
- requirements:
154
- - - ~>
155
- - !ruby/object:Gem::Version
156
- hash: 15
157
- segments:
158
- - 1
159
- - 0
160
- version: "1.0"
161
- requirement: *id009
162
- - !ruby/object:Gem::Dependency
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 1.0.7
158
+ - !ruby/object:Gem::Dependency
159
+ name: guard
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: '1.0'
163
166
  type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '1.0'
174
+ - !ruby/object:Gem::Dependency
164
175
  name: guard-rspec
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: '0.6'
182
+ type: :development
165
183
  prerelease: false
166
- version_requirements: &id010 !ruby/object:Gem::Requirement
167
- none: false
168
- requirements:
169
- - - ~>
170
- - !ruby/object:Gem::Version
171
- hash: 7
172
- segments:
173
- - 0
174
- - 6
175
- version: "0.6"
176
- requirement: *id010
177
- description: Dynabix dynamically creates read/write accessors on ActiveRecord models for storing attributes in a serialized Hash
178
- email:
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '0.6'
190
+ description: Dynabix dynamically creates read/write accessors on ActiveRecord models
191
+ for storing attributes in a serialized Hash
192
+ email:
179
193
  - robert@gearheadforhire.com
180
194
  executables: []
181
-
182
195
  extensions: []
183
-
184
196
  extra_rdoc_files: []
185
-
186
- files:
197
+ files:
187
198
  - .gemfiles
188
199
  - .gitattributes
189
200
  - .gitignore
190
201
  - .rspec
191
- - .yardopts
192
202
  - Gemfile
193
- - Gemfile.lock
194
203
  - Guardfile
195
204
  - HISTORY.markdown
196
205
  - LICENSE
@@ -209,44 +218,35 @@ files:
209
218
  - spec/spec_helper.rb
210
219
  homepage: http://rubygems.org/gems/dynabix
211
220
  licenses: []
212
-
213
221
  post_install_message:
214
- rdoc_options:
222
+ rdoc_options:
215
223
  - --title
216
224
  - Dynabix Documentation
217
225
  - --main
218
226
  - README.markdown
219
227
  - --line-numbers
220
228
  - --inline-source
221
- require_paths:
229
+ require_paths:
222
230
  - lib
223
- required_ruby_version: !ruby/object:Gem::Requirement
231
+ required_ruby_version: !ruby/object:Gem::Requirement
224
232
  none: false
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- hash: 3
229
- segments:
233
+ requirements:
234
+ - - ! '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ segments:
230
238
  - 0
231
- version: "0"
232
- required_rubygems_version: !ruby/object:Gem::Requirement
239
+ hash: -1254040331280471353
240
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
241
  none: false
234
- requirements:
235
- - - ">="
236
- - !ruby/object:Gem::Version
237
- hash: 23
238
- segments:
239
- - 1
240
- - 3
241
- - 6
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
242
245
  version: 1.3.6
243
246
  requirements: []
244
-
245
247
  rubyforge_project: dynabix
246
- rubygems_version: 1.8.21
248
+ rubygems_version: 1.8.23.2
247
249
  signing_key:
248
250
  specification_version: 3
249
251
  summary: An ActiveRecord 3.x Ruby gem for attribute serialization
250
252
  test_files: []
251
-
252
- has_rdoc:
data/.yardopts DELETED
@@ -1,9 +0,0 @@
1
- --verbose
2
- lib/**/*.rb
3
- features/**/*.feature
4
- features/step_definitions/**/*.rb
5
- features/support/env.rb
6
- -
7
- LICENSE
8
- HISTORY.markdown
9
- VERSION
@@ -1,87 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- dynabix (0.3.1)
5
- activerecord (~> 3.0)
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- activemodel (3.2.3)
11
- activesupport (= 3.2.3)
12
- builder (~> 3.0.0)
13
- activerecord (3.2.3)
14
- activemodel (= 3.2.3)
15
- activesupport (= 3.2.3)
16
- arel (~> 3.0.2)
17
- tzinfo (~> 0.3.29)
18
- activesupport (3.2.3)
19
- i18n (~> 0.6)
20
- multi_json (~> 1.0)
21
- arel (3.0.2)
22
- aruba (0.4.5)
23
- bcat (>= 0.6.1)
24
- childprocess (>= 0.1.9)
25
- cucumber (>= 0.10.7)
26
- rdiscount (>= 1.6.8)
27
- rspec (>= 2.6.0)
28
- bcat (0.6.2)
29
- rack (~> 1.0)
30
- builder (3.0.0)
31
- childprocess (0.3.1)
32
- ffi (~> 1.0.6)
33
- cucumber (1.1.9)
34
- builder (>= 2.1.2)
35
- diff-lcs (>= 1.1.2)
36
- gherkin (~> 2.9.0)
37
- json (>= 1.4.6)
38
- term-ansicolor (>= 1.0.6)
39
- diff-lcs (1.1.3)
40
- ffi (1.0.11)
41
- gherkin (2.9.0)
42
- json (>= 1.4.6)
43
- guard (1.0.1)
44
- ffi (>= 0.5.0)
45
- thor (~> 0.14.6)
46
- guard-rspec (0.7.0)
47
- guard (>= 0.10.0)
48
- i18n (0.6.0)
49
- json (1.6.6)
50
- libnotify (0.7.2)
51
- ffi (~> 1.0.0)
52
- multi_json (1.3.4)
53
- rack (1.4.1)
54
- rake (0.9.2.2)
55
- rdiscount (1.6.8)
56
- redcarpet (2.1.0)
57
- rspec (2.9.0)
58
- rspec-core (~> 2.9.0)
59
- rspec-expectations (~> 2.9.0)
60
- rspec-mocks (~> 2.9.0)
61
- rspec-core (2.9.0)
62
- rspec-expectations (2.9.1)
63
- diff-lcs (~> 1.1.3)
64
- rspec-mocks (2.9.0)
65
- sqlite3 (1.3.5)
66
- sqlite3-ruby (1.3.3)
67
- sqlite3 (>= 1.3.3)
68
- term-ansicolor (1.0.7)
69
- thor (0.14.6)
70
- tzinfo (0.3.33)
71
- yard (0.7.5)
72
-
73
- PLATFORMS
74
- ruby
75
-
76
- DEPENDENCIES
77
- aruba (= 0.4.5)
78
- bundler (>= 1.0.14)
79
- dynabix!
80
- guard (~> 1.0)
81
- guard-rspec (~> 0.6)
82
- libnotify
83
- rake (>= 0.8.7)
84
- redcarpet (>= 1.17.2)
85
- rspec (>= 2.6.0)
86
- sqlite3-ruby (>= 0.8.7)
87
- yard (>= 0.7.4)