ar_doc_store 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|