Class: Filterameter::FilterDeclaration
- Inherits:
-
Object
- Object
- Filterameter::FilterDeclaration
- Defined in:
- lib/filterameter/filter_declaration.rb
Overview
Filter Declaration
Class FilterDeclaration captures the filter declaration within the controller.
Constant Summary collapse
- VALID_RANGE_OPTIONS =
[true, :min_only, :max_only].freeze
Instance Attribute Summary collapse
-
#association ⇒ Object
readonly
Returns the value of attribute association.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#parameter_name ⇒ Object
readonly
Returns the value of attribute parameter_name.
-
#validations ⇒ Object
readonly
Returns the value of attribute validations.
Instance Method Summary collapse
- #filter_on_empty? ⇒ Boolean
-
#initialize(parameter_name, options) ⇒ FilterDeclaration
constructor
A new instance of FilterDeclaration.
- #maximum? ⇒ Boolean
- #minimum? ⇒ Boolean
- #nested? ⇒ Boolean
- #partial_options ⇒ Object
- #partial_search? ⇒ Boolean
- #range? ⇒ Boolean
- #range_enabled? ⇒ Boolean
- #validations? ⇒ Boolean
Constructor Details
#initialize(parameter_name, options) ⇒ FilterDeclaration
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/filterameter/filter_declaration.rb', line 15 def initialize(parameter_name, ) @parameter_name = parameter_name.to_s () @name = .fetch(:name, parameter_name).to_s @association = [:association] @filter_on_empty = .fetch(:filter_on_empty, false) @validations = Array.wrap([:validates]) = .fetch(:partial, false) @raw_range = [:range] end |
Instance Attribute Details
#association ⇒ Object (readonly)
Returns the value of attribute association.
13 14 15 |
# File 'lib/filterameter/filter_declaration.rb', line 13 def association @association end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
13 14 15 |
# File 'lib/filterameter/filter_declaration.rb', line 13 def name @name end |
#parameter_name ⇒ Object (readonly)
Returns the value of attribute parameter_name.
13 14 15 |
# File 'lib/filterameter/filter_declaration.rb', line 13 def parameter_name @parameter_name end |
#validations ⇒ Object (readonly)
Returns the value of attribute validations.
13 14 15 |
# File 'lib/filterameter/filter_declaration.rb', line 13 def validations @validations end |
Instance Method Details
#filter_on_empty? ⇒ Boolean
35 36 37 |
# File 'lib/filterameter/filter_declaration.rb', line 35 def filter_on_empty? @filter_on_empty end |
#maximum? ⇒ Boolean
59 60 61 |
# File 'lib/filterameter/filter_declaration.rb', line 59 def maximum? @raw_range == :max_only end |
#minimum? ⇒ Boolean
55 56 57 |
# File 'lib/filterameter/filter_declaration.rb', line 55 def minimum? @raw_range == :min_only end |
#nested? ⇒ Boolean
27 28 29 |
# File 'lib/filterameter/filter_declaration.rb', line 27 def nested? @association.present? end |
#partial_options ⇒ Object
43 44 45 |
# File 'lib/filterameter/filter_declaration.rb', line 43 def ||= ? Options::PartialOptions.new() : nil end |
#partial_search? ⇒ Boolean
39 40 41 |
# File 'lib/filterameter/filter_declaration.rb', line 39 def partial_search? .present? end |
#range? ⇒ Boolean
51 52 53 |
# File 'lib/filterameter/filter_declaration.rb', line 51 def range? @raw_range == true end |
#range_enabled? ⇒ Boolean
47 48 49 |
# File 'lib/filterameter/filter_declaration.rb', line 47 def range_enabled? @raw_range.present? end |
#validations? ⇒ Boolean
31 32 33 |
# File 'lib/filterameter/filter_declaration.rb', line 31 def validations? !@validations.empty? end |