tablesalt 0.9.1 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38c31dee2d7e9d19fbcecf535911312665e5f35d741da7119de8655eecaa40d9
4
- data.tar.gz: 873c8d1b89c32ca218a62b812173d0f556c0ccff592163cf0b324baf25154909
3
+ metadata.gz: 124513ebba0f74fd84bca0383de07005d4e52d7b72f947a6fbdeec57559b5013
4
+ data.tar.gz: 4fee0882a20b9c074ed1d25c6139e3d20638adb68e46d5046831b51f23c4295e
5
5
  SHA512:
6
- metadata.gz: dd1a3f97c91b6a9e68966aa75544a67b6a9fcb42b48f9921e03e32effa0102cf010e2283debf677d626c7fea1b48af1532242a7603bc8dd9b2cf53442d46cd6e
7
- data.tar.gz: b718d3ab6ea82dcd59ec670a591ab62f475016ac37b22d4763b1bb7a1618f3d5fb8ab15b9ea5d30a9a9d71562266eb0bb522f314689436d72237310a3b1fc3ac
6
+ metadata.gz: e15058e2d8357cdfdc3c6173b6fe6f2956f3060b3a3ad5a7fb0db778d720a93bfb744f63cc85e5a3b41c2301b35014fc9f4016edb845d8826c3e6f2723f7d02d
7
+ data.tar.gz: 3614f29903caee7ca7b30ef8215ac7fa5acd0604baff9f338e4de6484fa47a234af439599545c3905a918e0840d2a3c2cc424d524ef5f701db83d091e084d15b
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_model"
4
+
5
+ module Tablesalt
6
+ module HashModel
7
+ extend ActiveSupport::Concern
8
+
9
+ included do
10
+ include ActiveModel::Attributes
11
+
12
+ class_attribute :_fields, instance_writer: false, default: []
13
+
14
+ attr_accessor :hash
15
+ end
16
+
17
+ class_methods do
18
+ def inherited(base)
19
+ base._fields = _fields.dup
20
+ super
21
+ end
22
+
23
+ private
24
+
25
+ def field(name, type = Type::Value.new, **options)
26
+ _fields << name
27
+ attribute(name, type, **options)
28
+ define_field_methods(name)
29
+ end
30
+
31
+ def define_field_methods(name)
32
+ define_method("#{name}=".to_sym) { |value| hash[name] = value }
33
+ define_method(name) do
34
+ write_attribute(name, hash[name] || attribute(name))
35
+ attribute(name)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Tablesalt
4
4
  # This constant is managed by spicerack
5
- VERSION = "0.9.1"
5
+ VERSION = "0.9.2"
6
6
  end
data/lib/tablesalt.rb CHANGED
@@ -2,10 +2,8 @@
2
2
 
3
3
  require "active_support"
4
4
 
5
- require "redis"
6
-
7
- require "technologic"
8
-
9
5
  require "tablesalt/version"
10
6
 
7
+ require "tablesalt/hash_model"
8
+
11
9
  module Tablesalt; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tablesalt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Minneti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-16 00:00:00.000000000 Z
11
+ date: 2019-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -25,33 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 5.2.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: technologic
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '='
32
- - !ruby/object:Gem::Version
33
- version: 0.9.1
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '='
39
- - !ruby/object:Gem::Version
40
- version: 0.9.1
41
- - !ruby/object:Gem::Dependency
42
- name: redis
28
+ name: activemodel
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '4.0'
33
+ version: 5.2.1
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '4.0'
40
+ version: 5.2.1
55
41
  description: A package of helpers that introduce some conventions and convenience
56
42
  for common behaviors
57
43
  email:
@@ -63,6 +49,7 @@ files:
63
49
  - LICENSE.txt
64
50
  - README.md
65
51
  - lib/tablesalt.rb
52
+ - lib/tablesalt/hash_model.rb
66
53
  - lib/tablesalt/version.rb
67
54
  homepage: https://github.com/Freshly/spicerack/tree/master/tablesalt
68
55
  licenses: