compendium 1.0.0 → 1.0.1
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/app/classes/compendium/presenters/option.rb +7 -7
- data/app/classes/compendium/presenters/settings/table.rb +10 -2
- data/app/controllers/compendium/reports_controller.rb +8 -2
- data/app/helpers/compendium/reports_helper.rb +1 -1
- data/lib/compendium/option.rb +2 -1
- data/lib/compendium/params.rb +1 -1
- data/lib/compendium/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2ExNjQ1Y2U2ZjhiZTQ4ZDg4NjI1MmU5NmYxODFmNDYzMDI2MzI0Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTFhMGQ1Y2U0ZGE5YzM4YWQ0NDg3ODlmZDgwYjU3YmFiYjY0MmNjNA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzExMTE2ZjI3ZmZiZGM0OTgyMjQ5NWRmN2I4M2U3YTU1ZTI5OTlkZDhlZGJk
|
10
|
+
Y2Y5YTRmYWI2ZGRlM2JiYTY1MWIxNGNlZDMwZDNmMGRlNGZmZmU5MjNjNjU3
|
11
|
+
OGJkYTQ3MWRmMzQxZWEyNGY2NTcwMTZjNDhlYzgwNzJmN2UwMzc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NGNmMWQ3YzllM2E2MDBjZTY3MWI3YTEzZTY3NGRkNDA5MzdjNzk5Y2U5MjRm
|
14
|
+
MWM2OWZiZGJjZjljNjc1NWIzYTcxODBmMDk2NWRkNTc1NmM5NmJmZmVhMzEx
|
15
|
+
YzQyNDE0Nzk2MWNjM2U0MzY4NjdjZjdlOTgyYWE3NmU2Y2VmNDI=
|
@@ -48,15 +48,15 @@ module Compendium::Presenters
|
|
48
48
|
out << date_field(form)
|
49
49
|
|
50
50
|
when :dropdown
|
51
|
-
raise ArgumentError, MISSING_CHOICES_ERROR unless option.choices
|
51
|
+
raise ArgumentError, MISSING_CHOICES_ERROR unless option.choices
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
out << dropdown(form, options)
|
53
|
+
choices = option.choices
|
54
|
+
choices = ctx.instance_exec(&choices) if choices.respond_to?(:call)
|
55
|
+
out << dropdown(form, choices, option.options)
|
56
56
|
|
57
57
|
when :boolean, :radio
|
58
58
|
choices = if option.radio?
|
59
|
-
raise ArgumentError, MISSING_CHOICES_ERROR unless option.choices
|
59
|
+
raise ArgumentError, MISSING_CHOICES_ERROR unless option.choices
|
60
60
|
option.choices
|
61
61
|
else
|
62
62
|
%w(true false)
|
@@ -80,9 +80,9 @@ module Compendium::Presenters
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
-
def dropdown(form, choices = {})
|
83
|
+
def dropdown(form, choices = {}, options = {})
|
84
84
|
content_tag('div', class: 'option-dropdown') do
|
85
|
-
form.select option.name, choices
|
85
|
+
form.select option.name, choices, options.symbolize_keys
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -7,8 +7,16 @@ module Compendium::Presenters::Settings
|
|
7
7
|
@headings = Hash[headings.zip(headings)].with_indifferent_access
|
8
8
|
end
|
9
9
|
|
10
|
-
def override_heading(
|
11
|
-
|
10
|
+
def override_heading(*args, &block)
|
11
|
+
if block_given?
|
12
|
+
@headings.each do |key, val|
|
13
|
+
res = yield val
|
14
|
+
@headings[key] = res if res
|
15
|
+
end
|
16
|
+
else
|
17
|
+
col, label = args
|
18
|
+
@headings[col] = label
|
19
|
+
end
|
12
20
|
end
|
13
21
|
|
14
22
|
def format(column, &block)
|
@@ -1,12 +1,13 @@
|
|
1
1
|
module Compendium
|
2
2
|
class ReportsController < ::ApplicationController
|
3
3
|
helper Compendium::ReportsHelper
|
4
|
+
include Compendium::ReportsHelper
|
4
5
|
|
5
6
|
before_filter :find_report
|
6
7
|
before_filter :run_report, only: :run
|
7
8
|
|
8
9
|
def setup
|
9
|
-
|
10
|
+
render_setup
|
10
11
|
end
|
11
12
|
|
12
13
|
def run
|
@@ -14,7 +15,7 @@ module Compendium
|
|
14
15
|
render action: template, locals: { report: @report }
|
15
16
|
end
|
16
17
|
|
17
|
-
|
18
|
+
private
|
18
19
|
|
19
20
|
def find_report
|
20
21
|
@prefix = params[:report_name]
|
@@ -29,6 +30,11 @@ module Compendium
|
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
33
|
+
def render_setup(opts = {})
|
34
|
+
locals = { report: setup_report, prefix: @prefix }
|
35
|
+
render_if_exists(opts.merge(locals: locals)) || render(locals: locals)
|
36
|
+
end
|
37
|
+
|
32
38
|
def setup_report
|
33
39
|
@report_class.new(params[:report] || {})
|
34
40
|
end
|
data/lib/compendium/option.rb
CHANGED
@@ -5,7 +5,7 @@ require 'active_support/core_ext/module/delegation'
|
|
5
5
|
|
6
6
|
module Compendium
|
7
7
|
class Option
|
8
|
-
attr_reader :name, :type, :default, :options
|
8
|
+
attr_reader :name, :type, :default, :choices, :options
|
9
9
|
|
10
10
|
delegate :boolean?, :date?, :dropdown?, :radio?, :text?, to: :type
|
11
11
|
delegate :merge, :merge!, :[], to: :@options
|
@@ -15,6 +15,7 @@ module Compendium
|
|
15
15
|
|
16
16
|
@name = hash.delete(:name).to_sym
|
17
17
|
@default = hash.delete(:default)
|
18
|
+
@choices = hash.delete(:choices)
|
18
19
|
self.type = hash.delete(:type)
|
19
20
|
@options = hash.with_indifferent_access
|
20
21
|
end
|
data/lib/compendium/params.rb
CHANGED
@@ -20,7 +20,7 @@ module Compendium
|
|
20
20
|
options.each do |option_name, metadata|
|
21
21
|
begin
|
22
22
|
klass = "Compendium::#{"#{metadata.type}Param".classify}".constantize
|
23
|
-
params[option_name] = klass.new(get_default_value(params[option_name], metadata.default), metadata
|
23
|
+
params[option_name] = klass.new(get_default_value(params[option_name], metadata.default), metadata.choices)
|
24
24
|
rescue IndexError
|
25
25
|
raise IndexError, "invalid index for #{option_name}"
|
26
26
|
end
|
data/lib/compendium/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: compendium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Vandersluis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
type: :runtime
|