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