Skip to content

Commit

Permalink
Merge pull request #36 from kyledecot/kd-factory-not-registered
Browse files Browse the repository at this point in the history
Refactor FactoryNotRegistered
  • Loading branch information
Kyle Decot committed Jul 4, 2019
2 parents 4afd175 + 008abbc commit 1e11c3f
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions lib/app_store_connect/factory.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

module AppStoreConnect
class Factory
BuilderNotRegistered = Class.new(StandardError)
class BuilderNotRegistered < StandardError
def initialize(name)
super("Builder not registered: #{name}")
end
end

def self.register(name, builder)
builders[name] = builder
Expand All @@ -13,11 +17,9 @@ def self.builders
end

def self.build(name, options = {})
builder = builders[name]

raise BuilderNotRegistered, "Builder not registered: #{name}" if builder.nil?

builder.call(options)
builders.fetch(name) do
raise BuilderNotRegistered, name
end.call(options)
end
end
end

0 comments on commit 1e11c3f

Please sign in to comment.