tiny-record 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile.lock +1 -1
- data/lib/tiny/record.rb +18 -10
- data/lib/tiny/record/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: bd7ba4e437f4589089876cd1c3865c4a9adb144cea14b884d60157d054b7a717
|
4
|
+
data.tar.gz: 2a6e1bd618b2235d1b747869eb5cff9c15c03ca399210140414c6cfc6187af61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f010a41b376356af14238cb677afa499a2b0bd2fb617d7b16e092c2e1f9005e05aec03dac57d56358c96b571da07054031c21e1f1045ded90be2e66af3419903
|
7
|
+
data.tar.gz: da4fb982ad5f2a37cc295bb042e5eb0dae37458fd76d675dcac9a644c3b0ac425f835f7e494e8d2b6e9e9741a049cf2633efa5adb8563c2883dea65e177cbdae
|
data/Gemfile.lock
CHANGED
data/lib/tiny/record.rb
CHANGED
@@ -1,37 +1,45 @@
|
|
1
1
|
require "tiny/record/version"
|
2
|
-
|
3
2
|
module TinyRecord
|
4
3
|
def self.included(base)
|
5
4
|
base.extend ClassMethods
|
6
5
|
end
|
7
6
|
module ClassMethods
|
8
|
-
@@with_columns = []
|
9
7
|
|
10
8
|
def tiny_columns(*args)
|
11
|
-
|
9
|
+
@default_tiny_columns = *args
|
12
10
|
end
|
13
11
|
|
14
|
-
def fetch(id, with:
|
15
|
-
|
12
|
+
def fetch(id, with: nil)
|
13
|
+
_get_records(_primary_lookup(id), with).take!
|
16
14
|
end
|
17
15
|
|
18
16
|
def fetch_by(columns = {})
|
19
17
|
with = columns.delete(:with)
|
20
|
-
|
18
|
+
_get_records(columns, with).take
|
21
19
|
end
|
22
20
|
|
23
21
|
def fetch_where(columns = {})
|
24
22
|
with = columns.delete(:with)
|
25
|
-
|
23
|
+
_get_records(columns, with)
|
26
24
|
end
|
27
25
|
|
28
|
-
def
|
26
|
+
def _get_records(by_columns, with_columns)
|
29
27
|
collection = where(by_columns)
|
30
|
-
collection = collection
|
28
|
+
collection = _retrieve_selective_columns(collection,with_columns)
|
29
|
+
collection
|
30
|
+
end
|
31
|
+
|
32
|
+
def _retrieve_selective_columns(collection, requested_columns)
|
33
|
+
target_columns = requested_columns && requested_columns.present? ? requested_columns : _default_tiny_columns
|
34
|
+
collection = collection.select(target_columns) if collection.present?
|
31
35
|
collection
|
32
36
|
end
|
33
37
|
|
34
|
-
def
|
38
|
+
def _default_tiny_columns
|
39
|
+
@default_tiny_columns
|
40
|
+
end
|
41
|
+
|
42
|
+
def _primary_lookup(lookup_id)
|
35
43
|
{ primary_key => lookup_id }
|
36
44
|
end
|
37
45
|
end
|
data/lib/tiny/record/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiny-record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vikas Verma
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,8 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
136
|
- !ruby/object:Gem::Version
|
137
137
|
version: '0'
|
138
138
|
requirements: []
|
139
|
-
|
140
|
-
rubygems_version: 2.6.14
|
139
|
+
rubygems_version: 3.0.6
|
141
140
|
signing_key:
|
142
141
|
specification_version: 4
|
143
142
|
summary: target columns when querying for active record objects
|