magic-report 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/magic_report/report.rb +6 -2
- data/lib/magic_report/utils.rb +3 -0
- data/lib/magic_report/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f213aa09ce963abf162471ccdae3a9aecbbbfce8d6aed1dfabf673eb88bebedf
|
4
|
+
data.tar.gz: cf763202fc99278741b64898a6809929d7dfac3ea08b7c25f48870e11e4729a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aea3c759c88f5381ce9df62ca88ef8242d7307a16d06f1340578f2856896f087f4dfc5d31e7aed08490910301b89450fb704d3a0cdc05802c7fb16109d5047bd
|
7
|
+
data.tar.gz: 0dac70e8c03ec49759b1f1f462b787c304d8a33acdc1885213cc52a0e9d2f646592caf4c69bd692ae371f88bc7f4e54301bcdc256b05aed5abf927ed28f6e557
|
data/lib/magic_report/report.rb
CHANGED
@@ -67,8 +67,10 @@ module MagicReport
|
|
67
67
|
|
68
68
|
klass = ::MagicReport::Utils.derive_class(opts, &block)
|
69
69
|
|
70
|
+
opts[:name] = ::MagicReport::Utils.underscore(opts[:name].to_s) if opts[:name]
|
71
|
+
|
70
72
|
if (prefix = opts[:prefix])
|
71
|
-
opts[:prefix] = new.instance_exec(&prefix)
|
73
|
+
opts[:prefix] = new(name: ::MagicReport::Utils.underscore(name.to_s)).instance_exec(&prefix)
|
72
74
|
end
|
73
75
|
|
74
76
|
@has_one << Configuration::HasOne.new(klass: klass, opts: opts, key: coerced_attribute)
|
@@ -81,8 +83,10 @@ module MagicReport
|
|
81
83
|
|
82
84
|
klass = ::MagicReport::Utils.derive_class(opts, &block)
|
83
85
|
|
86
|
+
opts[:name] = ::MagicReport::Utils.underscore(opts[:name].to_s) if opts[:name]
|
87
|
+
|
84
88
|
if (prefix = opts[:prefix])
|
85
|
-
opts[:prefix] = new.instance_exec(&prefix)
|
89
|
+
opts[:prefix] = new(name: ::MagicReport::Utils.underscore(name.to_s)).instance_exec(&prefix)
|
86
90
|
end
|
87
91
|
|
88
92
|
@has_many << Configuration::HasMany.new(klass: klass, opts: opts, key: coerced_attribute)
|
data/lib/magic_report/utils.rb
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
module MagicReport
|
4
4
|
module Utils
|
5
5
|
def underscore(klass)
|
6
|
+
return "ded" unless klass
|
7
|
+
|
6
8
|
klass.gsub(/::/, "/")
|
7
9
|
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
8
10
|
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
@@ -15,6 +17,7 @@ module MagicReport
|
|
15
17
|
raise "name option must be provided" unless opts[:name]
|
16
18
|
|
17
19
|
cloned_klass = ::MagicReport::Report.clone
|
20
|
+
cloned_klass.define_singleton_method(:name) { opts[:name] }
|
18
21
|
cloned_klass.class_eval(&block)
|
19
22
|
cloned_klass
|
20
23
|
else
|
data/lib/magic_report/version.rb
CHANGED