assignable_values 0.2.1 → 0.3.0

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.
data/README.md CHANGED
@@ -55,6 +55,10 @@ You can access the humanized version for the current value like this:
55
55
  song = Song.new(:genre => 'pop')
56
56
  song.humanized_genre # => 'Pop music'
57
57
 
58
+ Or you can retrieve the humanized version of any given value by passing it as an argument:
59
+
60
+ song.humanized_genre('rock') # => 'Rock music'
61
+
58
62
  When obtaining a list of assignable values, each value will have a method `#humanized` that returns the translation:
59
63
 
60
64
  song.assignable_genres.first # => "pop"
@@ -33,8 +33,9 @@ module AssignableValues
33
33
  def define_humanized_method
34
34
  restriction = self
35
35
  enhance_model do
36
- define_method "humanized_#{restriction.property}" do
37
- value = send(restriction.property)
36
+ define_method "humanized_#{restriction.property}" do |*args|
37
+ given_value = args[0]
38
+ value = given_value || send(restriction.property)
38
39
  restriction.humanize_string_value(value)
39
40
  end
40
41
  end
@@ -1,3 +1,3 @@
1
1
  module AssignableValues
2
- VERSION = '0.2.1'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -71,6 +71,11 @@ describe AssignableValues::ActiveRecord do
71
71
  song.humanized_genre.should be_nil
72
72
  end
73
73
 
74
+ it 'should generate a method to retrieve the humanization of any given value' do
75
+ song = @klass.new(:genre => 'pop')
76
+ song.humanized_genre('rock').should == 'Rock music'
77
+ end
78
+
74
79
  end
75
80
 
76
81
  context 'if the :allow_blank option is set' do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assignable_values
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 1
10
- version: 0.2.1
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Henning Koch
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-07-05 00:00:00 +02:00
18
+ date: 2012-07-31 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency