qui-common-helpers 0.0.5 → 0.0.6

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.
Files changed (3) hide show
  1. data/Rakefile +1 -1
  2. data/lib/qui-common-helpers.rb +18 -1
  3. metadata +3 -3
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ begin
9
9
  gemspec.email = "marcin@saepia.net"
10
10
  gemspec.homepage = "http://q.saepia.net"
11
11
  gemspec.authors = ["Marcin Lewandowski"]
12
- gemspec.version = "0.0.5"
12
+ gemspec.version = "0.0.6"
13
13
  gemspec.files = Rake::FileList.new [ "MIT-LICENSE", "Rakefile", "lib/*" ]
14
14
  end
15
15
  rescue LoadError
@@ -40,17 +40,34 @@ module QUI
40
40
  def self.included(base) # :nodoc:
41
41
  base.extend ClassMethods
42
42
 
43
- define_method :link_default_description do
43
+ def link_default_description
44
44
  if self.class.respond_to?(:link_default_description_field)
45
45
  send(self.class.link_default_description_field)
46
46
  else
47
47
  "#{self.class.human_name} ##{id}"
48
48
  end
49
49
  end
50
+
51
+ def enum_human_value(attribute_name)
52
+ self.class.enum_human_value(attribute_name, self.send(attribute_name))
53
+ end
50
54
  end
51
55
 
52
56
  module ClassMethods
57
+ def is_enum?(attribute_name)
58
+ return false unless @enums
59
+ @enums.include? attribute_name.to_sym
60
+ end
61
+
62
+ def enum_human_value(attribute_name, value)
63
+ raise ArgumentError, "Attribute #{attribute_name} is not defined as enum with validates_enum_of" unless is_enum? attribute_name
64
+
65
+ I18n.t(:"activerecord.enums.#{self.to_s.tableize.singularize}.#{attribute_name}.#{value}")
66
+ end
67
+
53
68
  def validates_enum_of(attribute_name)
69
+ @enums ||= []
70
+ @enums << attribute_name.to_sym
54
71
  validates_inclusion_of attribute_name, :in => I18n.t("activerecord.enums.#{table_name.singularize}.#{attribute_name}").collect{|k,v| k.to_s.to_i }
55
72
  end
56
73
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qui-common-helpers
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marcin Lewandowski