lib/wikipedia/configuration.rb in wikipedia-client-1.14.0 vs lib/wikipedia/configuration.rb in wikipedia-client-1.15.0
- old
+ new
@@ -1,22 +1,29 @@
-require 'singleton'
-
module Wikipedia
class Configuration
- include Singleton
+ DEFAULT = {
+ protocol: 'https',
+ domain: 'en.wikipedia.org',
+ path: 'w/api.php',
+ user_agent: 'wikipedia-client/1.7 (https://github.com/kenpratt/wikipedia-client)'
+ }.freeze
+ def initialize(configuration = DEFAULT)
+ DEFAULT.merge(configuration).each { |args| send(*args) }
+ end
+
+ def [](directive)
+ send(directive)
+ end
+
def self.directives(*directives)
directives.each do |directive|
define_method directive do |*args|
return instance_variable_get("@#{directive}") if args.empty?
instance_variable_set("@#{directive}", args.first)
end
end
- end
-
- def self.[](directive)
- instance.send(directive)
end
directives :protocol, :domain, :path, :user_agent
end
end