ar_doc_store 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/ar_doc_store.gemspec +1 -0
- data/lib/ar_doc_store.rb +3 -1
- data/lib/ar_doc_store/attribute_types/base.rb +1 -1
- data/lib/ar_doc_store/attribute_types/json.rb +13 -0
- data/lib/ar_doc_store/storage.rb +18 -11
- data/lib/ar_doc_store/version.rb +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 401138e35802b70caf47d7ee217637e2dd7ff4f3
|
4
|
+
data.tar.gz: f2bd57d5d211506a6150f377f0b5d4955badd513
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d75e45318b4863bf94a2e40ed2925f13ccd98ddf5c5ef901e77e7570f3c0fe6bfd73dab1fdb8292a11ea48a2e60b11d8db561ddc0010a7bbc7b530daec55df2
|
7
|
+
data.tar.gz: c296bf89a1288ae64269e5c478d8caa684b0df4dd9f0272e67fad841ae91baa02a582e286c7b6882a7e4991c61909e7834f9e2e2a8b9128e7c5b1847d16d2a19
|
data/ar_doc_store.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_dependency "activerecord", ">= 4.0"
|
22
|
+
spec.add_dependency "hashie", ">=3.4.0"
|
22
23
|
spec.add_development_dependency "bundler", "~> 1.7"
|
23
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
25
|
end
|
data/lib/ar_doc_store.rb
CHANGED
@@ -22,7 +22,9 @@ module ArDocStore
|
|
22
22
|
@mappings[:float] = 'ArDocStore::AttributeTypes::FloatAttribute'
|
23
23
|
@mappings[:integer] = 'ArDocStore::AttributeTypes::IntegerAttribute'
|
24
24
|
@mappings[:string] = 'ArDocStore::AttributeTypes::StringAttribute'
|
25
|
-
|
25
|
+
@mappings[:json] = 'ArDocStore::AttributeTypes::JsonAttribute'
|
26
|
+
@mappings[:uuid] = 'ArDocStore::AttributeTypes::UuidAttribute'
|
27
|
+
|
26
28
|
def self.mappings
|
27
29
|
@mappings
|
28
30
|
end
|
data/lib/ar_doc_store/storage.rb
CHANGED
@@ -85,16 +85,13 @@ module ArDocStore
|
|
85
85
|
end
|
86
86
|
|
87
87
|
#:nodoc:
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
else
|
96
|
-
store_attribute_from_class typecast_method, key
|
97
|
-
end
|
88
|
+
def store_attribute(attribute, typecast_method, predicate=nil, default_value=nil)
|
89
|
+
store_accessor :data, attribute
|
90
|
+
add_ransacker(attribute, predicate)
|
91
|
+
if typecast_method.is_a?(Symbol)
|
92
|
+
store_attribute_from_symbol typecast_method, attribute, default_value
|
93
|
+
else
|
94
|
+
store_attribute_from_class typecast_method, attribute
|
98
95
|
end
|
99
96
|
end
|
100
97
|
|
@@ -161,7 +158,17 @@ module ArDocStore
|
|
161
158
|
end
|
162
159
|
attribute_method_matchers_cache.clear
|
163
160
|
end
|
164
|
-
|
161
|
+
|
162
|
+
|
163
|
+
# TODO: Remove the following deprecated methods once projects that use them have been refactored.
|
164
|
+
#:nodoc:
|
165
|
+
def store_attributes(typecast_method, predicate=nil, attributes=[], default_value=nil)
|
166
|
+
attributes = [attributes] unless attributes.respond_to?(:each)
|
167
|
+
attributes.each do |key|
|
168
|
+
store_attribute key, typecast_method, predicate, default_value
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
165
172
|
# Allows you to define several string attributes at once. Deprecated.
|
166
173
|
def string_attributes(*args)
|
167
174
|
args.each do |arg|
|
data/lib/ar_doc_store/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ar_doc_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Furber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hashie
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.4.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.4.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +91,7 @@ files:
|
|
77
91
|
- lib/ar_doc_store/attribute_types/enumeration.rb
|
78
92
|
- lib/ar_doc_store/attribute_types/float.rb
|
79
93
|
- lib/ar_doc_store/attribute_types/integer.rb
|
94
|
+
- lib/ar_doc_store/attribute_types/json.rb
|
80
95
|
- lib/ar_doc_store/attribute_types/string.rb
|
81
96
|
- lib/ar_doc_store/attribute_types/uuid.rb
|
82
97
|
- lib/ar_doc_store/embeddable_model.rb
|
@@ -109,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
124
|
version: '0'
|
110
125
|
requirements: []
|
111
126
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.4.
|
127
|
+
rubygems_version: 2.4.6
|
113
128
|
signing_key:
|
114
129
|
specification_version: 4
|
115
130
|
summary: A document storage gem meant for ActiveRecord PostgresQL JSON storage.
|