Skip to content

Commit

Permalink
Do not double add keys when using overrides
Browse files Browse the repository at this point in the history
  • Loading branch information
WilliamMcCumstie committed May 7, 2020
1 parent b40d7d2 commit 39e9d6f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions lib/flight_asset/config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,14 @@ def conversions

def config(key, &b)
sym = key.to_sym
self.keys << sym
KeyDSL.new(self, sym).tap { |k| k.instance_exec(&b) } if b
define_method(sym) { self[sym] }
define_method(:"#{sym}!") do
value = self[sym]
value.nil? ? self.class.conversions[key].call(nil) : value
unless self.keys.include?(key)
self.keys << sym
define_method(sym) { self[sym] }
define_method(:"#{sym}!") do
value = self[sym]
value.nil? ? self.class.conversions[key].call(nil) : value
end
end
end

Expand Down
2 changes: 1 addition & 1 deletion lib/flight_asset/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
#==============================================================================

module FlightAsset
VERSION = '0.3.2'
VERSION = '0.3.3'
end

0 comments on commit 39e9d6f

Please sign in to comment.