magic-report 0.2.0 → 0.4.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/class_helpers.rb +1 -1
- data/lib/magic_report/report.rb +6 -2
- data/lib/magic_report/utils.rb +4 -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: cbd4ccf10ed8cef125608351f7f2fa312b30e5fca6441b32d1b0294a54c4a09f
|
4
|
+
data.tar.gz: dc6218e4caabcb061dbd122eb6db83c7a9b9c0100f43fcd573d04d92a5732fb0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93eff1f5d40e1866f0a86b9de2e69abeb185b972cc7f1eb6aa21602f43def7b0c495c2fe098fd0834f572dd5dad2aa647c43eeb8b40a9e4715fda8ce71d89dfb
|
7
|
+
data.tar.gz: 470da3706587151d4efa0a9c33ff9a725a76f522c8b28d94a21ffe479ed54abe5f6e90f60588368497a5e106c8babeda3a0a0a68306fe8adcfc347e42e7c831a
|
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,10 +3,13 @@
|
|
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')
|
9
11
|
.tr("-", "_")
|
12
|
+
.tr("/", ".")
|
10
13
|
.downcase
|
11
14
|
end
|
12
15
|
|
@@ -15,6 +18,7 @@ module MagicReport
|
|
15
18
|
raise "name option must be provided" unless opts[:name]
|
16
19
|
|
17
20
|
cloned_klass = ::MagicReport::Report.clone
|
21
|
+
cloned_klass.define_singleton_method(:name) { opts[:name] }
|
18
22
|
cloned_klass.class_eval(&block)
|
19
23
|
cloned_klass
|
20
24
|
else
|
data/lib/magic_report/version.rb
CHANGED