Module: Vinber
- Defined in:
- lib/vinber.rb,
lib/vinber/version.rb,
lib/vinber/translate.rb,
lib/vinber/vinber_list.rb,
lib/vinber/vinber_value.rb,
lib/vinber/current_vinbers.rb
Defined Under Namespace
Modules: List, Value
Classes: CurrentVinbers, Translate, VinberUndefined
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.extended(base) ⇒ Object
10
11
12
13
|
# File 'lib/vinber.rb', line 10
def self.extended(base)
base.class_attribute(:defined_vinbers, instance_writer: false)
base.defined_vinbers = {}
end
|
Instance Method Details
#inherited(base) ⇒ Object
15
16
17
18
|
# File 'lib/vinber.rb', line 15
def inherited(base)
base.defined_vinbers = defined_vinbers.deep_dup
super
end
|
#vinber(definitions) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/vinber.rb', line 20
def vinber(definitions)
need_validates = definitions.delete(:validates)
definitions.each do |name, values|
detect_vinber_conflict! name
validates_from_vinber name, values if need_validates
defined_vinbers[name.to_s] = case
when values.is_a?(Hash)
values.with_indifferent_access
when values.is_a?(Array)
values
else
Array.wrap values.to_s
end
end
end
|
#vinber_defined?(attr_key = nil) ⇒ Boolean
40
41
42
|
# File 'lib/vinber.rb', line 40
def vinber_defined?(attr_key = nil)
attr_key ? defined_vinbers.has_key?(attr_key.to_s) : defined_vinbers.present?
end
|