sequel-dynamic-column 0.0.1 → 0.0.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 +4 -4
- data/lib/class_methods.rb +19 -0
- data/lib/config.rb +14 -0
- data/lib/instance_methods.rb +18 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e2a72a0e72bb18972eed8ba80a06e117b538f26
|
4
|
+
data.tar.gz: 535da704c5ebece60aa0c11a1da05a1cf7a7f89d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b4700d68120b2c3e04ff93ef8c9823e4f2106fd3cd0fb74baa84fe745cb74193a0fbdff737ed72addb7829f1da31e0f8fa4d031d346650c45d68c37a8510070
|
7
|
+
data.tar.gz: a000a355a794baed6e82cad3bdb7f6a58c0a99cb0e866b349c43b4ea44909a9f4793862f764afdad2b6696dbb382a256d9084f26e110251e88f06b93c0d4d85b
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Sequel
|
2
|
+
module Plugins
|
3
|
+
module SequelDynamicColumn
|
4
|
+
module ClassMethods
|
5
|
+
def full_columns
|
6
|
+
basic_columns + dynamic_columns
|
7
|
+
end
|
8
|
+
|
9
|
+
def dynamic_columns
|
10
|
+
@dynamic_column_config.dynamic_columns
|
11
|
+
end
|
12
|
+
|
13
|
+
def basic_columns
|
14
|
+
columns - [@dynamic_column_config.storage_column]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/config.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
module Sequel
|
2
|
+
module Plugins
|
3
|
+
module SequelDynamicColumn
|
4
|
+
class Config
|
5
|
+
attr_accessor :storage_column, :dynamic_columns
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
@storage_column = opts[:storage_column] if opts.has_key?(:storage_column)
|
9
|
+
@dynamic_columns = opts[:dynamic_columns] if opts.has_key?(:dynamic_columns)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Sequel
|
2
|
+
module Plugins
|
3
|
+
module SequelDynamicColumn
|
4
|
+
module InstanceMethods
|
5
|
+
def to_extended_hash
|
6
|
+
column_names = self.class.full_columns
|
7
|
+
|
8
|
+
column_names.reduce({}) do |result, column_name|
|
9
|
+
result[column_name] = self.send(column_name)
|
10
|
+
result
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
alias_method :extended_values, :to_extended_hash
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel-dynamic-column
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Probus
|
@@ -16,6 +16,9 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
+
- lib/class_methods.rb
|
20
|
+
- lib/config.rb
|
21
|
+
- lib/instance_methods.rb
|
19
22
|
- lib/sequel_dynamic_column.rb
|
20
23
|
homepage: https://github.com/aprobus/sequel-dynamic-column
|
21
24
|
licenses:
|