symbolic_attribute 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 130f99c093bdbac8998f76581b20f327006852b6
4
- data.tar.gz: 9256f6d718173865e2a84e43fe5582d9fe5c5c76
3
+ metadata.gz: 0fc43f8d0936c75d362c4895d439af6ae39d41b2
4
+ data.tar.gz: dc1f824554f50416163f349fe967d802829d342c
5
5
  SHA512:
6
- metadata.gz: 0c324400cb983e1dfab60ddeb8331fee116f4413597eb1396ab69478352768b1389b9994d0a89a0839fe8889c6df425aeba3aa8220c092f283477d3236143cbf
7
- data.tar.gz: 6a07b6840e17557cab1c388aa6f624775f33b6a150159dfe7ad31c4b84614635eb2d2e6dc926d19cbc79f5d23143f98e2570803f45e7ffd8b312748569f43090
6
+ metadata.gz: ac86c3837a1eb5d3df61015e24b27ec2171aa78cf195d5b8ecdf256b103f3302c5ac2c3c95f70f2d909e14547c97ead3bae298347d61922707339b6f3dc53462
7
+ data.tar.gz: 8cad4401bcbb540e82a23274e2cd8900ca8c5fd0bd3f469db7c8df0c87aba65160040d48fa05043ce3cf17e00a3929e2c13e469fd6bc85922dd8bbbcf5b10e90
@@ -23,22 +23,23 @@ module SymbolicAttribute
23
23
 
24
24
  # Add a class method and validation if :values option key is defined
25
25
  if opts.symbolize_keys!.key?(:values)
26
- class_attr_name = attr.to_s.pluralize
27
- class_attribute class_attr_name, :instance_reader => false, :instance_writer => false
28
- send "#{class_attr_name}=", opts.delete(:values).map(&:to_sym)
29
- validates attr, opts.merge(:inclusion => { :in => proc{|instance| instance.class.send(class_attr_name)} })
26
+ plural_attr = opts.delete(:plural) || attr.to_s.pluralize
27
+ class_attribute plural_attr, :instance_reader => false, :instance_writer => false
28
+ send "#{plural_attr}=", opts.delete(:values).map(&:to_sym)
29
+ validates attr, opts.merge(:inclusion => { :in => proc{|instance| instance.class.send(plural_attr)} })
30
30
 
31
31
  define_singleton_method "human_#{attr}" do |val, options={}|
32
32
  options = { :count => 1 }.merge!(options)
33
33
 
34
34
  defaults = lookup_ancestors.map do |klass|
35
- :"#{self.i18n_scope}.symbolic_attributes.#{klass.model_name.i18n_key}.#{attr}.#{val}"
35
+ :"#{self.i18n_scope}.symbolic_attributes.#{klass.model_name.i18n_key}.#{plural_attr}.#{val}"
36
36
  end
37
37
 
38
38
  defaults << options.delete(:default) if options[:default]
39
39
  defaults << val.to_s.humanize
40
40
 
41
41
  options[:default] = defaults
42
+
42
43
  I18n.translate(defaults.shift, options)
43
44
  end
44
45
 
@@ -1,3 +1,3 @@
1
1
  module SymbolicAttribute
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symbolic_attribute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - itkin