typed_fields 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -109,14 +109,19 @@ module TypedFields
109
109
 
110
110
  module InstanceMethods
111
111
  def initialize_fields params
112
+ symbolized_params = symbolize_hash params
112
113
  self.class.saved_type_info.each do |type_info|
113
- value = value_for params, type_info
114
+ value = value_for symbolized_params, type_info
114
115
  set_value type_info.field_name, value
115
116
  end
116
117
  end
117
118
 
118
119
  private
119
120
 
121
+ def symbolize_hash hash
122
+ hash.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
123
+ end
124
+
120
125
  def value_for params, type_info
121
126
  if passed_value_for? params, type_info
122
127
  value = parse_passed_value params, type_info
@@ -1,3 +1,3 @@
1
1
  module TypedFields
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -33,6 +33,12 @@ describe TypedFields do
33
33
  object.initialize_fields :another_field => "value"
34
34
  f(:another_field).should be_nil
35
35
  end
36
+
37
+ it "should symbolize all keys of a passed hash" do
38
+ clazz.object :field
39
+ object.initialize_fields "field" => "value"
40
+ f(:field).should == "value"
41
+ end
36
42
  end
37
43
 
38
44
  context "default values" do
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
8
8
  s.authors = ["Victor Savkin"]
9
9
  s.email = ["vic.savkin@gmail.com"]
10
10
  s.homepage = ""
11
- s.summary = %q{It types all your fields. Adds methods to convert a hash of strings into specified types.}
12
- s.description = %q{}
11
+ s.summary = %q{Type conversions based on fields' types. Similar to what ActiveRecord does.}
12
+ s.description = %q{Type conversions based on fields' types. Similar to what ActiveRecord does.}
13
13
 
14
14
  s.rubyforge_project = "typed_fields"
15
15
 
@@ -19,4 +19,5 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_development_dependency "rspec"
22
+ s.add_development_dependency "rake"
22
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typed_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-26 00:00:00.000000000Z
12
+ date: 2011-12-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2157005440 !ruby/object:Gem::Requirement
16
+ requirement: &70235563437340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,8 +21,20 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2157005440
25
- description: ''
24
+ version_requirements: *70235563437340
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70235563436800 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70235563436800
36
+ description: Type conversions based on fields' types. Similar to what ActiveRecord
37
+ does.
26
38
  email:
27
39
  - vic.savkin@gmail.com
28
40
  executables: []
@@ -50,19 +62,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
62
  - - ! '>='
51
63
  - !ruby/object:Gem::Version
52
64
  version: '0'
65
+ segments:
66
+ - 0
67
+ hash: -415851363203140830
53
68
  required_rubygems_version: !ruby/object:Gem::Requirement
54
69
  none: false
55
70
  requirements:
56
71
  - - ! '>='
57
72
  - !ruby/object:Gem::Version
58
73
  version: '0'
74
+ segments:
75
+ - 0
76
+ hash: -415851363203140830
59
77
  requirements: []
60
78
  rubyforge_project: typed_fields
61
79
  rubygems_version: 1.8.10
62
80
  signing_key:
63
81
  specification_version: 3
64
- summary: It types all your fields. Adds methods to convert a hash of strings into
65
- specified types.
82
+ summary: Type conversions based on fields' types. Similar to what ActiveRecord does.
66
83
  test_files:
67
84
  - spec/spec_helper.rb
68
85
  - spec/typed_fields_spec.rb