seria 1.0.3 → 1.0.4
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 +8 -8
- data/README.md +14 -1
- data/lib/seria/info_table.rb +6 -2
- data/lib/seria/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
MWM0NTNiM2FkNTJjYTE0ZDBkYmNhOWY5ZDgwOTU4ZTY0ZTQzN2VmMA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
NjlmOTk5OGRjOTNmMDQwMTY3MWMzZDRmZmIwNTBkNjFjYWNhZTcwNQ==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
MzRhMGJiNjVmMjViY2UwMWFjNGI5NjM5N2UwOGViYzMxOWU4OWQ0ZDMxZWNh
|
|
10
|
+
YTg0NDQzZmFjZTQzMzZkODQ3NTIzNTgxYTNjMjgyYTU1NjQ2MGIyNWNlYjg1
|
|
11
|
+
ZmVkNDA0MDc0MWY0MDIzZWI1OTNhM2U5MDRjMDEwMDdhODVjN2E=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
ZGUzN2NjZDY1Y2IyODM5NjAxODVkYjQ4MTY0YzY3Y2JhOTUzNjkyZTFhOGFi
|
|
14
|
+
YjczOWU2OWU5MjU1N2UzNDFkOWZhOWM4YWZjMzRmNThhMWIxNjc4M2ExNzg2
|
|
15
|
+
ZGY4ZDRhY2EyMGIxOWQ5NWI3NjFmZmMxZDNiZWQzNzExODBmNTI=
|
data/README.md
CHANGED
|
@@ -37,7 +37,7 @@ Or install it yourself as:
|
|
|
37
37
|
|
|
38
38
|
```ruby
|
|
39
39
|
|
|
40
|
-
class Book
|
|
40
|
+
class Book < ActiveRecord::Base
|
|
41
41
|
include Seria::InfoTableOwner
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -55,6 +55,19 @@ book.infos["recommended"]
|
|
|
55
55
|
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
### Or, avoid awkward association syntax and call directly
|
|
59
|
+
|
|
60
|
+
```ruby
|
|
61
|
+
Seria.configure do |config|
|
|
62
|
+
config.perform_lookup_on_method_missing = true
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
book.recommended = false
|
|
66
|
+
book.recommended
|
|
67
|
+
=> false
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
|
|
58
71
|
### Querying
|
|
59
72
|
|
|
60
73
|
Seria stores your data in separate table with the fields foreign_id, field_name, field_value and field_type
|
data/lib/seria/info_table.rb
CHANGED
|
@@ -105,8 +105,12 @@ module Seria
|
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
def method_missing(sym, *args, &block)
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
if sym.to_s =~ /\=$/
|
|
109
|
+
my_infos[sym.to_s[0..-2]] = args.first
|
|
110
|
+
else
|
|
111
|
+
info = Seria.config.perform_lookup_on_method_missing && my_infos.lookup(sym)
|
|
112
|
+
info ? info.field_value : super
|
|
113
|
+
end
|
|
110
114
|
end
|
|
111
115
|
|
|
112
116
|
module ClassMethods
|
data/lib/seria/version.rb
CHANGED