tablesalt 0.9.1 → 0.9.2

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