natural_born_slugger 0.2.4 → 0.2.5
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 572abcdee0ca8c5067940e7b16abe64ab37128f7
|
4
|
+
data.tar.gz: e28d18631f7f0437332ce4f506e69151480429e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d912737313cb81f51379a808eb7758eaeff6ddfb86d49153907a1865e07ef6037dbc446d58807ad2c1947ee89be2eca1b82e4dabc7e51c77290789076445d4f4
|
7
|
+
data.tar.gz: 870b9fc29b4698d00ab1c2fb64d7678eba222b2e5595e33c44c5e2fc07045a7d2803df0ed9b5c8bdb19217b9b4bd7e6e3461bf62b4931bd01fca145a5ab00291
|
@@ -88,24 +88,15 @@ module NaturalBornSlugger
|
|
88
88
|
klass.composite_attributes ||= {}
|
89
89
|
klass.composite_attributes[@name] = self
|
90
90
|
|
91
|
-
# Define instance attribute getter
|
91
|
+
# Define instance attribute getter: calls setter
|
92
92
|
klass.send :define_method, @name do
|
93
|
-
name = __method__
|
94
|
-
self.send "update_#{name}"
|
95
|
-
end
|
96
|
-
|
97
|
-
# Define instance attribute setter: ignores assignment and just triggers an update
|
98
|
-
klass.send :define_method, "#{@name}=" do |value|
|
99
|
-
name = __method__.to_s.gsub '=', ''
|
100
|
-
self.send "update_#{name}"
|
101
|
-
end
|
102
|
-
|
103
|
-
# Update instance attribute
|
104
|
-
klass.send :define_method, "update_#{@name}" do
|
105
|
-
name = __method__.to_s.gsub 'update_', ''
|
93
|
+
name = __method__.to_s
|
106
94
|
composer = self.class.composite_attributes[name]
|
107
95
|
old_value = self.instance_variable_get("@#{name}")
|
108
96
|
new_value = composer.evaluate(self)
|
97
|
+
if self.respond_to? "#{name}=".to_sym
|
98
|
+
new_value = self.send "#{name}=".to_sym, new_value
|
99
|
+
end
|
109
100
|
self.instance_variable_set("@#{name}", new_value)
|
110
101
|
composer.callback(self, old_value, new_value)
|
111
102
|
new_value
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: natural_born_slugger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Keele
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
name: activesupport
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '3.1'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '3.1'
|
111
111
|
description: A gem for managing composed attributes, especially natural keys and url
|