dynamo 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,71 +4,73 @@
4
4
  #
5
5
  # The `fields` call should not be hard coded, etc
6
6
  #
7
- module DynamicFields
8
- FIELD_NAME_PATTERN = /(.+)_field(=)?$/
7
+ module Dynamo
8
+ module DynamicFields
9
+ FIELD_NAME_PATTERN = /(.+)_field(=)?$/
9
10
 
10
- module ClassMethods
11
- def dynamic_fields(field_name)
12
- self.class_eval do
13
- serialize field_name, Array
11
+ module ClassMethods
12
+ def dynamic_fields(field_name)
13
+ self.class_eval do
14
+ serialize field_name, Array
15
+ end
14
16
  end
15
17
  end
16
- end
17
18
 
18
- def self.included(base)
19
- base.extend ClassMethods
20
- end
19
+ def self.included(base)
20
+ base.extend ClassMethods
21
+ end
21
22
 
22
- def validate_dynamic_fields
23
- self.fields.each do |field|
24
- self.errors.add(:fields, field.errors) unless field.valid?
23
+ def validate_dynamic_fields
24
+ self.fields.each do |field|
25
+ self.errors.add(:fields, field.errors) unless field.valid?
26
+ end
25
27
  end
26
- end
27
28
 
28
- def field_errors
29
- self.fields.each_with_object({}) do |f, h|
30
- h.merge! f.field_errors
29
+ def field_errors
30
+ self.fields.each_with_object({}) do |f, h|
31
+ h.merge! f.field_errors
32
+ end
31
33
  end
32
- end
33
34
 
34
- def fields_metadata=(fields_metadata)
35
- self.fields = []
35
+ def fields_metadata=(fields_metadata)
36
+ self.fields = []
36
37
 
37
- fields_metadata.each do |field_metadata|
38
- self.fields << CustomFieldValue.new(:metadata => field_metadata)
38
+ fields_metadata.each do |field_metadata|
39
+ self.fields << CustomFieldValue.new(:metadata => field_metadata)
40
+ end
39
41
  end
40
- end
41
42
 
42
- def respond_to_missing?(sym, include_private = false)
43
- return super unless sym.match FIELD_NAME_PATTERN
43
+ def respond_to_missing?(sym, include_private = false)
44
+ return super unless sym.match FIELD_NAME_PATTERN
44
45
 
45
- field_name = $1
46
+ field_name = $1
46
47
 
47
- self.fields.find {|f| f.metadata.underscored_name == field_name}.present?
48
- end
48
+ self.fields.find {|f| f.metadata.underscored_name == field_name}.present?
49
+ end
49
50
 
50
- def method_missing(sym, *args, &block)
51
- return super unless sym.match FIELD_NAME_PATTERN
51
+ def method_missing(sym, *args, &block)
52
+ return super unless sym.match FIELD_NAME_PATTERN
52
53
 
53
- field_name = $1
54
- is_setter = $2.present?
55
- field = self.fields.find {|f| f.metadata.underscored_name == field_name} || CustomFieldValue.new
54
+ field_name = $1
55
+ is_setter = $2.present?
56
+ field = self.fields.find {|f| f.metadata.underscored_name == field_name} || CustomFieldValue.new
56
57
 
57
- if is_setter
58
- field.value = args.first
59
- else
60
- field.value
58
+ if is_setter
59
+ field.value = args.first
60
+ else
61
+ field.value
62
+ end
61
63
  end
62
- end
63
64
 
64
- def attributes=(attrs)
65
- field_attributes = attrs.delete('fields') {{}}
65
+ def attributes=(attrs)
66
+ field_attributes = attrs.delete('fields') {{}}
66
67
 
67
- fields.each do |field|
68
- field.set_value_from_attributes field_attributes
69
- fields_will_change! if field.changed?
70
- end
68
+ fields.each do |field|
69
+ field.set_value_from_attributes field_attributes
70
+ fields_will_change! if field.changed?
71
+ end
71
72
 
72
- super
73
+ super
74
+ end
73
75
  end
74
76
  end
@@ -1,3 +1,3 @@
1
1
  module Dynamo
2
- VERSION = "0.0.1"
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-10-02 00:00:00.000000000 Z
13
+ date: 2012-10-18 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: ''
16
16
  email: support@chirrpy.com